From 98805c1d83c946bf5a2f6071957e0967cf567dfe Mon Sep 17 00:00:00 2001 From: Ivan Smolin Date: Thu, 27 Apr 2017 20:12:20 +0300 Subject: [PATCH 1/6] refactor project structure. add iOS, watchOS and tvOS targets and tests --- LeadKit.podspec | 101 +- LeadKit/LeadKit.xcodeproj/project.pbxproj | 3231 ++++++++++++----- .../xcshareddata/xcschemes/LeadKit.xcscheme | 99 - LeadKit/LeadKit/iOS.playground/Contents.swift | 3 - LeadKit/Podfile | 60 +- LeadKit/Podfile.lock | 12 +- .../Classes/Concurrency/Mutex.swift | 0 .../Classes/Cursors/FixedPageCursor.swift | 0 .../Classes/Cursors/MapCursor.swift | 0 .../Classes/Cursors/StaticCursor.swift | 0 .../Classes/Logging/App.swift | 0 .../Classes/Logging/Log.swift | 0 .../Classes/Logging/LogFormatter.swift | 0 .../PaginationTableViewWrapper.swift | 0 .../Pagination/PaginationViewModel.swift | 0 .../Classes/Services/NetworkService.swift | 58 +- .../Classes/Views/XibView.swift | 0 .../Enums/CursorError.swift | 0 .../Enums/LeadKitError.swift | 0 .../Enums/ResizeContentMode.swift | 0 .../AlamofireManager+Extensions.swift | 0 .../AlamofireRequest+Extensions.swift | 8 +- .../CGContext/CGContext+Initializers.swift | 0 .../Extensions/CGFloat/CGFloat+Pixels.swift | 0 .../Extensions/CGImage/CGImage+Alpha.swift | 0 .../Extensions/CGImage/CGImage+Crop.swift | 0 .../CGSize/CGSize+CGContextSize.swift | 0 .../Extensions/CGSize/CGSize+Resize.swift | 0 .../CursorType/CursorType+Slice.swift | 0 .../Extensions/Double/Double+Rounding.swift | 0 .../IndexPath+ImmutableIndexPath.swift | 0 .../NetworkService+ActivityIndicator.swift | 34 + ...ImmutableMappable+ObservableMappable.swift | 0 .../Observable/Observable+DeferredJust.swift | 0 .../Observable+ToastErrorLogging.swift | 0 ...rapperDelegate+DefaultImplementation.swift | 0 .../Sequence/Sequence+ConcurrentMap.swift | 0 .../StoryboardProtocol+DefaultBundle.swift | 2 +- .../StoryboardProtocol+Extensions.swift | 0 .../Extensions/String/String+Extensions.swift | 0 .../String/String+Localization.swift | 0 .../String/String+SizeCalculation.swift | 0 .../Support/UIScrollView+Support.swift | 0 .../TableDirector+Extensions.swift | 0 .../TimeInterval+DateComponents.swift | 0 ...UIActivityIndicator+LoadingIndicator.swift | 0 .../UICollectionView+CellRegistration.swift | 0 .../Extensions/UIColor/UIColor+Hex.swift | 0 .../UIDevice/UIDevice+Extensions.swift | 0 .../UIImage/UIImage+Extensions.swift | 4 +- .../UIImage/UIImage+SupportExtensions.swift | 0 ...Storyboard+InstantiateViewController.swift | 0 .../UIView+DefaultReuseIdentifier.swift | 0 .../UIView/UIView+DefaultXibName.swift | 0 .../UIView/UIView+LoadFromNib.swift | 0 .../UIView/UIView+LoadingIndicator.swift | 0 .../Extensions/UIView/UIView+Rotation.swift | 0 ...ewController+ConfigurableController.swift} | 25 +- ...ntroller+DefaultStoryboardIdentifier.swift | 0 .../UIViewController+DefaultXibName.swift | 0 ...wController+TopVisibleViewController.swift | 0 .../UIWindow/UIWindow+Extensions.swift | 13 +- .../UserDefaults+MappableDataTypes.swift | 0 .../Functions/Any+Cast.swift | 0 .../Functions/Any+TypeName.swift | 0 .../Info-iOS-Extensions.plist} | 4 +- LeadKit/Sources/Info-iOS.plist | 24 + LeadKit/Sources/Info-tvOS.plist | 24 + LeadKit/Sources/Info-watchOS.plist | 24 + LeadKit/{LeadKit => Sources}/LeadKit.h | 0 LeadKit/Sources/Protocols/Animatable.swift | 33 + .../Protocols/BaseViewModel.swift | 0 .../Protocols/ConfigurableController.swift | 43 + .../Protocols/CursorType.swift | 0 .../Protocols/DrawingOperation.swift | 0 .../EstimatedViewHeightProtocol.swift | 0 .../Protocols/LoadingIndicator.swift} | 10 - .../Protocols/ModuleConfigurator.swift | 0 .../Protocols/ObservableMappable.swift | 0 .../Protocols/ResettableType.swift | 0 .../Protocols/ReuseIdentifierProtocol.swift | 0 .../StaticEstimatedViewHeightProtocol.swift | 0 .../Protocols/StaticViewHeightProtocol.swift | 0 .../StoryboardIdentifierProtocol.swift | 0 .../Protocols/StoryboardProtocol.swift | 0 .../Protocols/SupportProtocol.swift | 0 .../Protocols/ViewHeightProtocol.swift | 0 .../Protocols/ViewModelProtocol.swift | 0 .../Protocols/XibNameProtocol.swift | 0 .../Structures/Api/ApiRequestParameters.swift | 0 .../BorderDrawingOperation.swift | 0 .../CALayerDrawingOperation.swift | 0 .../ImageDrawingOperation.swift | 0 .../PaddingDrawingOperation.swift | 0 .../ResizeDrawingOperation.swift | 0 .../RoundDrawingOperation.swift | 0 .../SolidFillDrawingOperation.swift | 0 .../TemplateDrawingOperation.swift | 0 .../Views/AnyLoadingIndicator.swift | 0 .../{LeadKitTests => Tests}/CursorTests.swift | 0 .../Cursors/StubCursor.swift | 0 .../Info-iOS-Extensions.plist} | 2 - LeadKit/Tests/Info-iOS.plist | 22 + LeadKit/Tests/Info-tvOS.plist | 22 + .../LoadFromNibTests.swift | 0 .../MappableUserDefaultsTests.swift | 0 .../{LeadKitTests => Tests}/Models/Post.swift | 0 .../PaginationViewModelTests.swift | 0 .../Views/TestView.swift | 0 .../Views/TestView.xib | 0 LeadKit/iOS.playground/Contents.swift | 3 + .../iOS.playground/contents.xcplayground | 0 112 files changed, 2763 insertions(+), 1098 deletions(-) delete mode 100644 LeadKit/LeadKit.xcodeproj/xcshareddata/xcschemes/LeadKit.xcscheme delete mode 100644 LeadKit/LeadKit/iOS.playground/Contents.swift rename LeadKit/{LeadKit => Sources}/Classes/Concurrency/Mutex.swift (100%) rename LeadKit/{LeadKit => Sources}/Classes/Cursors/FixedPageCursor.swift (100%) rename LeadKit/{LeadKit => Sources}/Classes/Cursors/MapCursor.swift (100%) rename LeadKit/{LeadKit => Sources}/Classes/Cursors/StaticCursor.swift (100%) rename LeadKit/{LeadKit => Sources}/Classes/Logging/App.swift (100%) rename LeadKit/{LeadKit => Sources}/Classes/Logging/Log.swift (100%) rename LeadKit/{LeadKit => Sources}/Classes/Logging/LogFormatter.swift (100%) rename LeadKit/{LeadKit => Sources}/Classes/Pagination/PaginationTableViewWrapper.swift (100%) rename LeadKit/{LeadKit => Sources}/Classes/Pagination/PaginationViewModel.swift (100%) rename LeadKit/{LeadKit => Sources}/Classes/Services/NetworkService.swift (71%) rename LeadKit/{LeadKit => Sources}/Classes/Views/XibView.swift (100%) rename LeadKit/{LeadKit => Sources}/Enums/CursorError.swift (100%) rename LeadKit/{LeadKit => Sources}/Enums/LeadKitError.swift (100%) rename LeadKit/{LeadKit => Sources}/Enums/ResizeContentMode.swift (100%) rename LeadKit/{LeadKit => Sources}/Extensions/Alamofire/AlamofireManager+Extensions.swift (100%) rename LeadKit/{LeadKit => Sources}/Extensions/Alamofire/AlamofireRequest+Extensions.swift (96%) rename LeadKit/{LeadKit => Sources}/Extensions/CGContext/CGContext+Initializers.swift (100%) rename LeadKit/{LeadKit => Sources}/Extensions/CGFloat/CGFloat+Pixels.swift (100%) rename LeadKit/{LeadKit => Sources}/Extensions/CGImage/CGImage+Alpha.swift (100%) rename LeadKit/{LeadKit => Sources}/Extensions/CGImage/CGImage+Crop.swift (100%) rename LeadKit/{LeadKit => Sources}/Extensions/CGSize/CGSize+CGContextSize.swift (100%) rename LeadKit/{LeadKit => Sources}/Extensions/CGSize/CGSize+Resize.swift (100%) rename LeadKit/{LeadKit => Sources}/Extensions/CursorType/CursorType+Slice.swift (100%) rename LeadKit/{LeadKit => Sources}/Extensions/Double/Double+Rounding.swift (100%) rename LeadKit/{LeadKit => Sources}/Extensions/IndexPath/IndexPath+ImmutableIndexPath.swift (100%) create mode 100644 LeadKit/Sources/Extensions/NetworkService/NetworkService+ActivityIndicator.swift rename LeadKit/{LeadKit => Sources}/Extensions/ObjectMapper/ImmutableMappable+ObservableMappable.swift (100%) rename LeadKit/{LeadKit => Sources}/Extensions/Observable/Observable+DeferredJust.swift (100%) rename LeadKit/{LeadKit => Sources}/Extensions/Observable/Observable+ToastErrorLogging.swift (100%) rename LeadKit/{LeadKit => Sources}/Extensions/PaginationTableViewWrapperDelegate/PaginationTableViewWrapperDelegate+DefaultImplementation.swift (100%) rename LeadKit/{LeadKit => Sources}/Extensions/Sequence/Sequence+ConcurrentMap.swift (100%) rename LeadKit/{LeadKit => Sources}/Extensions/StoryboardProtocol/StoryboardProtocol+DefaultBundle.swift (98%) rename LeadKit/{LeadKit => Sources}/Extensions/StoryboardProtocol/StoryboardProtocol+Extensions.swift (100%) rename LeadKit/{LeadKit => Sources}/Extensions/String/String+Extensions.swift (100%) rename LeadKit/{LeadKit => Sources}/Extensions/String/String+Localization.swift (100%) rename LeadKit/{LeadKit => Sources}/Extensions/String/String+SizeCalculation.swift (100%) rename LeadKit/{LeadKit => Sources}/Extensions/Support/UIScrollView+Support.swift (100%) rename LeadKit/{LeadKit => Sources}/Extensions/TableDirector/TableDirector+Extensions.swift (100%) rename LeadKit/{LeadKit => Sources}/Extensions/TimeInterval/TimeInterval+DateComponents.swift (100%) rename LeadKit/{LeadKit => Sources}/Extensions/UIActivityIndicator/UIActivityIndicator+LoadingIndicator.swift (100%) rename LeadKit/{LeadKit => Sources}/Extensions/UICollectionView/UICollectionView+CellRegistration.swift (100%) rename LeadKit/{LeadKit => Sources}/Extensions/UIColor/UIColor+Hex.swift (100%) rename LeadKit/{LeadKit => Sources}/Extensions/UIDevice/UIDevice+Extensions.swift (100%) rename LeadKit/{LeadKit => Sources}/Extensions/UIImage/UIImage+Extensions.swift (99%) rename LeadKit/{LeadKit => Sources}/Extensions/UIImage/UIImage+SupportExtensions.swift (100%) rename LeadKit/{LeadKit => Sources}/Extensions/UIStoryboard/UIStoryboard+InstantiateViewController.swift (100%) rename LeadKit/{LeadKit => Sources}/Extensions/UIView/UIView+DefaultReuseIdentifier.swift (100%) rename LeadKit/{LeadKit => Sources}/Extensions/UIView/UIView+DefaultXibName.swift (100%) rename LeadKit/{LeadKit => Sources}/Extensions/UIView/UIView+LoadFromNib.swift (100%) rename LeadKit/{LeadKit => Sources}/Extensions/UIView/UIView+LoadingIndicator.swift (100%) rename LeadKit/{LeadKit => Sources}/Extensions/UIView/UIView+Rotation.swift (100%) rename LeadKit/{LeadKit/Protocols/ConfigurableController.swift => Sources/Extensions/UIViewController/UIViewController+ConfigurableController.swift} (77%) rename LeadKit/{LeadKit => Sources}/Extensions/UIViewController/UIViewController+DefaultStoryboardIdentifier.swift (100%) rename LeadKit/{LeadKit => Sources}/Extensions/UIViewController/UIViewController+DefaultXibName.swift (100%) rename LeadKit/{LeadKit => Sources}/Extensions/UIViewController/UIViewController+TopVisibleViewController.swift (100%) rename LeadKit/{LeadKit => Sources}/Extensions/UIWindow/UIWindow+Extensions.swift (88%) rename LeadKit/{LeadKit => Sources}/Extensions/UserDefaults/UserDefaults+MappableDataTypes.swift (100%) rename LeadKit/{LeadKit => Sources}/Functions/Any+Cast.swift (100%) rename LeadKit/{LeadKit => Sources}/Functions/Any+TypeName.swift (100%) rename LeadKit/{LeadKit/Info.plist => Sources/Info-iOS-Extensions.plist} (90%) create mode 100644 LeadKit/Sources/Info-iOS.plist create mode 100644 LeadKit/Sources/Info-tvOS.plist create mode 100644 LeadKit/Sources/Info-watchOS.plist rename LeadKit/{LeadKit => Sources}/LeadKit.h (100%) create mode 100644 LeadKit/Sources/Protocols/Animatable.swift rename LeadKit/{LeadKit => Sources}/Protocols/BaseViewModel.swift (100%) create mode 100644 LeadKit/Sources/Protocols/ConfigurableController.swift rename LeadKit/{LeadKit => Sources}/Protocols/CursorType.swift (100%) rename LeadKit/{LeadKit => Sources}/Protocols/DrawingOperation.swift (100%) rename LeadKit/{LeadKit => Sources}/Protocols/EstimatedViewHeightProtocol.swift (100%) rename LeadKit/{LeadKit/Protocols/LoadingIndicatorProtocol.swift => Sources/Protocols/LoadingIndicator.swift} (85%) rename LeadKit/{LeadKit => Sources}/Protocols/ModuleConfigurator.swift (100%) rename LeadKit/{LeadKit => Sources}/Protocols/ObservableMappable.swift (100%) rename LeadKit/{LeadKit => Sources}/Protocols/ResettableType.swift (100%) rename LeadKit/{LeadKit => Sources}/Protocols/ReuseIdentifierProtocol.swift (100%) rename LeadKit/{LeadKit => Sources}/Protocols/StaticEstimatedViewHeightProtocol.swift (100%) rename LeadKit/{LeadKit => Sources}/Protocols/StaticViewHeightProtocol.swift (100%) rename LeadKit/{LeadKit => Sources}/Protocols/StoryboardIdentifierProtocol.swift (100%) rename LeadKit/{LeadKit => Sources}/Protocols/StoryboardProtocol.swift (100%) rename LeadKit/{LeadKit => Sources}/Protocols/SupportProtocol.swift (100%) rename LeadKit/{LeadKit => Sources}/Protocols/ViewHeightProtocol.swift (100%) rename LeadKit/{LeadKit => Sources}/Protocols/ViewModelProtocol.swift (100%) rename LeadKit/{LeadKit => Sources}/Protocols/XibNameProtocol.swift (100%) rename LeadKit/{LeadKit => Sources}/Structures/Api/ApiRequestParameters.swift (100%) rename LeadKit/{LeadKit => Sources}/Structures/DrawingOperations/BorderDrawingOperation.swift (100%) rename LeadKit/{LeadKit => Sources}/Structures/DrawingOperations/CALayerDrawingOperation.swift (100%) rename LeadKit/{LeadKit => Sources}/Structures/DrawingOperations/ImageDrawingOperation.swift (100%) rename LeadKit/{LeadKit => Sources}/Structures/DrawingOperations/PaddingDrawingOperation.swift (100%) rename LeadKit/{LeadKit => Sources}/Structures/DrawingOperations/ResizeDrawingOperation.swift (100%) rename LeadKit/{LeadKit => Sources}/Structures/DrawingOperations/RoundDrawingOperation.swift (100%) rename LeadKit/{LeadKit => Sources}/Structures/DrawingOperations/SolidFillDrawingOperation.swift (100%) rename LeadKit/{LeadKit => Sources}/Structures/DrawingOperations/TemplateDrawingOperation.swift (100%) rename LeadKit/{LeadKit => Sources}/Structures/Views/AnyLoadingIndicator.swift (100%) rename LeadKit/{LeadKitTests => Tests}/CursorTests.swift (100%) rename LeadKit/{LeadKitTests => Tests}/Cursors/StubCursor.swift (100%) rename LeadKit/{LeadKitTests/Info.plist => Tests/Info-iOS-Extensions.plist} (92%) create mode 100644 LeadKit/Tests/Info-iOS.plist create mode 100644 LeadKit/Tests/Info-tvOS.plist rename LeadKit/{LeadKitTests => Tests}/LoadFromNibTests.swift (100%) rename LeadKit/{LeadKitTests => Tests}/MappableUserDefaultsTests.swift (100%) rename LeadKit/{LeadKitTests => Tests}/Models/Post.swift (100%) rename LeadKit/{LeadKitTests => Tests}/PaginationViewModelTests.swift (100%) rename LeadKit/{LeadKitTests => Tests}/Views/TestView.swift (100%) rename LeadKit/{LeadKitTests => Tests}/Views/TestView.xib (100%) create mode 100644 LeadKit/iOS.playground/Contents.swift rename LeadKit/{LeadKit => }/iOS.playground/contents.xcplayground (100%) diff --git a/LeadKit.podspec b/LeadKit.podspec index 87391000..7eef1229 100644 --- a/LeadKit.podspec +++ b/LeadKit.podspec @@ -5,16 +5,97 @@ Pod::Spec.new do |s| s.homepage = "https://github.com/TouchInstinct/LeadKit" s.license = "Apache License, Version 2.0" s.author = "Touch Instinct" - s.platform = :ios, "9.0" s.source = { :git => "https://github.com/TouchInstinct/LeadKit.git", :tag => s.version } - s.source_files = "LeadKit/LeadKit/**/*.swift" + s.platform = :ios, '9.0' + + s.subspec 'UIColorHex' do |ss| + ss.ios.deployment_target = '8.0' + ss.tvos.deployment_target = '9.0' + ss.watchos.deployment_target = '2.0' + + ss.source_files = "LeadKit/LeadKit/Sources/Extensions/UIColor/UIColor+Hex.swift" + end + + s.subspec 'Drawing' do |ss| + ss.ios.deployment_target = '8.0' + ss.tvos.deployment_target = '9.0' + ss.watchos.deployment_target = '2.0' + + ss.source_files = [ + "LeadKit/LeadKit/Sources/Enums/ResizeContentMode.swift", + "LeadKit/LeadKit/Sources/Extensions/{CGContext,CGImage,CGSize,UIImage}/*", + "LeadKit/LeadKit/Sources/Protocols/{DrawingOperation,SupportProtocol}.swift", + "LeadKit/LeadKit/Sources/Structures/Drawing/*", + ] + ss.watchos.exclude_files = "LeadKit/LeadKit/Sources/Structures/Drawing/CALayerDrawingOperation.swift" + end + + s.subspec 'Core' do |ss| + ss.ios.deployment_target = '9.0' + ss.tvos.deployment_target = '9.0' + ss.watchos.deployment_target = '2.0' + + ss.source_files = "LeadKit/LeadKit/Sources/**/*.swift" + ss.watchos.exclude_files = [ + "LeadKit/LeadKit/Sources/Classes/Pagination/PaginationTableViewWrapperDelegate.swift", + "LeadKit/LeadKit/Sources/Classes/View/XibView.swift", + "LeadKit/LeadKit/Sources/Extensions/CGFloat/CGFloat+Pixels.swift", + "LeadKit/LeadKit/Sources/Extensions/NetworkService/NetworkService+ActivityIndicator.swift", + "LeadKit/LeadKit/Sources/Extensions/PaginationTableViewWrapperDelegate/PaginationTableViewWrapperDelegate+DefaultImplementation.swift", + "LeadKit/LeadKit/Sources/Extensions/StoryboardProtocol/*", + "LeadKit/LeadKit/Sources/Extensions/Support/UIScrollView+Support.swift", + "LeadKit/LeadKit/Sources/Extensions/TableDirector/TableDirector+Extensions.swift", + "LeadKit/LeadKit/Sources/Extensions/UIActivityIndicator/UIActivityIndicator+LoadingIndicator.swift", + "LeadKit/LeadKit/Sources/Extensions/UICollectionView/*", + "LeadKit/LeadKit/Sources/Extensions/UIDevice/*", + "LeadKit/LeadKit/Sources/Extensions/UIImage/*", + "LeadKit/LeadKit/Sources/Extensions/UIStoryboard/*", + "LeadKit/LeadKit/Sources/Extensions/UIView/*", + "LeadKit/LeadKit/Sources/Extensions/UIViewController/*", + "LeadKit/LeadKit/Sources/Extensions/UIWindow/*", + "LeadKit/LeadKit/Sources/Protocols/LoadingIndicator.swift", + "LeadKit/LeadKit/Sources/Protocols/StoryboardProtocol.swift", + "LeadKit/LeadKit/Sources/Structures/Views/AnyLoadingIndicator.swift", + "LeadKit/LeadKit/Sources/Structures/DrawingOperations/CALayerDrawingOperation.swift", + ] + ss.tvos.exclude_files = [ + "LeadKit/LeadKit/Sources/Structures/Drawing/CALayerDrawingOperation.swift", + "LeadKit/LeadKit/Sources/Extensions/NetworkService/NetworkService+ActivityIndicator.swift", + "LeadKit/LeadKit/Sources/Extensions/PaginationTableViewWrapperDelegate/PaginationTableViewWrapperDelegate+DefaultImplementation.swift", + "LeadKit/LeadKit/Sources/Extensions/Support/UIScrollView+Support.swift", + "LeadKit/LeadKit/Sources/Extensions/TableDirector/TableDirector+Extensions.swift", + ] + + ss.dependency "CocoaLumberjack/Swift", '~> 3.1.0' + ss.dependency "RxSwift", '3.2.0' + ss.dependency "RxCocoa", '3.2.0' + ss.dependency "RxAlamofire", '3.0.0' + ss.dependency "ObjectMapper", '~> 2.1' + + ss.ios.dependency "Toast-Swift", '~> 2.0.0' + ss.ios.dependency "TableKit", '~> 2.3.1' + ss.ios.dependency "UIScrollView-InfiniteScroll", '~> 1.0.0' + end + + s.subspec 'Core-iOS-Extension' do |ss| + ss.platform = :ios, '9.0' + + ss.source_files = "LeadKit/LeadKit/Sources/**/*.swift" + + ss.exclude_files = [ + "LeadKit/LeadKit/Sources/Classes/Pagination/PaginationTableViewWrapperDelegate.swift", + "LeadKit/LeadKit/Sources/Extensions/NetworkService/NetworkService+ActivityIndicator.swift", + "LeadKit/LeadKit/Sources/Extensions/PaginationTableViewWrapperDelegate/PaginationTableViewWrapperDelegate+DefaultImplementation.swift", + "LeadKit/LeadKit/Sources/Extensions/TableDirector/TableDirector+Extensions.swift", + ] + + ss.dependency "CocoaLumberjack/Swift", '~> 3.1.0' + ss.dependency "RxSwift", '3.2.0' + ss.dependency "RxCocoa", '3.2.0' + ss.dependency "RxAlamofire", '3.0.0' + ss.dependency "ObjectMapper", '~> 2.1' + end + + s.default_subspec = 'Core' - s.dependency "CocoaLumberjack/Swift", '~> 3.1.0' - s.dependency "RxSwift", '3.2.0' - s.dependency "RxCocoa", '3.2.0' - s.dependency "RxAlamofire", '3.0.0' - s.dependency "ObjectMapper", '~> 2.1' - s.dependency "Toast-Swift", '~> 2.0.0' - s.dependency "TableKit", '~> 2.3.1' - s.dependency "UIScrollView-InfiniteScroll", '~> 1.0.0' end diff --git a/LeadKit/LeadKit.xcodeproj/project.pbxproj b/LeadKit/LeadKit.xcodeproj/project.pbxproj index 7e06260f..badea439 100644 --- a/LeadKit/LeadKit.xcodeproj/project.pbxproj +++ b/LeadKit/LeadKit.xcodeproj/project.pbxproj @@ -7,542 +7,1078 @@ objects = { /* Begin PBXBuildFile section */ - 67186B181EB1DC0500CFAFFB /* ResizeDrawingOperation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67186B171EB1DC0500CFAFFB /* ResizeDrawingOperation.swift */; }; - 6727419D1E65B99E0075836A /* MappableUserDefaultsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6727419C1E65B99E0075836A /* MappableUserDefaultsTests.swift */; }; - 672741A01E65C1E00075836A /* Post.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6727419F1E65C1E00075836A /* Post.swift */; }; - 674743941E929A5A00B47671 /* PaginationViewModelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 674743931E929A5A00B47671 /* PaginationViewModelTests.swift */; }; - 674E7E651EB0F2E300D13340 /* UIImage+SupportExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 674E7E641EB0F2E300D13340 /* UIImage+SupportExtensions.swift */; }; - 675D24B21E9234BB00E92D1F /* PaginationViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 675D24B11E9234BB00E92D1F /* PaginationViewModel.swift */; }; - 675FB4251EA7797C0075BF3D /* Mutex.swift in Sources */ = {isa = PBXBuildFile; fileRef = 675FB4241EA7797C0075BF3D /* Mutex.swift */; }; - 676D177E1EAE0661002E19F9 /* ResizeContentMode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 676D177D1EAE0661002E19F9 /* ResizeContentMode.swift */; }; - 676D17811EAE137B002E19F9 /* CGSize+Resize.swift in Sources */ = {isa = PBXBuildFile; fileRef = 676D17801EAE137B002E19F9 /* CGSize+Resize.swift */; }; - 67788F9F1E69661800484DEE /* CGFloat+Pixels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67788F9E1E69661800484DEE /* CGFloat+Pixels.swift */; }; - 678A202A1E93C1A900787562 /* PaginationTableViewWrapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 678A20291E93C1A900787562 /* PaginationTableViewWrapper.swift */; }; - 679DE4901E9588B6006F25FE /* SupportProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 679DE48F1E9588B6006F25FE /* SupportProtocol.swift */; }; - 679DE4941E9613ED006F25FE /* UIScrollView+Support.swift in Sources */ = {isa = PBXBuildFile; fileRef = 679DE4931E9613ED006F25FE /* UIScrollView+Support.swift */; }; - 67A7B1911EAF5F4900E5BC59 /* ImageDrawingOperation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67A7B1901EAF5F4900E5BC59 /* ImageDrawingOperation.swift */; }; - 67A7B1931EAF5F6A00E5BC59 /* TemplateDrawingOperation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67A7B1921EAF5F6A00E5BC59 /* TemplateDrawingOperation.swift */; }; - 67A7B1951EAF5F9B00E5BC59 /* CGSize+CGContextSize.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67A7B1941EAF5F9B00E5BC59 /* CGSize+CGContextSize.swift */; }; - 67A7B1971EAF5FF600E5BC59 /* DrawingOperation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67A7B1961EAF5FF600E5BC59 /* DrawingOperation.swift */; }; - 67A7B1991EAF602900E5BC59 /* RoundDrawingOperation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67A7B1981EAF602900E5BC59 /* RoundDrawingOperation.swift */; }; - 67A7B19B1EAF60B100E5BC59 /* BorderDrawingOperation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67A7B19A1EAF60B100E5BC59 /* BorderDrawingOperation.swift */; }; - 67A7B19F1EAF646400E5BC59 /* PaddingDrawingOperation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67A7B19E1EAF646400E5BC59 /* PaddingDrawingOperation.swift */; }; - 67A7B1A11EAF67AE00E5BC59 /* SolidFillDrawingOperation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67A7B1A01EAF67AE00E5BC59 /* SolidFillDrawingOperation.swift */; }; - 67A7B1A31EAF6B4600E5BC59 /* CALayerDrawingOperation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67A7B1A21EAF6B4600E5BC59 /* CALayerDrawingOperation.swift */; }; - 67B3057B1E8A8727008169CA /* TestView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 67B3057A1E8A8727008169CA /* TestView.xib */; }; - 67B3057D1E8A8735008169CA /* TestView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67B3057C1E8A8735008169CA /* TestView.swift */; }; - 67B3057F1E8A8804008169CA /* LoadFromNibTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67B3057E1E8A8804008169CA /* LoadFromNibTests.swift */; }; - 67B305841E8A92E8008169CA /* XibView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67B305831E8A92E8008169CA /* XibView.swift */; }; - 67B856E31E923BE600F54304 /* ResettableType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67B856E21E923BE600F54304 /* ResettableType.swift */; }; - 67DC65041E979B34002F2FFF /* LoadingIndicatorProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67DC65031E979B34002F2FFF /* LoadingIndicatorProtocol.swift */; }; - 67DC65061E979B70002F2FFF /* UIView+LoadingIndicator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67DC65051E979B70002F2FFF /* UIView+LoadingIndicator.swift */; }; - 67DC65091E979BB8002F2FFF /* UIActivityIndicator+LoadingIndicator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67DC65081E979BB8002F2FFF /* UIActivityIndicator+LoadingIndicator.swift */; }; - 67DC650C1E979C0A002F2FFF /* AnyLoadingIndicator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67DC650B1E979C0A002F2FFF /* AnyLoadingIndicator.swift */; }; - 67DC650F1E979D0C002F2FFF /* PaginationTableViewWrapperDelegate+DefaultImplementation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67DC650E1E979D0C002F2FFF /* PaginationTableViewWrapperDelegate+DefaultImplementation.swift */; }; - 67EF144C1E8BEACB00D6E0DD /* StubCursor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67EF144B1E8BEACB00D6E0DD /* StubCursor.swift */; }; - 67EF144E1E8BED4E00D6E0DD /* CursorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67EF144D1E8BED4E00D6E0DD /* CursorTests.swift */; }; - 78011A641D47ABC500EA16A2 /* UIView+DefaultReuseIdentifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78011A631D47ABC500EA16A2 /* UIView+DefaultReuseIdentifier.swift */; }; - 78011AB31D48B53600EA16A2 /* ApiRequestParameters.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78011AB21D48B53600EA16A2 /* ApiRequestParameters.swift */; }; - 780D23431DA412470084620D /* CGImage+Alpha.swift in Sources */ = {isa = PBXBuildFile; fileRef = 780D23421DA412470084620D /* CGImage+Alpha.swift */; }; - 780D23461DA416F80084620D /* CGContext+Initializers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 780D23451DA416F80084620D /* CGContext+Initializers.swift */; }; - 780F56CA1E0D76B8004530B6 /* Sequence+ConcurrentMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = 780F56C91E0D76B8004530B6 /* Sequence+ConcurrentMap.swift */; }; - 780F56CC1E0D7ACA004530B6 /* ObservableMappable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 780F56CB1E0D7ACA004530B6 /* ObservableMappable.swift */; }; - 7834236A1DB8D0E100A79643 /* StoryboardProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 783423691DB8D0E100A79643 /* StoryboardProtocol.swift */; }; - 7837F60F1CBCF5C0000D74C1 /* EstimatedViewHeightProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7837F60E1CBCF5C0000D74C1 /* EstimatedViewHeightProtocol.swift */; }; - 783AF06B1E41CE6C00EC5ADE /* Observable+ToastErrorLogging.swift in Sources */ = {isa = PBXBuildFile; fileRef = 783AF06A1E41CE6C00EC5ADE /* Observable+ToastErrorLogging.swift */; }; - 783AF06D1E41CF5B00EC5ADE /* NetworkService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 783AF06C1E41CF5B00EC5ADE /* NetworkService.swift */; }; - 786D78E81D53C378006B2CEA /* AlamofireRequest+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 786D78E71D53C378006B2CEA /* AlamofireRequest+Extensions.swift */; }; - 786D78EC1D53C46E006B2CEA /* AlamofireManager+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 786D78EB1D53C46E006B2CEA /* AlamofireManager+Extensions.swift */; }; - 7873D14F1E1127BC001816EB /* LeadKitError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7873D14E1E1127BC001816EB /* LeadKitError.swift */; }; - 7873D1511E112B0D001816EB /* Any+Cast.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7873D1501E112B0D001816EB /* Any+Cast.swift */; }; - 78753E241DE58A5D006BC0FB /* CursorError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78753E231DE58A5D006BC0FB /* CursorError.swift */; }; - 78753E2C1DE58BF9006BC0FB /* StaticCursor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78753E2B1DE58BF9006BC0FB /* StaticCursor.swift */; }; - 78753E2E1DE58DBA006BC0FB /* FixedPageCursor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78753E2D1DE58DBA006BC0FB /* FixedPageCursor.swift */; }; - 78753E301DE594B4006BC0FB /* MapCursor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78753E2F1DE594B4006BC0FB /* MapCursor.swift */; }; - 787609221E1403830093CE36 /* Observable+DeferredJust.swift in Sources */ = {isa = PBXBuildFile; fileRef = 787609211E1403830093CE36 /* Observable+DeferredJust.swift */; }; - 787682FA1CAD40C300532AB3 /* StaticEstimatedViewHeightProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 787682F91CAD40C200532AB3 /* StaticEstimatedViewHeightProtocol.swift */; }; - 787783631CA03CA0001CDC9B /* IndexPath+ImmutableIndexPath.swift in Sources */ = {isa = PBXBuildFile; fileRef = 787783621CA03CA0001CDC9B /* IndexPath+ImmutableIndexPath.swift */; }; - 787783671CA04D4A001CDC9B /* String+SizeCalculation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 787783661CA04D4A001CDC9B /* String+SizeCalculation.swift */; }; - 787D874A1E10E1A400D6015C /* ImmutableMappable+ObservableMappable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 787D87491E10E1A400D6015C /* ImmutableMappable+ObservableMappable.swift */; }; - 7884DB9C1DC1439200E52A63 /* UserDefaults+MappableDataTypes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7884DB9B1DC1439200E52A63 /* UserDefaults+MappableDataTypes.swift */; }; - 788EC15A1CF64528009CFB6B /* UIStoryboard+InstantiateViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 788EC1591CF64528009CFB6B /* UIStoryboard+InstantiateViewController.swift */; }; - 789CC6081DE5835600F789D3 /* CursorType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 789CC6071DE5835600F789D3 /* CursorType.swift */; }; - 789CC60B1DE584F800F789D3 /* CursorType+Slice.swift in Sources */ = {isa = PBXBuildFile; fileRef = 789CC60A1DE584F800F789D3 /* CursorType+Slice.swift */; }; - 78A0FCC71DC366A10070B5E1 /* StoryboardProtocol+DefaultBundle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78A0FCC51DC366A10070B5E1 /* StoryboardProtocol+DefaultBundle.swift */; }; - 78A0FCC81DC366A10070B5E1 /* StoryboardProtocol+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78A0FCC61DC366A10070B5E1 /* StoryboardProtocol+Extensions.swift */; }; - 78A74EA91C6B373700FE9724 /* UIView+DefaultXibName.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78A74EA81C6B373700FE9724 /* UIView+DefaultXibName.swift */; }; - 78B036411DA4D7060021D5CC /* UIImage+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78B036401DA4D7060021D5CC /* UIImage+Extensions.swift */; }; - 78B0364B1DA61EDE0021D5CC /* CGImage+Crop.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78B0364A1DA61EDE0021D5CC /* CGImage+Crop.swift */; }; - 78B0FC7D1C6B2BE200358B64 /* LogFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78B0FC7C1C6B2BE200358B64 /* LogFormatter.swift */; }; - 78B0FC7F1C6B2C4D00358B64 /* Log.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78B0FC7E1C6B2C4D00358B64 /* Log.swift */; }; - 78B0FC811C6B2CD500358B64 /* App.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78B0FC801C6B2CD500358B64 /* App.swift */; }; - 78C36F7E1D801E3E00E7EBEA /* Double+Rounding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78C36F7D1D801E3E00E7EBEA /* Double+Rounding.swift */; }; - 78C36F811D8021DD00E7EBEA /* UIColor+Hex.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78C36F801D8021DD00E7EBEA /* UIColor+Hex.swift */; }; - 78C54AFD1E432EEF0051EFBA /* UIViewController+TopVisibleViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78C54AFC1E432EEF0051EFBA /* UIViewController+TopVisibleViewController.swift */; }; - 78CFEE2E1C5C456B00F50370 /* LeadKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 78CFEE2D1C5C456B00F50370 /* LeadKit.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 78CFEE351C5C456B00F50370 /* LeadKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 78CFEE2A1C5C456B00F50370 /* LeadKit.framework */; }; - 78CFEE541C5C45E500F50370 /* UIView+LoadFromNib.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78CFEE481C5C45E500F50370 /* UIView+LoadFromNib.swift */; }; - 78CFEE561C5C45E500F50370 /* ReuseIdentifierProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78CFEE4B1C5C45E500F50370 /* ReuseIdentifierProtocol.swift */; }; - 78CFEE571C5C45E500F50370 /* XibNameProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78CFEE4C1C5C45E500F50370 /* XibNameProtocol.swift */; }; - 78CFEE581C5C45E500F50370 /* StaticViewHeightProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78CFEE4D1C5C45E500F50370 /* StaticViewHeightProtocol.swift */; }; - 78CFEE591C5C45E500F50370 /* StoryboardIdentifierProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78CFEE4E1C5C45E500F50370 /* StoryboardIdentifierProtocol.swift */; }; - 78CFEE5A1C5C45E500F50370 /* ViewHeightProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78CFEE4F1C5C45E500F50370 /* ViewHeightProtocol.swift */; }; - 78CFEE5B1C5C45E500F50370 /* ViewModelProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78CFEE501C5C45E500F50370 /* ViewModelProtocol.swift */; }; - 78D4B5461DA64D49005B0764 /* UIViewController+DefaultStoryboardIdentifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78D4B5451DA64D49005B0764 /* UIViewController+DefaultStoryboardIdentifier.swift */; }; - 78D4B54A1DA64EAB005B0764 /* Any+TypeName.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78D4B5491DA64EAB005B0764 /* Any+TypeName.swift */; }; - 84C5A3307076B3D89F018CE8 /* Pods_LeadKitTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 95E457F1241D136396FC2420 /* Pods_LeadKitTests.framework */; }; - 95B39A861D9D51250057BD54 /* String+Localization.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95B39A851D9D51250057BD54 /* String+Localization.swift */; }; - AA85F7AE8EED4FF1691CAAB8 /* Pods_LeadKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 12F36034A5278991B658B53E /* Pods_LeadKit.framework */; }; - CA1FE7091E27D7DE00968901 /* UIDevice+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA1FE7081E27D7DE00968901 /* UIDevice+Extensions.swift */; }; - CA6196E11E9BDB5600C5889F /* UIWindow+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA6196DF1E9BDB5600C5889F /* UIWindow+Extensions.swift */; }; - CAA707D51E2E614E0022D732 /* ModuleConfigurator.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAA707D41E2E614E0022D732 /* ModuleConfigurator.swift */; }; - CAA707D71E2E616D0022D732 /* BaseViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAA707D61E2E616D0022D732 /* BaseViewModel.swift */; }; - CAA707D91E2E61A50022D732 /* ConfigurableController.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAA707D81E2E61A50022D732 /* ConfigurableController.swift */; }; - CAE698C21E965B47000394B0 /* TableDirector+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAE698C01E965B47000394B0 /* TableDirector+Extensions.swift */; }; - CAE698C61E96775F000394B0 /* String+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAE698C41E96775F000394B0 /* String+Extensions.swift */; }; - E126CBB31DB68DDA00E1B2F8 /* UICollectionView+CellRegistration.swift in Sources */ = {isa = PBXBuildFile; fileRef = E126CBB21DB68DDA00E1B2F8 /* UICollectionView+CellRegistration.swift */; }; - EDF3DE3F1EA4F2E80016F729 /* UIViewController+DefaultXibName.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDF3DE3E1EA4F2E80016F729 /* UIViewController+DefaultXibName.swift */; }; - EF2921A61E165DF400E8F43B /* TimeInterval+DateComponents.swift in Sources */ = {isa = PBXBuildFile; fileRef = EF2921A51E165DF400E8F43B /* TimeInterval+DateComponents.swift */; }; - EF5FB5691E0141610030E4BE /* UIView+Rotation.swift in Sources */ = {isa = PBXBuildFile; fileRef = EF5FB5681E0141610030E4BE /* UIView+Rotation.swift */; }; + 2D6A0E6105F4A9BF22BF4BB1 /* Pods_LeadKit_iOS_ExtensionsTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3C88ED8C9373F85C06697849 /* Pods_LeadKit_iOS_ExtensionsTests.framework */; }; + 2D96F18874B9519F5AD74003 /* Pods_LeadKit_LeadKit_tvOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0F8D0002B21A4F31981F1ED /* Pods_LeadKit_LeadKit_tvOS.framework */; }; + 3614FEACB9E8313C87F7C393 /* Pods_LeadKit_tvOSTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4DB1CCAB1EAAACD3AC42C795 /* Pods_LeadKit_tvOSTests.framework */; }; + 671462441EB3396E00EAB194 /* Mutex.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461C61EB3396E00EAB194 /* Mutex.swift */; }; + 671462451EB3396E00EAB194 /* Mutex.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461C61EB3396E00EAB194 /* Mutex.swift */; }; + 671462461EB3396E00EAB194 /* Mutex.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461C61EB3396E00EAB194 /* Mutex.swift */; }; + 671462471EB3396E00EAB194 /* Mutex.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461C61EB3396E00EAB194 /* Mutex.swift */; }; + 671462481EB3396E00EAB194 /* FixedPageCursor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461C81EB3396E00EAB194 /* FixedPageCursor.swift */; }; + 671462491EB3396E00EAB194 /* FixedPageCursor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461C81EB3396E00EAB194 /* FixedPageCursor.swift */; }; + 6714624A1EB3396E00EAB194 /* FixedPageCursor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461C81EB3396E00EAB194 /* FixedPageCursor.swift */; }; + 6714624B1EB3396E00EAB194 /* FixedPageCursor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461C81EB3396E00EAB194 /* FixedPageCursor.swift */; }; + 6714624C1EB3396E00EAB194 /* MapCursor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461C91EB3396E00EAB194 /* MapCursor.swift */; }; + 6714624D1EB3396E00EAB194 /* MapCursor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461C91EB3396E00EAB194 /* MapCursor.swift */; }; + 6714624E1EB3396E00EAB194 /* MapCursor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461C91EB3396E00EAB194 /* MapCursor.swift */; }; + 6714624F1EB3396E00EAB194 /* MapCursor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461C91EB3396E00EAB194 /* MapCursor.swift */; }; + 671462501EB3396E00EAB194 /* StaticCursor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461CA1EB3396E00EAB194 /* StaticCursor.swift */; }; + 671462511EB3396E00EAB194 /* StaticCursor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461CA1EB3396E00EAB194 /* StaticCursor.swift */; }; + 671462521EB3396E00EAB194 /* StaticCursor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461CA1EB3396E00EAB194 /* StaticCursor.swift */; }; + 671462531EB3396E00EAB194 /* StaticCursor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461CA1EB3396E00EAB194 /* StaticCursor.swift */; }; + 671462541EB3396E00EAB194 /* App.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461CC1EB3396E00EAB194 /* App.swift */; }; + 671462551EB3396E00EAB194 /* App.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461CC1EB3396E00EAB194 /* App.swift */; }; + 671462561EB3396E00EAB194 /* App.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461CC1EB3396E00EAB194 /* App.swift */; }; + 671462571EB3396E00EAB194 /* App.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461CC1EB3396E00EAB194 /* App.swift */; }; + 671462581EB3396E00EAB194 /* Log.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461CD1EB3396E00EAB194 /* Log.swift */; }; + 671462591EB3396E00EAB194 /* Log.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461CD1EB3396E00EAB194 /* Log.swift */; }; + 6714625A1EB3396E00EAB194 /* Log.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461CD1EB3396E00EAB194 /* Log.swift */; }; + 6714625B1EB3396E00EAB194 /* Log.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461CD1EB3396E00EAB194 /* Log.swift */; }; + 6714625C1EB3396E00EAB194 /* LogFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461CE1EB3396E00EAB194 /* LogFormatter.swift */; }; + 6714625D1EB3396E00EAB194 /* LogFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461CE1EB3396E00EAB194 /* LogFormatter.swift */; }; + 6714625E1EB3396E00EAB194 /* LogFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461CE1EB3396E00EAB194 /* LogFormatter.swift */; }; + 6714625F1EB3396E00EAB194 /* LogFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461CE1EB3396E00EAB194 /* LogFormatter.swift */; }; + 671462601EB3396E00EAB194 /* PaginationTableViewWrapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461D01EB3396E00EAB194 /* PaginationTableViewWrapper.swift */; }; + 671462641EB3396E00EAB194 /* PaginationViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461D11EB3396E00EAB194 /* PaginationViewModel.swift */; }; + 671462651EB3396E00EAB194 /* PaginationViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461D11EB3396E00EAB194 /* PaginationViewModel.swift */; }; + 671462661EB3396E00EAB194 /* PaginationViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461D11EB3396E00EAB194 /* PaginationViewModel.swift */; }; + 671462671EB3396E00EAB194 /* PaginationViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461D11EB3396E00EAB194 /* PaginationViewModel.swift */; }; + 671462681EB3396E00EAB194 /* NetworkService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461D31EB3396E00EAB194 /* NetworkService.swift */; }; + 671462691EB3396E00EAB194 /* NetworkService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461D31EB3396E00EAB194 /* NetworkService.swift */; }; + 6714626A1EB3396E00EAB194 /* NetworkService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461D31EB3396E00EAB194 /* NetworkService.swift */; }; + 6714626B1EB3396E00EAB194 /* NetworkService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461D31EB3396E00EAB194 /* NetworkService.swift */; }; + 6714626C1EB3396E00EAB194 /* XibView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461D51EB3396E00EAB194 /* XibView.swift */; }; + 6714626D1EB3396E00EAB194 /* XibView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461D51EB3396E00EAB194 /* XibView.swift */; }; + 6714626F1EB3396E00EAB194 /* XibView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461D51EB3396E00EAB194 /* XibView.swift */; }; + 671462701EB3396E00EAB194 /* CursorError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461D71EB3396E00EAB194 /* CursorError.swift */; }; + 671462711EB3396E00EAB194 /* CursorError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461D71EB3396E00EAB194 /* CursorError.swift */; }; + 671462721EB3396E00EAB194 /* CursorError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461D71EB3396E00EAB194 /* CursorError.swift */; }; + 671462731EB3396E00EAB194 /* CursorError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461D71EB3396E00EAB194 /* CursorError.swift */; }; + 671462741EB3396E00EAB194 /* LeadKitError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461D81EB3396E00EAB194 /* LeadKitError.swift */; }; + 671462751EB3396E00EAB194 /* LeadKitError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461D81EB3396E00EAB194 /* LeadKitError.swift */; }; + 671462761EB3396E00EAB194 /* LeadKitError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461D81EB3396E00EAB194 /* LeadKitError.swift */; }; + 671462771EB3396E00EAB194 /* LeadKitError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461D81EB3396E00EAB194 /* LeadKitError.swift */; }; + 671462781EB3396E00EAB194 /* ResizeContentMode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461D91EB3396E00EAB194 /* ResizeContentMode.swift */; }; + 671462791EB3396E00EAB194 /* ResizeContentMode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461D91EB3396E00EAB194 /* ResizeContentMode.swift */; }; + 6714627A1EB3396E00EAB194 /* ResizeContentMode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461D91EB3396E00EAB194 /* ResizeContentMode.swift */; }; + 6714627B1EB3396E00EAB194 /* ResizeContentMode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461D91EB3396E00EAB194 /* ResizeContentMode.swift */; }; + 6714627C1EB3396E00EAB194 /* AlamofireManager+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461DC1EB3396E00EAB194 /* AlamofireManager+Extensions.swift */; }; + 6714627D1EB3396E00EAB194 /* AlamofireManager+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461DC1EB3396E00EAB194 /* AlamofireManager+Extensions.swift */; }; + 6714627E1EB3396E00EAB194 /* AlamofireManager+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461DC1EB3396E00EAB194 /* AlamofireManager+Extensions.swift */; }; + 6714627F1EB3396E00EAB194 /* AlamofireManager+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461DC1EB3396E00EAB194 /* AlamofireManager+Extensions.swift */; }; + 671462801EB3396E00EAB194 /* AlamofireRequest+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461DD1EB3396E00EAB194 /* AlamofireRequest+Extensions.swift */; }; + 671462811EB3396E00EAB194 /* AlamofireRequest+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461DD1EB3396E00EAB194 /* AlamofireRequest+Extensions.swift */; }; + 671462821EB3396E00EAB194 /* AlamofireRequest+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461DD1EB3396E00EAB194 /* AlamofireRequest+Extensions.swift */; }; + 671462831EB3396E00EAB194 /* AlamofireRequest+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461DD1EB3396E00EAB194 /* AlamofireRequest+Extensions.swift */; }; + 671462841EB3396E00EAB194 /* CGContext+Initializers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461DF1EB3396E00EAB194 /* CGContext+Initializers.swift */; }; + 671462851EB3396E00EAB194 /* CGContext+Initializers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461DF1EB3396E00EAB194 /* CGContext+Initializers.swift */; }; + 671462861EB3396E00EAB194 /* CGContext+Initializers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461DF1EB3396E00EAB194 /* CGContext+Initializers.swift */; }; + 671462871EB3396E00EAB194 /* CGContext+Initializers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461DF1EB3396E00EAB194 /* CGContext+Initializers.swift */; }; + 671462881EB3396E00EAB194 /* CGFloat+Pixels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461E11EB3396E00EAB194 /* CGFloat+Pixels.swift */; }; + 671462891EB3396E00EAB194 /* CGFloat+Pixels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461E11EB3396E00EAB194 /* CGFloat+Pixels.swift */; }; + 6714628B1EB3396E00EAB194 /* CGFloat+Pixels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461E11EB3396E00EAB194 /* CGFloat+Pixels.swift */; }; + 6714628C1EB3396E00EAB194 /* CGImage+Alpha.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461E31EB3396E00EAB194 /* CGImage+Alpha.swift */; }; + 6714628D1EB3396E00EAB194 /* CGImage+Alpha.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461E31EB3396E00EAB194 /* CGImage+Alpha.swift */; }; + 6714628E1EB3396E00EAB194 /* CGImage+Alpha.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461E31EB3396E00EAB194 /* CGImage+Alpha.swift */; }; + 6714628F1EB3396E00EAB194 /* CGImage+Alpha.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461E31EB3396E00EAB194 /* CGImage+Alpha.swift */; }; + 671462901EB3396E00EAB194 /* CGImage+Crop.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461E41EB3396E00EAB194 /* CGImage+Crop.swift */; }; + 671462911EB3396E00EAB194 /* CGImage+Crop.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461E41EB3396E00EAB194 /* CGImage+Crop.swift */; }; + 671462921EB3396E00EAB194 /* CGImage+Crop.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461E41EB3396E00EAB194 /* CGImage+Crop.swift */; }; + 671462931EB3396E00EAB194 /* CGImage+Crop.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461E41EB3396E00EAB194 /* CGImage+Crop.swift */; }; + 671462941EB3396E00EAB194 /* CGSize+CGContextSize.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461E61EB3396E00EAB194 /* CGSize+CGContextSize.swift */; }; + 671462951EB3396E00EAB194 /* CGSize+CGContextSize.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461E61EB3396E00EAB194 /* CGSize+CGContextSize.swift */; }; + 671462961EB3396E00EAB194 /* CGSize+CGContextSize.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461E61EB3396E00EAB194 /* CGSize+CGContextSize.swift */; }; + 671462971EB3396E00EAB194 /* CGSize+CGContextSize.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461E61EB3396E00EAB194 /* CGSize+CGContextSize.swift */; }; + 671462981EB3396E00EAB194 /* CGSize+Resize.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461E71EB3396E00EAB194 /* CGSize+Resize.swift */; }; + 671462991EB3396E00EAB194 /* CGSize+Resize.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461E71EB3396E00EAB194 /* CGSize+Resize.swift */; }; + 6714629A1EB3396E00EAB194 /* CGSize+Resize.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461E71EB3396E00EAB194 /* CGSize+Resize.swift */; }; + 6714629B1EB3396E00EAB194 /* CGSize+Resize.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461E71EB3396E00EAB194 /* CGSize+Resize.swift */; }; + 6714629C1EB3396E00EAB194 /* CursorType+Slice.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461E91EB3396E00EAB194 /* CursorType+Slice.swift */; }; + 6714629D1EB3396E00EAB194 /* CursorType+Slice.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461E91EB3396E00EAB194 /* CursorType+Slice.swift */; }; + 6714629E1EB3396E00EAB194 /* CursorType+Slice.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461E91EB3396E00EAB194 /* CursorType+Slice.swift */; }; + 6714629F1EB3396E00EAB194 /* CursorType+Slice.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461E91EB3396E00EAB194 /* CursorType+Slice.swift */; }; + 671462A01EB3396E00EAB194 /* Double+Rounding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461EB1EB3396E00EAB194 /* Double+Rounding.swift */; }; + 671462A11EB3396E00EAB194 /* Double+Rounding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461EB1EB3396E00EAB194 /* Double+Rounding.swift */; }; + 671462A21EB3396E00EAB194 /* Double+Rounding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461EB1EB3396E00EAB194 /* Double+Rounding.swift */; }; + 671462A31EB3396E00EAB194 /* Double+Rounding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461EB1EB3396E00EAB194 /* Double+Rounding.swift */; }; + 671462A41EB3396E00EAB194 /* IndexPath+ImmutableIndexPath.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461ED1EB3396E00EAB194 /* IndexPath+ImmutableIndexPath.swift */; }; + 671462A51EB3396E00EAB194 /* IndexPath+ImmutableIndexPath.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461ED1EB3396E00EAB194 /* IndexPath+ImmutableIndexPath.swift */; }; + 671462A61EB3396E00EAB194 /* IndexPath+ImmutableIndexPath.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461ED1EB3396E00EAB194 /* IndexPath+ImmutableIndexPath.swift */; }; + 671462A71EB3396E00EAB194 /* IndexPath+ImmutableIndexPath.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461ED1EB3396E00EAB194 /* IndexPath+ImmutableIndexPath.swift */; }; + 671462A81EB3396E00EAB194 /* ImmutableMappable+ObservableMappable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461EF1EB3396E00EAB194 /* ImmutableMappable+ObservableMappable.swift */; }; + 671462A91EB3396E00EAB194 /* ImmutableMappable+ObservableMappable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461EF1EB3396E00EAB194 /* ImmutableMappable+ObservableMappable.swift */; }; + 671462AA1EB3396E00EAB194 /* ImmutableMappable+ObservableMappable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461EF1EB3396E00EAB194 /* ImmutableMappable+ObservableMappable.swift */; }; + 671462AB1EB3396E00EAB194 /* ImmutableMappable+ObservableMappable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461EF1EB3396E00EAB194 /* ImmutableMappable+ObservableMappable.swift */; }; + 671462AC1EB3396E00EAB194 /* Observable+DeferredJust.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461F11EB3396E00EAB194 /* Observable+DeferredJust.swift */; }; + 671462AD1EB3396E00EAB194 /* Observable+DeferredJust.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461F11EB3396E00EAB194 /* Observable+DeferredJust.swift */; }; + 671462AE1EB3396E00EAB194 /* Observable+DeferredJust.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461F11EB3396E00EAB194 /* Observable+DeferredJust.swift */; }; + 671462AF1EB3396E00EAB194 /* Observable+DeferredJust.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461F11EB3396E00EAB194 /* Observable+DeferredJust.swift */; }; + 671462B01EB3396E00EAB194 /* Observable+ToastErrorLogging.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461F21EB3396E00EAB194 /* Observable+ToastErrorLogging.swift */; }; + 671462B41EB3396E00EAB194 /* PaginationTableViewWrapperDelegate+DefaultImplementation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461F41EB3396E00EAB194 /* PaginationTableViewWrapperDelegate+DefaultImplementation.swift */; }; + 671462B81EB3396E00EAB194 /* Sequence+ConcurrentMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461F61EB3396E00EAB194 /* Sequence+ConcurrentMap.swift */; }; + 671462B91EB3396E00EAB194 /* Sequence+ConcurrentMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461F61EB3396E00EAB194 /* Sequence+ConcurrentMap.swift */; }; + 671462BA1EB3396E00EAB194 /* Sequence+ConcurrentMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461F61EB3396E00EAB194 /* Sequence+ConcurrentMap.swift */; }; + 671462BB1EB3396E00EAB194 /* Sequence+ConcurrentMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461F61EB3396E00EAB194 /* Sequence+ConcurrentMap.swift */; }; + 671462BC1EB3396E00EAB194 /* StoryboardProtocol+DefaultBundle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461F81EB3396E00EAB194 /* StoryboardProtocol+DefaultBundle.swift */; }; + 671462BD1EB3396E00EAB194 /* StoryboardProtocol+DefaultBundle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461F81EB3396E00EAB194 /* StoryboardProtocol+DefaultBundle.swift */; }; + 671462BF1EB3396E00EAB194 /* StoryboardProtocol+DefaultBundle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461F81EB3396E00EAB194 /* StoryboardProtocol+DefaultBundle.swift */; }; + 671462C01EB3396E00EAB194 /* StoryboardProtocol+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461F91EB3396E00EAB194 /* StoryboardProtocol+Extensions.swift */; }; + 671462C11EB3396E00EAB194 /* StoryboardProtocol+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461F91EB3396E00EAB194 /* StoryboardProtocol+Extensions.swift */; }; + 671462C31EB3396E00EAB194 /* StoryboardProtocol+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461F91EB3396E00EAB194 /* StoryboardProtocol+Extensions.swift */; }; + 671462C41EB3396E00EAB194 /* String+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461FB1EB3396E00EAB194 /* String+Extensions.swift */; }; + 671462C51EB3396E00EAB194 /* String+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461FB1EB3396E00EAB194 /* String+Extensions.swift */; }; + 671462C61EB3396E00EAB194 /* String+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461FB1EB3396E00EAB194 /* String+Extensions.swift */; }; + 671462C71EB3396E00EAB194 /* String+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461FB1EB3396E00EAB194 /* String+Extensions.swift */; }; + 671462C81EB3396E00EAB194 /* String+Localization.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461FC1EB3396E00EAB194 /* String+Localization.swift */; }; + 671462C91EB3396E00EAB194 /* String+Localization.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461FC1EB3396E00EAB194 /* String+Localization.swift */; }; + 671462CA1EB3396E00EAB194 /* String+Localization.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461FC1EB3396E00EAB194 /* String+Localization.swift */; }; + 671462CB1EB3396E00EAB194 /* String+Localization.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461FC1EB3396E00EAB194 /* String+Localization.swift */; }; + 671462CC1EB3396E00EAB194 /* String+SizeCalculation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461FD1EB3396E00EAB194 /* String+SizeCalculation.swift */; }; + 671462CD1EB3396E00EAB194 /* String+SizeCalculation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461FD1EB3396E00EAB194 /* String+SizeCalculation.swift */; }; + 671462CE1EB3396E00EAB194 /* String+SizeCalculation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461FD1EB3396E00EAB194 /* String+SizeCalculation.swift */; }; + 671462CF1EB3396E00EAB194 /* String+SizeCalculation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461FD1EB3396E00EAB194 /* String+SizeCalculation.swift */; }; + 671462D01EB3396E00EAB194 /* UIScrollView+Support.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461FF1EB3396E00EAB194 /* UIScrollView+Support.swift */; }; + 671462D11EB3396E00EAB194 /* UIScrollView+Support.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461FF1EB3396E00EAB194 /* UIScrollView+Support.swift */; }; + 671462D41EB3396E00EAB194 /* TableDirector+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462011EB3396E00EAB194 /* TableDirector+Extensions.swift */; }; + 671462D81EB3396E00EAB194 /* TimeInterval+DateComponents.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462031EB3396E00EAB194 /* TimeInterval+DateComponents.swift */; }; + 671462D91EB3396E00EAB194 /* TimeInterval+DateComponents.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462031EB3396E00EAB194 /* TimeInterval+DateComponents.swift */; }; + 671462DA1EB3396E00EAB194 /* TimeInterval+DateComponents.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462031EB3396E00EAB194 /* TimeInterval+DateComponents.swift */; }; + 671462DB1EB3396E00EAB194 /* TimeInterval+DateComponents.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462031EB3396E00EAB194 /* TimeInterval+DateComponents.swift */; }; + 671462DC1EB3396E00EAB194 /* UIActivityIndicator+LoadingIndicator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462051EB3396E00EAB194 /* UIActivityIndicator+LoadingIndicator.swift */; }; + 671462DD1EB3396E00EAB194 /* UIActivityIndicator+LoadingIndicator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462051EB3396E00EAB194 /* UIActivityIndicator+LoadingIndicator.swift */; }; + 671462DF1EB3396E00EAB194 /* UIActivityIndicator+LoadingIndicator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462051EB3396E00EAB194 /* UIActivityIndicator+LoadingIndicator.swift */; }; + 671462E01EB3396E00EAB194 /* UICollectionView+CellRegistration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462071EB3396E00EAB194 /* UICollectionView+CellRegistration.swift */; }; + 671462E11EB3396E00EAB194 /* UICollectionView+CellRegistration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462071EB3396E00EAB194 /* UICollectionView+CellRegistration.swift */; }; + 671462E31EB3396E00EAB194 /* UICollectionView+CellRegistration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462071EB3396E00EAB194 /* UICollectionView+CellRegistration.swift */; }; + 671462E41EB3396E00EAB194 /* UIColor+Hex.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462091EB3396E00EAB194 /* UIColor+Hex.swift */; }; + 671462E51EB3396E00EAB194 /* UIColor+Hex.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462091EB3396E00EAB194 /* UIColor+Hex.swift */; }; + 671462E61EB3396E00EAB194 /* UIColor+Hex.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462091EB3396E00EAB194 /* UIColor+Hex.swift */; }; + 671462E71EB3396E00EAB194 /* UIColor+Hex.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462091EB3396E00EAB194 /* UIColor+Hex.swift */; }; + 671462E81EB3396E00EAB194 /* UIDevice+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714620B1EB3396E00EAB194 /* UIDevice+Extensions.swift */; }; + 671462E91EB3396E00EAB194 /* UIDevice+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714620B1EB3396E00EAB194 /* UIDevice+Extensions.swift */; }; + 671462EB1EB3396E00EAB194 /* UIDevice+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714620B1EB3396E00EAB194 /* UIDevice+Extensions.swift */; }; + 671462EC1EB3396E00EAB194 /* UIImage+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714620D1EB3396E00EAB194 /* UIImage+Extensions.swift */; }; + 671462ED1EB3396E00EAB194 /* UIImage+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714620D1EB3396E00EAB194 /* UIImage+Extensions.swift */; }; + 671462EF1EB3396E00EAB194 /* UIImage+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714620D1EB3396E00EAB194 /* UIImage+Extensions.swift */; }; + 671462F01EB3396E00EAB194 /* UIImage+SupportExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714620E1EB3396E00EAB194 /* UIImage+SupportExtensions.swift */; }; + 671462F11EB3396E00EAB194 /* UIImage+SupportExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714620E1EB3396E00EAB194 /* UIImage+SupportExtensions.swift */; }; + 671462F31EB3396E00EAB194 /* UIImage+SupportExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714620E1EB3396E00EAB194 /* UIImage+SupportExtensions.swift */; }; + 671462F41EB3396E00EAB194 /* UIStoryboard+InstantiateViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462101EB3396E00EAB194 /* UIStoryboard+InstantiateViewController.swift */; }; + 671462F51EB3396E00EAB194 /* UIStoryboard+InstantiateViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462101EB3396E00EAB194 /* UIStoryboard+InstantiateViewController.swift */; }; + 671462F71EB3396E00EAB194 /* UIStoryboard+InstantiateViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462101EB3396E00EAB194 /* UIStoryboard+InstantiateViewController.swift */; }; + 671462F81EB3396E00EAB194 /* UIView+DefaultReuseIdentifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462121EB3396E00EAB194 /* UIView+DefaultReuseIdentifier.swift */; }; + 671462F91EB3396E00EAB194 /* UIView+DefaultReuseIdentifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462121EB3396E00EAB194 /* UIView+DefaultReuseIdentifier.swift */; }; + 671462FB1EB3396E00EAB194 /* UIView+DefaultReuseIdentifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462121EB3396E00EAB194 /* UIView+DefaultReuseIdentifier.swift */; }; + 671462FC1EB3396E00EAB194 /* UIView+DefaultXibName.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462131EB3396E00EAB194 /* UIView+DefaultXibName.swift */; }; + 671462FD1EB3396E00EAB194 /* UIView+DefaultXibName.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462131EB3396E00EAB194 /* UIView+DefaultXibName.swift */; }; + 671462FF1EB3396E00EAB194 /* UIView+DefaultXibName.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462131EB3396E00EAB194 /* UIView+DefaultXibName.swift */; }; + 671463001EB3396E00EAB194 /* UIView+LoadFromNib.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462141EB3396E00EAB194 /* UIView+LoadFromNib.swift */; }; + 671463011EB3396E00EAB194 /* UIView+LoadFromNib.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462141EB3396E00EAB194 /* UIView+LoadFromNib.swift */; }; + 671463031EB3396E00EAB194 /* UIView+LoadFromNib.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462141EB3396E00EAB194 /* UIView+LoadFromNib.swift */; }; + 671463041EB3396E00EAB194 /* UIView+LoadingIndicator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462151EB3396E00EAB194 /* UIView+LoadingIndicator.swift */; }; + 671463051EB3396E00EAB194 /* UIView+LoadingIndicator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462151EB3396E00EAB194 /* UIView+LoadingIndicator.swift */; }; + 671463071EB3396E00EAB194 /* UIView+LoadingIndicator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462151EB3396E00EAB194 /* UIView+LoadingIndicator.swift */; }; + 671463081EB3396E00EAB194 /* UIView+Rotation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462161EB3396E00EAB194 /* UIView+Rotation.swift */; }; + 671463091EB3396E00EAB194 /* UIView+Rotation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462161EB3396E00EAB194 /* UIView+Rotation.swift */; }; + 6714630B1EB3396E00EAB194 /* UIView+Rotation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462161EB3396E00EAB194 /* UIView+Rotation.swift */; }; + 6714630C1EB3396E00EAB194 /* UIViewController+DefaultStoryboardIdentifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462181EB3396E00EAB194 /* UIViewController+DefaultStoryboardIdentifier.swift */; }; + 6714630D1EB3396E00EAB194 /* UIViewController+DefaultStoryboardIdentifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462181EB3396E00EAB194 /* UIViewController+DefaultStoryboardIdentifier.swift */; }; + 6714630F1EB3396E00EAB194 /* UIViewController+DefaultStoryboardIdentifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462181EB3396E00EAB194 /* UIViewController+DefaultStoryboardIdentifier.swift */; }; + 671463101EB3396E00EAB194 /* UIViewController+DefaultXibName.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462191EB3396E00EAB194 /* UIViewController+DefaultXibName.swift */; }; + 671463111EB3396E00EAB194 /* UIViewController+DefaultXibName.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462191EB3396E00EAB194 /* UIViewController+DefaultXibName.swift */; }; + 671463131EB3396E00EAB194 /* UIViewController+DefaultXibName.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462191EB3396E00EAB194 /* UIViewController+DefaultXibName.swift */; }; + 671463141EB3396E00EAB194 /* UIViewController+TopVisibleViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714621A1EB3396E00EAB194 /* UIViewController+TopVisibleViewController.swift */; }; + 671463151EB3396E00EAB194 /* UIViewController+TopVisibleViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714621A1EB3396E00EAB194 /* UIViewController+TopVisibleViewController.swift */; }; + 671463171EB3396E00EAB194 /* UIViewController+TopVisibleViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714621A1EB3396E00EAB194 /* UIViewController+TopVisibleViewController.swift */; }; + 671463181EB3396E00EAB194 /* UIWindow+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714621C1EB3396E00EAB194 /* UIWindow+Extensions.swift */; }; + 671463191EB3396E00EAB194 /* UIWindow+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714621C1EB3396E00EAB194 /* UIWindow+Extensions.swift */; }; + 6714631B1EB3396E00EAB194 /* UIWindow+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714621C1EB3396E00EAB194 /* UIWindow+Extensions.swift */; }; + 6714631C1EB3396E00EAB194 /* UserDefaults+MappableDataTypes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714621E1EB3396E00EAB194 /* UserDefaults+MappableDataTypes.swift */; }; + 6714631D1EB3396E00EAB194 /* UserDefaults+MappableDataTypes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714621E1EB3396E00EAB194 /* UserDefaults+MappableDataTypes.swift */; }; + 6714631E1EB3396E00EAB194 /* UserDefaults+MappableDataTypes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714621E1EB3396E00EAB194 /* UserDefaults+MappableDataTypes.swift */; }; + 6714631F1EB3396E00EAB194 /* UserDefaults+MappableDataTypes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714621E1EB3396E00EAB194 /* UserDefaults+MappableDataTypes.swift */; }; + 671463201EB3396E00EAB194 /* Any+Cast.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462201EB3396E00EAB194 /* Any+Cast.swift */; }; + 671463211EB3396E00EAB194 /* Any+Cast.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462201EB3396E00EAB194 /* Any+Cast.swift */; }; + 671463221EB3396E00EAB194 /* Any+Cast.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462201EB3396E00EAB194 /* Any+Cast.swift */; }; + 671463231EB3396E00EAB194 /* Any+Cast.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462201EB3396E00EAB194 /* Any+Cast.swift */; }; + 671463241EB3396E00EAB194 /* Any+TypeName.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462211EB3396E00EAB194 /* Any+TypeName.swift */; }; + 671463251EB3396E00EAB194 /* Any+TypeName.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462211EB3396E00EAB194 /* Any+TypeName.swift */; }; + 671463261EB3396E00EAB194 /* Any+TypeName.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462211EB3396E00EAB194 /* Any+TypeName.swift */; }; + 671463271EB3396E00EAB194 /* Any+TypeName.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462211EB3396E00EAB194 /* Any+TypeName.swift */; }; + 671463281EB3396E00EAB194 /* BaseViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462231EB3396E00EAB194 /* BaseViewModel.swift */; }; + 671463291EB3396E00EAB194 /* BaseViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462231EB3396E00EAB194 /* BaseViewModel.swift */; }; + 6714632A1EB3396E00EAB194 /* BaseViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462231EB3396E00EAB194 /* BaseViewModel.swift */; }; + 6714632B1EB3396E00EAB194 /* BaseViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462231EB3396E00EAB194 /* BaseViewModel.swift */; }; + 6714632C1EB3396E00EAB194 /* ConfigurableController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462241EB3396E00EAB194 /* ConfigurableController.swift */; }; + 6714632D1EB3396E00EAB194 /* ConfigurableController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462241EB3396E00EAB194 /* ConfigurableController.swift */; }; + 6714632F1EB3396E00EAB194 /* ConfigurableController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462241EB3396E00EAB194 /* ConfigurableController.swift */; }; + 671463301EB3396E00EAB194 /* CursorType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462251EB3396E00EAB194 /* CursorType.swift */; }; + 671463311EB3396E00EAB194 /* CursorType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462251EB3396E00EAB194 /* CursorType.swift */; }; + 671463321EB3396E00EAB194 /* CursorType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462251EB3396E00EAB194 /* CursorType.swift */; }; + 671463331EB3396E00EAB194 /* CursorType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462251EB3396E00EAB194 /* CursorType.swift */; }; + 671463341EB3396E00EAB194 /* DrawingOperation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462261EB3396E00EAB194 /* DrawingOperation.swift */; }; + 671463351EB3396E00EAB194 /* DrawingOperation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462261EB3396E00EAB194 /* DrawingOperation.swift */; }; + 671463361EB3396E00EAB194 /* DrawingOperation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462261EB3396E00EAB194 /* DrawingOperation.swift */; }; + 671463371EB3396E00EAB194 /* DrawingOperation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462261EB3396E00EAB194 /* DrawingOperation.swift */; }; + 671463381EB3396E00EAB194 /* EstimatedViewHeightProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462271EB3396E00EAB194 /* EstimatedViewHeightProtocol.swift */; }; + 671463391EB3396E00EAB194 /* EstimatedViewHeightProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462271EB3396E00EAB194 /* EstimatedViewHeightProtocol.swift */; }; + 6714633A1EB3396E00EAB194 /* EstimatedViewHeightProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462271EB3396E00EAB194 /* EstimatedViewHeightProtocol.swift */; }; + 6714633B1EB3396E00EAB194 /* EstimatedViewHeightProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462271EB3396E00EAB194 /* EstimatedViewHeightProtocol.swift */; }; + 6714633C1EB3396E00EAB194 /* LoadingIndicator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462281EB3396E00EAB194 /* LoadingIndicator.swift */; }; + 6714633D1EB3396E00EAB194 /* LoadingIndicator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462281EB3396E00EAB194 /* LoadingIndicator.swift */; }; + 6714633F1EB3396E00EAB194 /* LoadingIndicator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462281EB3396E00EAB194 /* LoadingIndicator.swift */; }; + 671463401EB3396E00EAB194 /* ModuleConfigurator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462291EB3396E00EAB194 /* ModuleConfigurator.swift */; }; + 671463411EB3396E00EAB194 /* ModuleConfigurator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462291EB3396E00EAB194 /* ModuleConfigurator.swift */; }; + 671463421EB3396E00EAB194 /* ModuleConfigurator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462291EB3396E00EAB194 /* ModuleConfigurator.swift */; }; + 671463431EB3396E00EAB194 /* ModuleConfigurator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462291EB3396E00EAB194 /* ModuleConfigurator.swift */; }; + 671463441EB3396E00EAB194 /* ObservableMappable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714622A1EB3396E00EAB194 /* ObservableMappable.swift */; }; + 671463451EB3396E00EAB194 /* ObservableMappable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714622A1EB3396E00EAB194 /* ObservableMappable.swift */; }; + 671463461EB3396E00EAB194 /* ObservableMappable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714622A1EB3396E00EAB194 /* ObservableMappable.swift */; }; + 671463471EB3396E00EAB194 /* ObservableMappable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714622A1EB3396E00EAB194 /* ObservableMappable.swift */; }; + 671463481EB3396E00EAB194 /* ResettableType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714622B1EB3396E00EAB194 /* ResettableType.swift */; }; + 671463491EB3396E00EAB194 /* ResettableType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714622B1EB3396E00EAB194 /* ResettableType.swift */; }; + 6714634A1EB3396E00EAB194 /* ResettableType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714622B1EB3396E00EAB194 /* ResettableType.swift */; }; + 6714634B1EB3396E00EAB194 /* ResettableType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714622B1EB3396E00EAB194 /* ResettableType.swift */; }; + 6714634C1EB3396E00EAB194 /* ReuseIdentifierProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714622C1EB3396E00EAB194 /* ReuseIdentifierProtocol.swift */; }; + 6714634D1EB3396E00EAB194 /* ReuseIdentifierProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714622C1EB3396E00EAB194 /* ReuseIdentifierProtocol.swift */; }; + 6714634E1EB3396E00EAB194 /* ReuseIdentifierProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714622C1EB3396E00EAB194 /* ReuseIdentifierProtocol.swift */; }; + 6714634F1EB3396E00EAB194 /* ReuseIdentifierProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714622C1EB3396E00EAB194 /* ReuseIdentifierProtocol.swift */; }; + 671463501EB3396E00EAB194 /* StaticEstimatedViewHeightProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714622D1EB3396E00EAB194 /* StaticEstimatedViewHeightProtocol.swift */; }; + 671463511EB3396E00EAB194 /* StaticEstimatedViewHeightProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714622D1EB3396E00EAB194 /* StaticEstimatedViewHeightProtocol.swift */; }; + 671463521EB3396E00EAB194 /* StaticEstimatedViewHeightProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714622D1EB3396E00EAB194 /* StaticEstimatedViewHeightProtocol.swift */; }; + 671463531EB3396E00EAB194 /* StaticEstimatedViewHeightProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714622D1EB3396E00EAB194 /* StaticEstimatedViewHeightProtocol.swift */; }; + 671463541EB3396E00EAB194 /* StaticViewHeightProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714622E1EB3396E00EAB194 /* StaticViewHeightProtocol.swift */; }; + 671463551EB3396E00EAB194 /* StaticViewHeightProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714622E1EB3396E00EAB194 /* StaticViewHeightProtocol.swift */; }; + 671463561EB3396E00EAB194 /* StaticViewHeightProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714622E1EB3396E00EAB194 /* StaticViewHeightProtocol.swift */; }; + 671463571EB3396E00EAB194 /* StaticViewHeightProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714622E1EB3396E00EAB194 /* StaticViewHeightProtocol.swift */; }; + 671463581EB3396E00EAB194 /* StoryboardIdentifierProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714622F1EB3396E00EAB194 /* StoryboardIdentifierProtocol.swift */; }; + 671463591EB3396E00EAB194 /* StoryboardIdentifierProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714622F1EB3396E00EAB194 /* StoryboardIdentifierProtocol.swift */; }; + 6714635A1EB3396E00EAB194 /* StoryboardIdentifierProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714622F1EB3396E00EAB194 /* StoryboardIdentifierProtocol.swift */; }; + 6714635B1EB3396E00EAB194 /* StoryboardIdentifierProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714622F1EB3396E00EAB194 /* StoryboardIdentifierProtocol.swift */; }; + 6714635C1EB3396E00EAB194 /* StoryboardProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462301EB3396E00EAB194 /* StoryboardProtocol.swift */; }; + 6714635D1EB3396E00EAB194 /* StoryboardProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462301EB3396E00EAB194 /* StoryboardProtocol.swift */; }; + 6714635F1EB3396E00EAB194 /* StoryboardProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462301EB3396E00EAB194 /* StoryboardProtocol.swift */; }; + 671463601EB3396E00EAB194 /* SupportProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462311EB3396E00EAB194 /* SupportProtocol.swift */; }; + 671463611EB3396E00EAB194 /* SupportProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462311EB3396E00EAB194 /* SupportProtocol.swift */; }; + 671463621EB3396E00EAB194 /* SupportProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462311EB3396E00EAB194 /* SupportProtocol.swift */; }; + 671463631EB3396E00EAB194 /* SupportProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462311EB3396E00EAB194 /* SupportProtocol.swift */; }; + 671463641EB3396E00EAB194 /* ViewHeightProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462321EB3396E00EAB194 /* ViewHeightProtocol.swift */; }; + 671463651EB3396E00EAB194 /* ViewHeightProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462321EB3396E00EAB194 /* ViewHeightProtocol.swift */; }; + 671463661EB3396E00EAB194 /* ViewHeightProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462321EB3396E00EAB194 /* ViewHeightProtocol.swift */; }; + 671463671EB3396E00EAB194 /* ViewHeightProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462321EB3396E00EAB194 /* ViewHeightProtocol.swift */; }; + 671463681EB3396E00EAB194 /* ViewModelProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462331EB3396E00EAB194 /* ViewModelProtocol.swift */; }; + 671463691EB3396E00EAB194 /* ViewModelProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462331EB3396E00EAB194 /* ViewModelProtocol.swift */; }; + 6714636A1EB3396E00EAB194 /* ViewModelProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462331EB3396E00EAB194 /* ViewModelProtocol.swift */; }; + 6714636B1EB3396E00EAB194 /* ViewModelProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462331EB3396E00EAB194 /* ViewModelProtocol.swift */; }; + 6714636C1EB3396E00EAB194 /* XibNameProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462341EB3396E00EAB194 /* XibNameProtocol.swift */; }; + 6714636D1EB3396E00EAB194 /* XibNameProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462341EB3396E00EAB194 /* XibNameProtocol.swift */; }; + 6714636E1EB3396E00EAB194 /* XibNameProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462341EB3396E00EAB194 /* XibNameProtocol.swift */; }; + 6714636F1EB3396E00EAB194 /* XibNameProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462341EB3396E00EAB194 /* XibNameProtocol.swift */; }; + 671463701EB3396E00EAB194 /* ApiRequestParameters.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462371EB3396E00EAB194 /* ApiRequestParameters.swift */; }; + 671463711EB3396E00EAB194 /* ApiRequestParameters.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462371EB3396E00EAB194 /* ApiRequestParameters.swift */; }; + 671463721EB3396E00EAB194 /* ApiRequestParameters.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462371EB3396E00EAB194 /* ApiRequestParameters.swift */; }; + 671463731EB3396E00EAB194 /* ApiRequestParameters.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462371EB3396E00EAB194 /* ApiRequestParameters.swift */; }; + 671463741EB3396E00EAB194 /* BorderDrawingOperation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462391EB3396E00EAB194 /* BorderDrawingOperation.swift */; }; + 671463751EB3396E00EAB194 /* BorderDrawingOperation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462391EB3396E00EAB194 /* BorderDrawingOperation.swift */; }; + 671463761EB3396E00EAB194 /* BorderDrawingOperation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462391EB3396E00EAB194 /* BorderDrawingOperation.swift */; }; + 671463771EB3396E00EAB194 /* BorderDrawingOperation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462391EB3396E00EAB194 /* BorderDrawingOperation.swift */; }; + 671463781EB3396E00EAB194 /* CALayerDrawingOperation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714623A1EB3396E00EAB194 /* CALayerDrawingOperation.swift */; }; + 671463791EB3396E00EAB194 /* CALayerDrawingOperation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714623A1EB3396E00EAB194 /* CALayerDrawingOperation.swift */; }; + 6714637B1EB3396E00EAB194 /* CALayerDrawingOperation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714623A1EB3396E00EAB194 /* CALayerDrawingOperation.swift */; }; + 6714637C1EB3396E00EAB194 /* ImageDrawingOperation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714623B1EB3396E00EAB194 /* ImageDrawingOperation.swift */; }; + 6714637D1EB3396E00EAB194 /* ImageDrawingOperation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714623B1EB3396E00EAB194 /* ImageDrawingOperation.swift */; }; + 6714637E1EB3396E00EAB194 /* ImageDrawingOperation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714623B1EB3396E00EAB194 /* ImageDrawingOperation.swift */; }; + 6714637F1EB3396E00EAB194 /* ImageDrawingOperation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714623B1EB3396E00EAB194 /* ImageDrawingOperation.swift */; }; + 671463801EB3396E00EAB194 /* PaddingDrawingOperation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714623C1EB3396E00EAB194 /* PaddingDrawingOperation.swift */; }; + 671463811EB3396E00EAB194 /* PaddingDrawingOperation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714623C1EB3396E00EAB194 /* PaddingDrawingOperation.swift */; }; + 671463821EB3396E00EAB194 /* PaddingDrawingOperation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714623C1EB3396E00EAB194 /* PaddingDrawingOperation.swift */; }; + 671463831EB3396E00EAB194 /* PaddingDrawingOperation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714623C1EB3396E00EAB194 /* PaddingDrawingOperation.swift */; }; + 671463841EB3396E00EAB194 /* ResizeDrawingOperation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714623D1EB3396E00EAB194 /* ResizeDrawingOperation.swift */; }; + 671463851EB3396E00EAB194 /* ResizeDrawingOperation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714623D1EB3396E00EAB194 /* ResizeDrawingOperation.swift */; }; + 671463861EB3396E00EAB194 /* ResizeDrawingOperation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714623D1EB3396E00EAB194 /* ResizeDrawingOperation.swift */; }; + 671463871EB3396E00EAB194 /* ResizeDrawingOperation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714623D1EB3396E00EAB194 /* ResizeDrawingOperation.swift */; }; + 671463881EB3396E00EAB194 /* RoundDrawingOperation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714623E1EB3396E00EAB194 /* RoundDrawingOperation.swift */; }; + 671463891EB3396E00EAB194 /* RoundDrawingOperation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714623E1EB3396E00EAB194 /* RoundDrawingOperation.swift */; }; + 6714638A1EB3396E00EAB194 /* RoundDrawingOperation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714623E1EB3396E00EAB194 /* RoundDrawingOperation.swift */; }; + 6714638B1EB3396E00EAB194 /* RoundDrawingOperation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714623E1EB3396E00EAB194 /* RoundDrawingOperation.swift */; }; + 6714638C1EB3396E00EAB194 /* SolidFillDrawingOperation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714623F1EB3396E00EAB194 /* SolidFillDrawingOperation.swift */; }; + 6714638D1EB3396E00EAB194 /* SolidFillDrawingOperation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714623F1EB3396E00EAB194 /* SolidFillDrawingOperation.swift */; }; + 6714638E1EB3396E00EAB194 /* SolidFillDrawingOperation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714623F1EB3396E00EAB194 /* SolidFillDrawingOperation.swift */; }; + 6714638F1EB3396E00EAB194 /* SolidFillDrawingOperation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714623F1EB3396E00EAB194 /* SolidFillDrawingOperation.swift */; }; + 671463901EB3396E00EAB194 /* TemplateDrawingOperation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462401EB3396E00EAB194 /* TemplateDrawingOperation.swift */; }; + 671463911EB3396E00EAB194 /* TemplateDrawingOperation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462401EB3396E00EAB194 /* TemplateDrawingOperation.swift */; }; + 671463921EB3396E00EAB194 /* TemplateDrawingOperation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462401EB3396E00EAB194 /* TemplateDrawingOperation.swift */; }; + 671463931EB3396E00EAB194 /* TemplateDrawingOperation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462401EB3396E00EAB194 /* TemplateDrawingOperation.swift */; }; + 671463981EB3396E00EAB194 /* AnyLoadingIndicator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462431EB3396E00EAB194 /* AnyLoadingIndicator.swift */; }; + 671463991EB3396E00EAB194 /* AnyLoadingIndicator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462431EB3396E00EAB194 /* AnyLoadingIndicator.swift */; }; + 6714639B1EB3396E00EAB194 /* AnyLoadingIndicator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462431EB3396E00EAB194 /* AnyLoadingIndicator.swift */; }; + 6714639E1EB33AEB00EAB194 /* NetworkService+ActivityIndicator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714639D1EB33AEB00EAB194 /* NetworkService+ActivityIndicator.swift */; }; + 671463A21EB33FF600EAB194 /* Animatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671463A11EB33FF600EAB194 /* Animatable.swift */; }; + 671463A31EB33FF600EAB194 /* Animatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671463A11EB33FF600EAB194 /* Animatable.swift */; }; + 671463A41EB33FF600EAB194 /* Animatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671463A11EB33FF600EAB194 /* Animatable.swift */; }; + 671463A51EB33FF600EAB194 /* Animatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671463A11EB33FF600EAB194 /* Animatable.swift */; }; + 671463A71EB340C000EAB194 /* UIViewController+ConfigurableController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671463A61EB340C000EAB194 /* UIViewController+ConfigurableController.swift */; }; + 671463A81EB340C000EAB194 /* UIViewController+ConfigurableController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671463A61EB340C000EAB194 /* UIViewController+ConfigurableController.swift */; }; + 671463A91EB340C000EAB194 /* UIViewController+ConfigurableController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671463A61EB340C000EAB194 /* UIViewController+ConfigurableController.swift */; }; + 671463B81EB34B1E00EAB194 /* StubCursor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671463AE1EB34B1E00EAB194 /* StubCursor.swift */; }; + 671463B91EB34B1E00EAB194 /* StubCursor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671463AE1EB34B1E00EAB194 /* StubCursor.swift */; }; + 671463BA1EB34B1E00EAB194 /* StubCursor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671463AE1EB34B1E00EAB194 /* StubCursor.swift */; }; + 671463BB1EB34B1E00EAB194 /* CursorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671463AF1EB34B1E00EAB194 /* CursorTests.swift */; }; + 671463BC1EB34B1E00EAB194 /* CursorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671463AF1EB34B1E00EAB194 /* CursorTests.swift */; }; + 671463BD1EB34B1E00EAB194 /* CursorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671463AF1EB34B1E00EAB194 /* CursorTests.swift */; }; + 671463BE1EB34B1E00EAB194 /* LoadFromNibTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671463B01EB34B1E00EAB194 /* LoadFromNibTests.swift */; }; + 671463BF1EB34B1E00EAB194 /* LoadFromNibTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671463B01EB34B1E00EAB194 /* LoadFromNibTests.swift */; }; + 671463C01EB34B1E00EAB194 /* LoadFromNibTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671463B01EB34B1E00EAB194 /* LoadFromNibTests.swift */; }; + 671463C11EB34B1E00EAB194 /* MappableUserDefaultsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671463B11EB34B1E00EAB194 /* MappableUserDefaultsTests.swift */; }; + 671463C21EB34B1E00EAB194 /* MappableUserDefaultsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671463B11EB34B1E00EAB194 /* MappableUserDefaultsTests.swift */; }; + 671463C31EB34B1E00EAB194 /* MappableUserDefaultsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671463B11EB34B1E00EAB194 /* MappableUserDefaultsTests.swift */; }; + 671463C41EB34B1E00EAB194 /* Post.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671463B31EB34B1E00EAB194 /* Post.swift */; }; + 671463C51EB34B1E00EAB194 /* Post.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671463B31EB34B1E00EAB194 /* Post.swift */; }; + 671463C61EB34B1E00EAB194 /* Post.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671463B31EB34B1E00EAB194 /* Post.swift */; }; + 671463C71EB34B1E00EAB194 /* PaginationViewModelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671463B41EB34B1E00EAB194 /* PaginationViewModelTests.swift */; }; + 671463C81EB34B1E00EAB194 /* PaginationViewModelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671463B41EB34B1E00EAB194 /* PaginationViewModelTests.swift */; }; + 671463C91EB34B1E00EAB194 /* PaginationViewModelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671463B41EB34B1E00EAB194 /* PaginationViewModelTests.swift */; }; + 671463CA1EB34B1E00EAB194 /* TestView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671463B61EB34B1E00EAB194 /* TestView.swift */; }; + 671463CB1EB34B1E00EAB194 /* TestView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671463B61EB34B1E00EAB194 /* TestView.swift */; }; + 671463CC1EB34B1E00EAB194 /* TestView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671463B61EB34B1E00EAB194 /* TestView.swift */; }; + 671463CD1EB34B1E00EAB194 /* TestView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 671463B71EB34B1E00EAB194 /* TestView.xib */; }; + 671463CE1EB34B1E00EAB194 /* TestView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 671463B71EB34B1E00EAB194 /* TestView.xib */; }; + 671463CF1EB34B1E00EAB194 /* TestView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 671463B71EB34B1E00EAB194 /* TestView.xib */; }; + 67186B311EB248F100CFAFFB /* LeadKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 67186B281EB248F100CFAFFB /* LeadKit.framework */; }; + 67186B3F1EB24A1900CFAFFB /* LeadKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 67186B201EB247A200CFAFFB /* LeadKit.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6782BBA91EB31D5A0086E0B8 /* LeadKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6782BBA01EB31D590086E0B8 /* LeadKit.framework */; }; + 67952C3C1EB3266100B3BA1A /* LeadKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 67186B201EB247A200CFAFFB /* LeadKit.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 67952C3D1EB3266200B3BA1A /* LeadKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 67186B201EB247A200CFAFFB /* LeadKit.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 67952DCE1EB327B500B3BA1A /* LeadKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 67952DC51EB327B400B3BA1A /* LeadKit.framework */; }; + 67952DDD1EB3281300B3BA1A /* LeadKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 67186B201EB247A200CFAFFB /* LeadKit.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 67CDEE401EB369BF00895905 /* ConfigurableController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462241EB3396E00EAB194 /* ConfigurableController.swift */; }; + BA6C6DB45950382041948FC5 /* Pods_LeadKit_LeadKit_iOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CFE9323150A9760008093F73 /* Pods_LeadKit_LeadKit_iOS.framework */; }; + D6EE55093E404DEA62B03DDF /* Pods_LeadKit_LeadKit_watchOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8590CA7831555C295C5DC572 /* Pods_LeadKit_LeadKit_watchOS.framework */; }; + DEE25FE98D40ED1C168F384A /* Pods_LeadKit_LeadKit_iOS_Extensions.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 887F99C5326BD220C2811BD6 /* Pods_LeadKit_LeadKit_iOS_Extensions.framework */; }; + FDE4AA990268F140877307E7 /* Pods_LeadKit_iOSTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 78405D3B3D3C3E17456877FF /* Pods_LeadKit_iOSTests.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 78CFEE361C5C456B00F50370 /* PBXContainerItemProxy */ = { + 67186B321EB248F100CFAFFB /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 78CFEE211C5C456B00F50370 /* Project object */; proxyType = 1; - remoteGlobalIDString = 78CFEE291C5C456B00F50370; - remoteInfo = LeadKit; + remoteGlobalIDString = 67186B271EB248F100CFAFFB; + remoteInfo = "LeadKit iOS"; + }; + 6782BBAA1EB31D5A0086E0B8 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 78CFEE211C5C456B00F50370 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 6782BB9F1EB31D590086E0B8; + remoteInfo = "LeadKit tvOS"; + }; + 67952DCF1EB327B500B3BA1A /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 78CFEE211C5C456B00F50370 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 67952DC41EB327B400B3BA1A; + remoteInfo = "LeadKit iOS Extensions"; }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ + 0D4689620761929AE17D966C /* Pods-LeadKit-LeadKit watchOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LeadKit-LeadKit watchOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-LeadKit-LeadKit watchOS/Pods-LeadKit-LeadKit watchOS.debug.xcconfig"; sourceTree = ""; }; 12F36034A5278991B658B53E /* Pods_LeadKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_LeadKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 67186B171EB1DC0500CFAFFB /* ResizeDrawingOperation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ResizeDrawingOperation.swift; sourceTree = ""; }; - 671FF1611EAA264B001B882C /* iOS.playground */ = {isa = PBXFileReference; lastKnownFileType = file.playground; path = iOS.playground; sourceTree = ""; }; - 6727419C1E65B99E0075836A /* MappableUserDefaultsTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MappableUserDefaultsTests.swift; sourceTree = ""; }; - 6727419F1E65C1E00075836A /* Post.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Post.swift; sourceTree = ""; }; - 674743931E929A5A00B47671 /* PaginationViewModelTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PaginationViewModelTests.swift; sourceTree = ""; }; - 674E7E641EB0F2E300D13340 /* UIImage+SupportExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIImage+SupportExtensions.swift"; sourceTree = ""; }; - 675D24B11E9234BB00E92D1F /* PaginationViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PaginationViewModel.swift; sourceTree = ""; }; - 675FB4241EA7797C0075BF3D /* Mutex.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Mutex.swift; sourceTree = ""; }; - 676D177D1EAE0661002E19F9 /* ResizeContentMode.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ResizeContentMode.swift; sourceTree = ""; }; - 676D17801EAE137B002E19F9 /* CGSize+Resize.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "CGSize+Resize.swift"; sourceTree = ""; }; - 67788F9E1E69661800484DEE /* CGFloat+Pixels.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "CGFloat+Pixels.swift"; sourceTree = ""; }; - 678A20291E93C1A900787562 /* PaginationTableViewWrapper.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PaginationTableViewWrapper.swift; sourceTree = ""; }; - 679DE48F1E9588B6006F25FE /* SupportProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SupportProtocol.swift; sourceTree = ""; }; - 679DE4931E9613ED006F25FE /* UIScrollView+Support.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIScrollView+Support.swift"; sourceTree = ""; }; - 67A7B1901EAF5F4900E5BC59 /* ImageDrawingOperation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ImageDrawingOperation.swift; sourceTree = ""; }; - 67A7B1921EAF5F6A00E5BC59 /* TemplateDrawingOperation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TemplateDrawingOperation.swift; sourceTree = ""; }; - 67A7B1941EAF5F9B00E5BC59 /* CGSize+CGContextSize.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "CGSize+CGContextSize.swift"; sourceTree = ""; }; - 67A7B1961EAF5FF600E5BC59 /* DrawingOperation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DrawingOperation.swift; sourceTree = ""; }; - 67A7B1981EAF602900E5BC59 /* RoundDrawingOperation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RoundDrawingOperation.swift; sourceTree = ""; }; - 67A7B19A1EAF60B100E5BC59 /* BorderDrawingOperation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BorderDrawingOperation.swift; sourceTree = ""; }; - 67A7B19E1EAF646400E5BC59 /* PaddingDrawingOperation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PaddingDrawingOperation.swift; sourceTree = ""; }; - 67A7B1A01EAF67AE00E5BC59 /* SolidFillDrawingOperation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SolidFillDrawingOperation.swift; sourceTree = ""; }; - 67A7B1A21EAF6B4600E5BC59 /* CALayerDrawingOperation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CALayerDrawingOperation.swift; sourceTree = ""; }; - 67B3057A1E8A8727008169CA /* TestView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = TestView.xib; sourceTree = ""; }; - 67B3057C1E8A8735008169CA /* TestView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TestView.swift; sourceTree = ""; }; - 67B3057E1E8A8804008169CA /* LoadFromNibTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LoadFromNibTests.swift; sourceTree = ""; }; - 67B305831E8A92E8008169CA /* XibView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = XibView.swift; sourceTree = ""; }; - 67B856E21E923BE600F54304 /* ResettableType.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ResettableType.swift; sourceTree = ""; }; - 67DC65031E979B34002F2FFF /* LoadingIndicatorProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LoadingIndicatorProtocol.swift; sourceTree = ""; }; - 67DC65051E979B70002F2FFF /* UIView+LoadingIndicator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIView+LoadingIndicator.swift"; sourceTree = ""; }; - 67DC65081E979BB8002F2FFF /* UIActivityIndicator+LoadingIndicator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIActivityIndicator+LoadingIndicator.swift"; sourceTree = ""; }; - 67DC650B1E979C0A002F2FFF /* AnyLoadingIndicator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AnyLoadingIndicator.swift; sourceTree = ""; }; - 67DC650E1E979D0C002F2FFF /* PaginationTableViewWrapperDelegate+DefaultImplementation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "PaginationTableViewWrapperDelegate+DefaultImplementation.swift"; sourceTree = ""; }; - 67EF144B1E8BEACB00D6E0DD /* StubCursor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StubCursor.swift; sourceTree = ""; }; - 67EF144D1E8BED4E00D6E0DD /* CursorTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CursorTests.swift; sourceTree = ""; }; - 78011A631D47ABC500EA16A2 /* UIView+DefaultReuseIdentifier.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIView+DefaultReuseIdentifier.swift"; sourceTree = ""; }; - 78011AB21D48B53600EA16A2 /* ApiRequestParameters.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ApiRequestParameters.swift; sourceTree = ""; }; - 780D23421DA412470084620D /* CGImage+Alpha.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "CGImage+Alpha.swift"; sourceTree = ""; }; - 780D23451DA416F80084620D /* CGContext+Initializers.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "CGContext+Initializers.swift"; sourceTree = ""; }; - 780F56C91E0D76B8004530B6 /* Sequence+ConcurrentMap.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Sequence+ConcurrentMap.swift"; sourceTree = ""; }; - 780F56CB1E0D7ACA004530B6 /* ObservableMappable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ObservableMappable.swift; sourceTree = ""; }; - 783423691DB8D0E100A79643 /* StoryboardProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StoryboardProtocol.swift; sourceTree = ""; }; - 7837F60E1CBCF5C0000D74C1 /* EstimatedViewHeightProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EstimatedViewHeightProtocol.swift; sourceTree = ""; }; - 783AF06A1E41CE6C00EC5ADE /* Observable+ToastErrorLogging.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Observable+ToastErrorLogging.swift"; sourceTree = ""; }; - 783AF06C1E41CF5B00EC5ADE /* NetworkService.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NetworkService.swift; sourceTree = ""; }; - 786D78E71D53C378006B2CEA /* AlamofireRequest+Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "AlamofireRequest+Extensions.swift"; sourceTree = ""; }; - 786D78EB1D53C46E006B2CEA /* AlamofireManager+Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "AlamofireManager+Extensions.swift"; sourceTree = ""; }; - 7873D14E1E1127BC001816EB /* LeadKitError.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LeadKitError.swift; sourceTree = ""; }; - 7873D1501E112B0D001816EB /* Any+Cast.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Any+Cast.swift"; sourceTree = ""; }; - 78753E231DE58A5D006BC0FB /* CursorError.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CursorError.swift; sourceTree = ""; }; - 78753E2B1DE58BF9006BC0FB /* StaticCursor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StaticCursor.swift; sourceTree = ""; }; - 78753E2D1DE58DBA006BC0FB /* FixedPageCursor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FixedPageCursor.swift; sourceTree = ""; }; - 78753E2F1DE594B4006BC0FB /* MapCursor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MapCursor.swift; sourceTree = ""; }; - 787609211E1403830093CE36 /* Observable+DeferredJust.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Observable+DeferredJust.swift"; sourceTree = ""; }; - 787682F91CAD40C200532AB3 /* StaticEstimatedViewHeightProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StaticEstimatedViewHeightProtocol.swift; sourceTree = ""; }; - 787783621CA03CA0001CDC9B /* IndexPath+ImmutableIndexPath.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "IndexPath+ImmutableIndexPath.swift"; sourceTree = ""; }; - 787783661CA04D4A001CDC9B /* String+SizeCalculation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "String+SizeCalculation.swift"; sourceTree = ""; }; - 787D87491E10E1A400D6015C /* ImmutableMappable+ObservableMappable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "ImmutableMappable+ObservableMappable.swift"; sourceTree = ""; }; - 7884DB9B1DC1439200E52A63 /* UserDefaults+MappableDataTypes.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UserDefaults+MappableDataTypes.swift"; sourceTree = ""; }; - 788EC1591CF64528009CFB6B /* UIStoryboard+InstantiateViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIStoryboard+InstantiateViewController.swift"; sourceTree = ""; }; - 789CC6071DE5835600F789D3 /* CursorType.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CursorType.swift; sourceTree = ""; }; - 789CC60A1DE584F800F789D3 /* CursorType+Slice.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "CursorType+Slice.swift"; sourceTree = ""; }; - 78A0FCC51DC366A10070B5E1 /* StoryboardProtocol+DefaultBundle.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "StoryboardProtocol+DefaultBundle.swift"; sourceTree = ""; }; - 78A0FCC61DC366A10070B5E1 /* StoryboardProtocol+Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "StoryboardProtocol+Extensions.swift"; sourceTree = ""; }; - 78A74EA81C6B373700FE9724 /* UIView+DefaultXibName.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = "UIView+DefaultXibName.swift"; path = "LeadKit/Extensions/UIView/UIView+DefaultXibName.swift"; sourceTree = SOURCE_ROOT; }; - 78B036401DA4D7060021D5CC /* UIImage+Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIImage+Extensions.swift"; sourceTree = ""; }; - 78B0364A1DA61EDE0021D5CC /* CGImage+Crop.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "CGImage+Crop.swift"; sourceTree = ""; }; - 78B0FC7C1C6B2BE200358B64 /* LogFormatter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LogFormatter.swift; sourceTree = ""; }; - 78B0FC7E1C6B2C4D00358B64 /* Log.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Log.swift; sourceTree = ""; }; - 78B0FC801C6B2CD500358B64 /* App.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = App.swift; sourceTree = ""; }; - 78C36F7D1D801E3E00E7EBEA /* Double+Rounding.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Double+Rounding.swift"; sourceTree = ""; }; - 78C36F801D8021DD00E7EBEA /* UIColor+Hex.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIColor+Hex.swift"; sourceTree = ""; }; - 78C54AFC1E432EEF0051EFBA /* UIViewController+TopVisibleViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIViewController+TopVisibleViewController.swift"; sourceTree = ""; }; - 78CFEE2A1C5C456B00F50370 /* LeadKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = LeadKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 78CFEE2D1C5C456B00F50370 /* LeadKit.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LeadKit.h; sourceTree = ""; }; - 78CFEE2F1C5C456B00F50370 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 78CFEE341C5C456B00F50370 /* LeadKitTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = LeadKitTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 78CFEE3B1C5C456B00F50370 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 78CFEE481C5C45E500F50370 /* UIView+LoadFromNib.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = "UIView+LoadFromNib.swift"; path = "LeadKit/Extensions/UIView/UIView+LoadFromNib.swift"; sourceTree = SOURCE_ROOT; }; - 78CFEE4B1C5C45E500F50370 /* ReuseIdentifierProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ReuseIdentifierProtocol.swift; sourceTree = ""; }; - 78CFEE4C1C5C45E500F50370 /* XibNameProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = XibNameProtocol.swift; sourceTree = ""; }; - 78CFEE4D1C5C45E500F50370 /* StaticViewHeightProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StaticViewHeightProtocol.swift; sourceTree = ""; }; - 78CFEE4E1C5C45E500F50370 /* StoryboardIdentifierProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StoryboardIdentifierProtocol.swift; sourceTree = ""; }; - 78CFEE4F1C5C45E500F50370 /* ViewHeightProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ViewHeightProtocol.swift; sourceTree = ""; }; - 78CFEE501C5C45E500F50370 /* ViewModelProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ViewModelProtocol.swift; sourceTree = ""; }; - 78D4B5451DA64D49005B0764 /* UIViewController+DefaultStoryboardIdentifier.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIViewController+DefaultStoryboardIdentifier.swift"; sourceTree = ""; }; - 78D4B5491DA64EAB005B0764 /* Any+TypeName.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Any+TypeName.swift"; sourceTree = ""; }; - 90CFCDEC72425A2EFD43F152 /* Pods-LeadKit.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LeadKit.debug.xcconfig"; path = "Pods/Target Support Files/Pods-LeadKit/Pods-LeadKit.debug.xcconfig"; sourceTree = ""; }; - 925D666BEC5C46DC99073A86 /* Pods-LeadKitTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LeadKitTests.release.xcconfig"; path = "Pods/Target Support Files/Pods-LeadKitTests/Pods-LeadKitTests.release.xcconfig"; sourceTree = ""; }; - 95B39A851D9D51250057BD54 /* String+Localization.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "String+Localization.swift"; sourceTree = ""; }; + 1B4633F3E4593D0262D9E505 /* Pods-LeadKit-LeadKit tvOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LeadKit-LeadKit tvOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-LeadKit-LeadKit tvOS/Pods-LeadKit-LeadKit tvOS.debug.xcconfig"; sourceTree = ""; }; + 1DA955AE397186D4042066E0 /* Pods-LeadKit-LeadKit iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LeadKit-LeadKit iOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-LeadKit-LeadKit iOS/Pods-LeadKit-LeadKit iOS.debug.xcconfig"; sourceTree = ""; }; + 287AC0683207753A363152CB /* Pods_LeadKit_watchOSTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_LeadKit_watchOSTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 2BD6FE790236CFF8D2CD505E /* Pods-LeadKit-LeadKit iOS Extensions.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LeadKit-LeadKit iOS Extensions.release.xcconfig"; path = "Pods/Target Support Files/Pods-LeadKit-LeadKit iOS Extensions/Pods-LeadKit-LeadKit iOS Extensions.release.xcconfig"; sourceTree = ""; }; + 381DF859FC4E26D499123014 /* Pods-LeadKit iOS ExtensionsTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LeadKit iOS ExtensionsTests.release.xcconfig"; path = "Pods/Target Support Files/Pods-LeadKit iOS ExtensionsTests/Pods-LeadKit iOS ExtensionsTests.release.xcconfig"; sourceTree = ""; }; + 3C88ED8C9373F85C06697849 /* Pods_LeadKit_iOS_ExtensionsTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_LeadKit_iOS_ExtensionsTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 4B8CD4D99A5B9CDB08308679 /* Pods-LeadKit-LeadKit iOS Extensions.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LeadKit-LeadKit iOS Extensions.debug.xcconfig"; path = "Pods/Target Support Files/Pods-LeadKit-LeadKit iOS Extensions/Pods-LeadKit-LeadKit iOS Extensions.debug.xcconfig"; sourceTree = ""; }; + 4DB1CCAB1EAAACD3AC42C795 /* Pods_LeadKit_tvOSTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_LeadKit_tvOSTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 53B12E773F945234CCA9A7E9 /* Pods-LeadKit iOSTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LeadKit iOSTests.release.xcconfig"; path = "Pods/Target Support Files/Pods-LeadKit iOSTests/Pods-LeadKit iOSTests.release.xcconfig"; sourceTree = ""; }; + 563DDE9CACD515FDCB5A2FFF /* Pods-LeadKit-LeadKit tvOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LeadKit-LeadKit tvOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-LeadKit-LeadKit tvOS/Pods-LeadKit-LeadKit tvOS.release.xcconfig"; sourceTree = ""; }; + 56C11305E2B44404FFFD12AA /* Pods_LeadKit_watchOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_LeadKit_watchOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 65B19DB0B65A1EE1A1E2C907 /* Pods-LeadKit tvOSTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LeadKit tvOSTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-LeadKit tvOSTests/Pods-LeadKit tvOSTests.debug.xcconfig"; sourceTree = ""; }; + 671461C61EB3396E00EAB194 /* Mutex.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Mutex.swift; sourceTree = ""; }; + 671461C81EB3396E00EAB194 /* FixedPageCursor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FixedPageCursor.swift; sourceTree = ""; }; + 671461C91EB3396E00EAB194 /* MapCursor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MapCursor.swift; sourceTree = ""; }; + 671461CA1EB3396E00EAB194 /* StaticCursor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StaticCursor.swift; sourceTree = ""; }; + 671461CC1EB3396E00EAB194 /* App.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = App.swift; sourceTree = ""; }; + 671461CD1EB3396E00EAB194 /* Log.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Log.swift; sourceTree = ""; }; + 671461CE1EB3396E00EAB194 /* LogFormatter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LogFormatter.swift; sourceTree = ""; }; + 671461D01EB3396E00EAB194 /* PaginationTableViewWrapper.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PaginationTableViewWrapper.swift; sourceTree = ""; }; + 671461D11EB3396E00EAB194 /* PaginationViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PaginationViewModel.swift; sourceTree = ""; }; + 671461D31EB3396E00EAB194 /* NetworkService.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NetworkService.swift; sourceTree = ""; }; + 671461D51EB3396E00EAB194 /* XibView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = XibView.swift; sourceTree = ""; }; + 671461D71EB3396E00EAB194 /* CursorError.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CursorError.swift; sourceTree = ""; }; + 671461D81EB3396E00EAB194 /* LeadKitError.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LeadKitError.swift; sourceTree = ""; }; + 671461D91EB3396E00EAB194 /* ResizeContentMode.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ResizeContentMode.swift; sourceTree = ""; }; + 671461DC1EB3396E00EAB194 /* AlamofireManager+Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "AlamofireManager+Extensions.swift"; sourceTree = ""; }; + 671461DD1EB3396E00EAB194 /* AlamofireRequest+Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "AlamofireRequest+Extensions.swift"; sourceTree = ""; }; + 671461DF1EB3396E00EAB194 /* CGContext+Initializers.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "CGContext+Initializers.swift"; sourceTree = ""; }; + 671461E11EB3396E00EAB194 /* CGFloat+Pixels.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "CGFloat+Pixels.swift"; sourceTree = ""; }; + 671461E31EB3396E00EAB194 /* CGImage+Alpha.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "CGImage+Alpha.swift"; sourceTree = ""; }; + 671461E41EB3396E00EAB194 /* CGImage+Crop.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "CGImage+Crop.swift"; sourceTree = ""; }; + 671461E61EB3396E00EAB194 /* CGSize+CGContextSize.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "CGSize+CGContextSize.swift"; sourceTree = ""; }; + 671461E71EB3396E00EAB194 /* CGSize+Resize.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "CGSize+Resize.swift"; sourceTree = ""; }; + 671461E91EB3396E00EAB194 /* CursorType+Slice.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "CursorType+Slice.swift"; sourceTree = ""; }; + 671461EB1EB3396E00EAB194 /* Double+Rounding.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Double+Rounding.swift"; sourceTree = ""; }; + 671461ED1EB3396E00EAB194 /* IndexPath+ImmutableIndexPath.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "IndexPath+ImmutableIndexPath.swift"; sourceTree = ""; }; + 671461EF1EB3396E00EAB194 /* ImmutableMappable+ObservableMappable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "ImmutableMappable+ObservableMappable.swift"; sourceTree = ""; }; + 671461F11EB3396E00EAB194 /* Observable+DeferredJust.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Observable+DeferredJust.swift"; sourceTree = ""; }; + 671461F21EB3396E00EAB194 /* Observable+ToastErrorLogging.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Observable+ToastErrorLogging.swift"; sourceTree = ""; }; + 671461F41EB3396E00EAB194 /* PaginationTableViewWrapperDelegate+DefaultImplementation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "PaginationTableViewWrapperDelegate+DefaultImplementation.swift"; sourceTree = ""; }; + 671461F61EB3396E00EAB194 /* Sequence+ConcurrentMap.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Sequence+ConcurrentMap.swift"; sourceTree = ""; }; + 671461F81EB3396E00EAB194 /* StoryboardProtocol+DefaultBundle.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "StoryboardProtocol+DefaultBundle.swift"; sourceTree = ""; }; + 671461F91EB3396E00EAB194 /* StoryboardProtocol+Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "StoryboardProtocol+Extensions.swift"; sourceTree = ""; }; + 671461FB1EB3396E00EAB194 /* String+Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "String+Extensions.swift"; sourceTree = ""; }; + 671461FC1EB3396E00EAB194 /* String+Localization.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "String+Localization.swift"; sourceTree = ""; }; + 671461FD1EB3396E00EAB194 /* String+SizeCalculation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "String+SizeCalculation.swift"; sourceTree = ""; }; + 671461FF1EB3396E00EAB194 /* UIScrollView+Support.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIScrollView+Support.swift"; sourceTree = ""; }; + 671462011EB3396E00EAB194 /* TableDirector+Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "TableDirector+Extensions.swift"; sourceTree = ""; }; + 671462031EB3396E00EAB194 /* TimeInterval+DateComponents.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "TimeInterval+DateComponents.swift"; sourceTree = ""; }; + 671462051EB3396E00EAB194 /* UIActivityIndicator+LoadingIndicator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIActivityIndicator+LoadingIndicator.swift"; sourceTree = ""; }; + 671462071EB3396E00EAB194 /* UICollectionView+CellRegistration.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UICollectionView+CellRegistration.swift"; sourceTree = ""; }; + 671462091EB3396E00EAB194 /* UIColor+Hex.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIColor+Hex.swift"; sourceTree = ""; }; + 6714620B1EB3396E00EAB194 /* UIDevice+Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIDevice+Extensions.swift"; sourceTree = ""; }; + 6714620D1EB3396E00EAB194 /* UIImage+Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIImage+Extensions.swift"; sourceTree = ""; }; + 6714620E1EB3396E00EAB194 /* UIImage+SupportExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIImage+SupportExtensions.swift"; sourceTree = ""; }; + 671462101EB3396E00EAB194 /* UIStoryboard+InstantiateViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIStoryboard+InstantiateViewController.swift"; sourceTree = ""; }; + 671462121EB3396E00EAB194 /* UIView+DefaultReuseIdentifier.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIView+DefaultReuseIdentifier.swift"; sourceTree = ""; }; + 671462131EB3396E00EAB194 /* UIView+DefaultXibName.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIView+DefaultXibName.swift"; sourceTree = ""; }; + 671462141EB3396E00EAB194 /* UIView+LoadFromNib.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIView+LoadFromNib.swift"; sourceTree = ""; }; + 671462151EB3396E00EAB194 /* UIView+LoadingIndicator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIView+LoadingIndicator.swift"; sourceTree = ""; }; + 671462161EB3396E00EAB194 /* UIView+Rotation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIView+Rotation.swift"; sourceTree = ""; }; + 671462181EB3396E00EAB194 /* UIViewController+DefaultStoryboardIdentifier.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIViewController+DefaultStoryboardIdentifier.swift"; sourceTree = ""; }; + 671462191EB3396E00EAB194 /* UIViewController+DefaultXibName.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIViewController+DefaultXibName.swift"; sourceTree = ""; }; + 6714621A1EB3396E00EAB194 /* UIViewController+TopVisibleViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIViewController+TopVisibleViewController.swift"; sourceTree = ""; }; + 6714621C1EB3396E00EAB194 /* UIWindow+Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIWindow+Extensions.swift"; sourceTree = ""; }; + 6714621E1EB3396E00EAB194 /* UserDefaults+MappableDataTypes.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UserDefaults+MappableDataTypes.swift"; sourceTree = ""; }; + 671462201EB3396E00EAB194 /* Any+Cast.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Any+Cast.swift"; sourceTree = ""; }; + 671462211EB3396E00EAB194 /* Any+TypeName.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Any+TypeName.swift"; sourceTree = ""; }; + 671462231EB3396E00EAB194 /* BaseViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BaseViewModel.swift; sourceTree = ""; }; + 671462241EB3396E00EAB194 /* ConfigurableController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ConfigurableController.swift; sourceTree = ""; }; + 671462251EB3396E00EAB194 /* CursorType.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CursorType.swift; sourceTree = ""; }; + 671462261EB3396E00EAB194 /* DrawingOperation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DrawingOperation.swift; sourceTree = ""; }; + 671462271EB3396E00EAB194 /* EstimatedViewHeightProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EstimatedViewHeightProtocol.swift; sourceTree = ""; }; + 671462281EB3396E00EAB194 /* LoadingIndicator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LoadingIndicator.swift; sourceTree = ""; }; + 671462291EB3396E00EAB194 /* ModuleConfigurator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ModuleConfigurator.swift; sourceTree = ""; }; + 6714622A1EB3396E00EAB194 /* ObservableMappable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ObservableMappable.swift; sourceTree = ""; }; + 6714622B1EB3396E00EAB194 /* ResettableType.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ResettableType.swift; sourceTree = ""; }; + 6714622C1EB3396E00EAB194 /* ReuseIdentifierProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ReuseIdentifierProtocol.swift; sourceTree = ""; }; + 6714622D1EB3396E00EAB194 /* StaticEstimatedViewHeightProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StaticEstimatedViewHeightProtocol.swift; sourceTree = ""; }; + 6714622E1EB3396E00EAB194 /* StaticViewHeightProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StaticViewHeightProtocol.swift; sourceTree = ""; }; + 6714622F1EB3396E00EAB194 /* StoryboardIdentifierProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StoryboardIdentifierProtocol.swift; sourceTree = ""; }; + 671462301EB3396E00EAB194 /* StoryboardProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StoryboardProtocol.swift; sourceTree = ""; }; + 671462311EB3396E00EAB194 /* SupportProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SupportProtocol.swift; sourceTree = ""; }; + 671462321EB3396E00EAB194 /* ViewHeightProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ViewHeightProtocol.swift; sourceTree = ""; }; + 671462331EB3396E00EAB194 /* ViewModelProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ViewModelProtocol.swift; sourceTree = ""; }; + 671462341EB3396E00EAB194 /* XibNameProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = XibNameProtocol.swift; sourceTree = ""; }; + 671462371EB3396E00EAB194 /* ApiRequestParameters.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ApiRequestParameters.swift; sourceTree = ""; }; + 671462391EB3396E00EAB194 /* BorderDrawingOperation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BorderDrawingOperation.swift; sourceTree = ""; }; + 6714623A1EB3396E00EAB194 /* CALayerDrawingOperation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CALayerDrawingOperation.swift; sourceTree = ""; }; + 6714623B1EB3396E00EAB194 /* ImageDrawingOperation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ImageDrawingOperation.swift; sourceTree = ""; }; + 6714623C1EB3396E00EAB194 /* PaddingDrawingOperation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PaddingDrawingOperation.swift; sourceTree = ""; }; + 6714623D1EB3396E00EAB194 /* ResizeDrawingOperation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ResizeDrawingOperation.swift; sourceTree = ""; }; + 6714623E1EB3396E00EAB194 /* RoundDrawingOperation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RoundDrawingOperation.swift; sourceTree = ""; }; + 6714623F1EB3396E00EAB194 /* SolidFillDrawingOperation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SolidFillDrawingOperation.swift; sourceTree = ""; }; + 671462401EB3396E00EAB194 /* TemplateDrawingOperation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TemplateDrawingOperation.swift; sourceTree = ""; }; + 671462431EB3396E00EAB194 /* AnyLoadingIndicator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AnyLoadingIndicator.swift; sourceTree = ""; }; + 6714639D1EB33AEB00EAB194 /* NetworkService+ActivityIndicator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NetworkService+ActivityIndicator.swift"; sourceTree = ""; }; + 671463A11EB33FF600EAB194 /* Animatable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Animatable.swift; sourceTree = ""; }; + 671463A61EB340C000EAB194 /* UIViewController+ConfigurableController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIViewController+ConfigurableController.swift"; sourceTree = ""; }; + 671463AE1EB34B1E00EAB194 /* StubCursor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StubCursor.swift; sourceTree = ""; }; + 671463AF1EB34B1E00EAB194 /* CursorTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CursorTests.swift; sourceTree = ""; }; + 671463B01EB34B1E00EAB194 /* LoadFromNibTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LoadFromNibTests.swift; sourceTree = ""; }; + 671463B11EB34B1E00EAB194 /* MappableUserDefaultsTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MappableUserDefaultsTests.swift; sourceTree = ""; }; + 671463B31EB34B1E00EAB194 /* Post.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Post.swift; sourceTree = ""; }; + 671463B41EB34B1E00EAB194 /* PaginationViewModelTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PaginationViewModelTests.swift; sourceTree = ""; }; + 671463B61EB34B1E00EAB194 /* TestView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TestView.swift; sourceTree = ""; }; + 671463B71EB34B1E00EAB194 /* TestView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = TestView.xib; sourceTree = ""; }; + 67186B201EB247A200CFAFFB /* LeadKit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LeadKit.h; sourceTree = ""; }; + 67186B281EB248F100CFAFFB /* LeadKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = LeadKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 67186B301EB248F100CFAFFB /* LeadKit iOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "LeadKit iOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; + 67186B411EB24AA000CFAFFB /* iOS.playground */ = {isa = PBXFileReference; lastKnownFileType = file.playground; path = iOS.playground; sourceTree = ""; }; + 67186C1A1EB24B7800CFAFFB /* Info-iOS.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "Info-iOS.plist"; sourceTree = ""; }; + 6782BB911EB31CFE0086E0B8 /* LeadKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = LeadKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 6782BBA01EB31D590086E0B8 /* LeadKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = LeadKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 6782BBA81EB31D5A0086E0B8 /* LeadKit tvOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "LeadKit tvOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; + 6782BBB91EB31DD90086E0B8 /* Info-tvOS.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "Info-tvOS.plist"; sourceTree = ""; }; + 67952C391EB3203F00B3BA1A /* Info-iOS.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Info-iOS.plist"; sourceTree = ""; }; + 67952C3A1EB3205D00B3BA1A /* Info-watchOS.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Info-watchOS.plist"; sourceTree = ""; }; + 67952C3B1EB3208000B3BA1A /* Info-tvOS.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Info-tvOS.plist"; sourceTree = ""; }; + 67952DC51EB327B400B3BA1A /* LeadKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = LeadKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 67952DCD1EB327B400B3BA1A /* LeadKit iOS ExtensionsTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "LeadKit iOS ExtensionsTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; + 67952DDC1EB3280900B3BA1A /* Info-iOS-Extensions.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Info-iOS-Extensions.plist"; sourceTree = ""; }; + 67952DDE1EB3285A00B3BA1A /* Info-iOS-Extensions.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Info-iOS-Extensions.plist"; sourceTree = ""; }; + 78405D3B3D3C3E17456877FF /* Pods_LeadKit_iOSTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_LeadKit_iOSTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 8590CA7831555C295C5DC572 /* Pods_LeadKit_LeadKit_watchOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_LeadKit_LeadKit_watchOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 887F99C5326BD220C2811BD6 /* Pods_LeadKit_LeadKit_iOS_Extensions.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_LeadKit_LeadKit_iOS_Extensions.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 95E457F1241D136396FC2420 /* Pods_LeadKitTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_LeadKitTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - A410FBD8EEF020D5BBFB2B61 /* Pods-LeadKit.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LeadKit.release.xcconfig"; path = "Pods/Target Support Files/Pods-LeadKit/Pods-LeadKit.release.xcconfig"; sourceTree = ""; }; - CA1FE7081E27D7DE00968901 /* UIDevice+Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = "UIDevice+Extensions.swift"; path = "UIDevice/UIDevice+Extensions.swift"; sourceTree = ""; }; - CA6196DF1E9BDB5600C5889F /* UIWindow+Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = "UIWindow+Extensions.swift"; path = "UIWindow/UIWindow+Extensions.swift"; sourceTree = ""; }; - CAA707D41E2E614E0022D732 /* ModuleConfigurator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ModuleConfigurator.swift; sourceTree = ""; }; - CAA707D61E2E616D0022D732 /* BaseViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BaseViewModel.swift; sourceTree = ""; }; - CAA707D81E2E61A50022D732 /* ConfigurableController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ConfigurableController.swift; sourceTree = ""; }; - CAE698C01E965B47000394B0 /* TableDirector+Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = "TableDirector+Extensions.swift"; path = "TableDirector/TableDirector+Extensions.swift"; sourceTree = ""; }; - CAE698C41E96775F000394B0 /* String+Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "String+Extensions.swift"; sourceTree = ""; }; - CC832342120EAD568C9F7FC3 /* Pods-LeadKitTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LeadKitTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-LeadKitTests/Pods-LeadKitTests.debug.xcconfig"; sourceTree = ""; }; - E126CBB21DB68DDA00E1B2F8 /* UICollectionView+CellRegistration.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = "UICollectionView+CellRegistration.swift"; path = "UICollectionView/UICollectionView+CellRegistration.swift"; sourceTree = ""; }; - EDF3DE3E1EA4F2E80016F729 /* UIViewController+DefaultXibName.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIViewController+DefaultXibName.swift"; sourceTree = ""; }; - EF2921A51E165DF400E8F43B /* TimeInterval+DateComponents.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "TimeInterval+DateComponents.swift"; sourceTree = ""; }; - EF5FB5681E0141610030E4BE /* UIView+Rotation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIView+Rotation.swift"; sourceTree = ""; }; + 9966FB938D114F79F71AE037 /* Pods-LeadKit-LeadKit iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LeadKit-LeadKit iOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-LeadKit-LeadKit iOS/Pods-LeadKit-LeadKit iOS.release.xcconfig"; sourceTree = ""; }; + A854A36EB179651E6D0CC9FB /* Pods_LeadKit_tvOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_LeadKit_tvOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + BECC6E4BF63781403877B059 /* Pods-LeadKit-LeadKit watchOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LeadKit-LeadKit watchOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-LeadKit-LeadKit watchOS/Pods-LeadKit-LeadKit watchOS.release.xcconfig"; sourceTree = ""; }; + CB02EAC4E52AF48AD64EC045 /* Pods-LeadKit iOS ExtensionsTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LeadKit iOS ExtensionsTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-LeadKit iOS ExtensionsTests/Pods-LeadKit iOS ExtensionsTests.debug.xcconfig"; sourceTree = ""; }; + CD7003F75FD6DDC97DC99A7A /* Pods-LeadKit iOSTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LeadKit iOSTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-LeadKit iOSTests/Pods-LeadKit iOSTests.debug.xcconfig"; sourceTree = ""; }; + CFE9323150A9760008093F73 /* Pods_LeadKit_LeadKit_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_LeadKit_LeadKit_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D0F8D0002B21A4F31981F1ED /* Pods_LeadKit_LeadKit_tvOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_LeadKit_LeadKit_tvOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D840E55867DC9BB63460B856 /* Pods-LeadKit tvOSTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LeadKit tvOSTests.release.xcconfig"; path = "Pods/Target Support Files/Pods-LeadKit tvOSTests/Pods-LeadKit tvOSTests.release.xcconfig"; sourceTree = ""; }; + DF1148A279C7AC7A42B0A0F8 /* Pods_LeadKit_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_LeadKit_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 78CFEE261C5C456B00F50370 /* Frameworks */ = { + 67186B241EB248F100CFAFFB /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - AA85F7AE8EED4FF1691CAAB8 /* Pods_LeadKit.framework in Frameworks */, + BA6C6DB45950382041948FC5 /* Pods_LeadKit_LeadKit_iOS.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 78CFEE311C5C456B00F50370 /* Frameworks */ = { + 67186B2D1EB248F100CFAFFB /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 78CFEE351C5C456B00F50370 /* LeadKit.framework in Frameworks */, - 84C5A3307076B3D89F018CE8 /* Pods_LeadKitTests.framework in Frameworks */, + 67186B311EB248F100CFAFFB /* LeadKit.framework in Frameworks */, + FDE4AA990268F140877307E7 /* Pods_LeadKit_iOSTests.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 6782BB8D1EB31CFE0086E0B8 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + D6EE55093E404DEA62B03DDF /* Pods_LeadKit_LeadKit_watchOS.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 6782BB9C1EB31D590086E0B8 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 2D96F18874B9519F5AD74003 /* Pods_LeadKit_LeadKit_tvOS.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 6782BBA51EB31D5A0086E0B8 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 6782BBA91EB31D5A0086E0B8 /* LeadKit.framework in Frameworks */, + 3614FEACB9E8313C87F7C393 /* Pods_LeadKit_tvOSTests.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 67952DC11EB327B400B3BA1A /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + DEE25FE98D40ED1C168F384A /* Pods_LeadKit_LeadKit_iOS_Extensions.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 67952DCA1EB327B400B3BA1A /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 67952DCE1EB327B500B3BA1A /* LeadKit.framework in Frameworks */, + 2D6A0E6105F4A9BF22BF4BB1 /* Pods_LeadKit_iOS_ExtensionsTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 6727419E1E65BF3C0075836A /* Models */ = { + 671461C41EB3396E00EAB194 /* Classes */ = { isa = PBXGroup; children = ( - 6727419F1E65C1E00075836A /* Post.swift */, - ); - path = Models; - sourceTree = ""; - }; - 675D24B01E9234A400E92D1F /* Pagination */ = { - isa = PBXGroup; - children = ( - 675D24B11E9234BB00E92D1F /* PaginationViewModel.swift */, - 678A20291E93C1A900787562 /* PaginationTableViewWrapper.swift */, - ); - path = Pagination; - sourceTree = ""; - }; - 675FB4231EA779650075BF3D /* Concurrency */ = { - isa = PBXGroup; - children = ( - 675FB4241EA7797C0075BF3D /* Mutex.swift */, - ); - path = Concurrency; - sourceTree = ""; - }; - 676D177F1EAE1364002E19F9 /* CGSize */ = { - isa = PBXGroup; - children = ( - 676D17801EAE137B002E19F9 /* CGSize+Resize.swift */, - 67A7B1941EAF5F9B00E5BC59 /* CGSize+CGContextSize.swift */, - ); - path = CGSize; - sourceTree = ""; - }; - 67788F9D1E6965F800484DEE /* CGFloat */ = { - isa = PBXGroup; - children = ( - 67788F9E1E69661800484DEE /* CGFloat+Pixels.swift */, - ); - path = CGFloat; - sourceTree = ""; - }; - 679DE4921E9613ED006F25FE /* Support */ = { - isa = PBXGroup; - children = ( - 679DE4931E9613ED006F25FE /* UIScrollView+Support.swift */, - ); - path = Support; - sourceTree = ""; - }; - 67A7B18F1EAF5F2200E5BC59 /* DrawingOperations */ = { - isa = PBXGroup; - children = ( - 67A7B1901EAF5F4900E5BC59 /* ImageDrawingOperation.swift */, - 67A7B1921EAF5F6A00E5BC59 /* TemplateDrawingOperation.swift */, - 67A7B1981EAF602900E5BC59 /* RoundDrawingOperation.swift */, - 67A7B19A1EAF60B100E5BC59 /* BorderDrawingOperation.swift */, - 67A7B19E1EAF646400E5BC59 /* PaddingDrawingOperation.swift */, - 67A7B1A01EAF67AE00E5BC59 /* SolidFillDrawingOperation.swift */, - 67A7B1A21EAF6B4600E5BC59 /* CALayerDrawingOperation.swift */, - 67186B171EB1DC0500CFAFFB /* ResizeDrawingOperation.swift */, - ); - path = DrawingOperations; - sourceTree = ""; - }; - 67B305791E8A8727008169CA /* Views */ = { - isa = PBXGroup; - children = ( - 67B3057A1E8A8727008169CA /* TestView.xib */, - 67B3057C1E8A8735008169CA /* TestView.swift */, - ); - path = Views; - sourceTree = ""; - }; - 67B305801E8A92B6008169CA /* Views */ = { - isa = PBXGroup; - children = ( - 67B305831E8A92E8008169CA /* XibView.swift */, - ); - path = Views; - sourceTree = ""; - }; - 67DC65071E979BA9002F2FFF /* UIActivityIndicator */ = { - isa = PBXGroup; - children = ( - 67DC65081E979BB8002F2FFF /* UIActivityIndicator+LoadingIndicator.swift */, - ); - path = UIActivityIndicator; - sourceTree = ""; - }; - 67DC650A1E979BFD002F2FFF /* Views */ = { - isa = PBXGroup; - children = ( - 67DC650B1E979C0A002F2FFF /* AnyLoadingIndicator.swift */, - ); - path = Views; - sourceTree = ""; - }; - 67DC650D1E979CF7002F2FFF /* PaginationTableViewWrapperDelegate */ = { - isa = PBXGroup; - children = ( - 67DC650E1E979D0C002F2FFF /* PaginationTableViewWrapperDelegate+DefaultImplementation.swift */, - ); - path = PaginationTableViewWrapperDelegate; - sourceTree = ""; - }; - 67EF144A1E8BEA9C00D6E0DD /* Cursors */ = { - isa = PBXGroup; - children = ( - 67EF144B1E8BEACB00D6E0DD /* StubCursor.swift */, - ); - path = Cursors; - sourceTree = ""; - }; - 78011A651D47AF3000EA16A2 /* Enums */ = { - isa = PBXGroup; - children = ( - 78753E231DE58A5D006BC0FB /* CursorError.swift */, - 7873D14E1E1127BC001816EB /* LeadKitError.swift */, - 676D177D1EAE0661002E19F9 /* ResizeContentMode.swift */, - ); - path = Enums; - sourceTree = ""; - }; - 78011AAE1D48B46100EA16A2 /* Structures */ = { - isa = PBXGroup; - children = ( - 67DC650A1E979BFD002F2FFF /* Views */, - 78011AB11D48B53600EA16A2 /* Api */, - 67A7B18F1EAF5F2200E5BC59 /* DrawingOperations */, - ); - path = Structures; - sourceTree = ""; - }; - 78011AB11D48B53600EA16A2 /* Api */ = { - isa = PBXGroup; - children = ( - 78011AB21D48B53600EA16A2 /* ApiRequestParameters.swift */, - ); - path = Api; - sourceTree = ""; - }; - 780D23411DA412330084620D /* CGImage */ = { - isa = PBXGroup; - children = ( - 780D23421DA412470084620D /* CGImage+Alpha.swift */, - 78B0364A1DA61EDE0021D5CC /* CGImage+Crop.swift */, - ); - path = CGImage; - sourceTree = ""; - }; - 780D23441DA416E80084620D /* CGContext */ = { - isa = PBXGroup; - children = ( - 780D23451DA416F80084620D /* CGContext+Initializers.swift */, - ); - path = CGContext; - sourceTree = ""; - }; - 780F56C81E0D76A5004530B6 /* Sequence */ = { - isa = PBXGroup; - children = ( - 780F56C91E0D76B8004530B6 /* Sequence+ConcurrentMap.swift */, - ); - path = Sequence; - sourceTree = ""; - }; - 783AF0591E40824300EC5ADE /* Services */ = { - isa = PBXGroup; - children = ( - 783AF06C1E41CF5B00EC5ADE /* NetworkService.swift */, - ); - path = Services; - sourceTree = ""; - }; - 786D78E61D53C355006B2CEA /* Alamofire */ = { - isa = PBXGroup; - children = ( - 786D78E71D53C378006B2CEA /* AlamofireRequest+Extensions.swift */, - 786D78EB1D53C46E006B2CEA /* AlamofireManager+Extensions.swift */, - ); - path = Alamofire; - sourceTree = ""; - }; - 78753E2A1DE58BED006BC0FB /* Cursors */ = { - isa = PBXGroup; - children = ( - 78753E2B1DE58BF9006BC0FB /* StaticCursor.swift */, - 78753E2D1DE58DBA006BC0FB /* FixedPageCursor.swift */, - 78753E2F1DE594B4006BC0FB /* MapCursor.swift */, - ); - path = Cursors; - sourceTree = ""; - }; - 787609201E1403460093CE36 /* Observable */ = { - isa = PBXGroup; - children = ( - 787609211E1403830093CE36 /* Observable+DeferredJust.swift */, - 783AF06A1E41CE6C00EC5ADE /* Observable+ToastErrorLogging.swift */, - ); - path = Observable; - sourceTree = ""; - }; - 787783611CA03C84001CDC9B /* IndexPath */ = { - isa = PBXGroup; - children = ( - 787783621CA03CA0001CDC9B /* IndexPath+ImmutableIndexPath.swift */, - ); - path = IndexPath; - sourceTree = ""; - }; - 787783651CA04D14001CDC9B /* String */ = { - isa = PBXGroup; - children = ( - 787783661CA04D4A001CDC9B /* String+SizeCalculation.swift */, - 95B39A851D9D51250057BD54 /* String+Localization.swift */, - CAE698C41E96775F000394B0 /* String+Extensions.swift */, - ); - path = String; - sourceTree = ""; - }; - 787D87481E10E19000D6015C /* ObjectMapper */ = { - isa = PBXGroup; - children = ( - 787D87491E10E1A400D6015C /* ImmutableMappable+ObservableMappable.swift */, - ); - path = ObjectMapper; - sourceTree = ""; - }; - 7884DB9A1DC1432B00E52A63 /* UserDefaults */ = { - isa = PBXGroup; - children = ( - 7884DB9B1DC1439200E52A63 /* UserDefaults+MappableDataTypes.swift */, - ); - path = UserDefaults; - sourceTree = ""; - }; - 789CC6091DE584C000F789D3 /* CursorType */ = { - isa = PBXGroup; - children = ( - 789CC60A1DE584F800F789D3 /* CursorType+Slice.swift */, - ); - path = CursorType; - sourceTree = ""; - }; - 78A0FCC41DC366A10070B5E1 /* StoryboardProtocol */ = { - isa = PBXGroup; - children = ( - 78A0FCC51DC366A10070B5E1 /* StoryboardProtocol+DefaultBundle.swift */, - 78A0FCC61DC366A10070B5E1 /* StoryboardProtocol+Extensions.swift */, - ); - path = StoryboardProtocol; - sourceTree = ""; - }; - 78A74EAA1C6B401800FE9724 /* Classes */ = { - isa = PBXGroup; - children = ( - 783AF0591E40824300EC5ADE /* Services */, - 78B0FC7B1C6B2BAE00358B64 /* Logging */, - 78753E2A1DE58BED006BC0FB /* Cursors */, - 67B305801E8A92B6008169CA /* Views */, - 675D24B01E9234A400E92D1F /* Pagination */, - 675FB4231EA779650075BF3D /* Concurrency */, + 671461C51EB3396E00EAB194 /* Concurrency */, + 671461C71EB3396E00EAB194 /* Cursors */, + 671461CB1EB3396E00EAB194 /* Logging */, + 671461CF1EB3396E00EAB194 /* Pagination */, + 671461D21EB3396E00EAB194 /* Services */, + 671461D41EB3396E00EAB194 /* Views */, ); path = Classes; sourceTree = ""; }; - 78B0FC7B1C6B2BAE00358B64 /* Logging */ = { + 671461C51EB3396E00EAB194 /* Concurrency */ = { isa = PBXGroup; children = ( - 78B0FC7C1C6B2BE200358B64 /* LogFormatter.swift */, - 78B0FC7E1C6B2C4D00358B64 /* Log.swift */, - 78B0FC801C6B2CD500358B64 /* App.swift */, + 671461C61EB3396E00EAB194 /* Mutex.swift */, + ); + path = Concurrency; + sourceTree = ""; + }; + 671461C71EB3396E00EAB194 /* Cursors */ = { + isa = PBXGroup; + children = ( + 671461C81EB3396E00EAB194 /* FixedPageCursor.swift */, + 671461C91EB3396E00EAB194 /* MapCursor.swift */, + 671461CA1EB3396E00EAB194 /* StaticCursor.swift */, + ); + path = Cursors; + sourceTree = ""; + }; + 671461CB1EB3396E00EAB194 /* Logging */ = { + isa = PBXGroup; + children = ( + 671461CC1EB3396E00EAB194 /* App.swift */, + 671461CD1EB3396E00EAB194 /* Log.swift */, + 671461CE1EB3396E00EAB194 /* LogFormatter.swift */, ); path = Logging; sourceTree = ""; }; - 78C36F7C1D801E2F00E7EBEA /* Double */ = { + 671461CF1EB3396E00EAB194 /* Pagination */ = { isa = PBXGroup; children = ( - 78C36F7D1D801E3E00E7EBEA /* Double+Rounding.swift */, + 671461D01EB3396E00EAB194 /* PaginationTableViewWrapper.swift */, + 671461D11EB3396E00EAB194 /* PaginationViewModel.swift */, + ); + path = Pagination; + sourceTree = ""; + }; + 671461D21EB3396E00EAB194 /* Services */ = { + isa = PBXGroup; + children = ( + 671461D31EB3396E00EAB194 /* NetworkService.swift */, + ); + path = Services; + sourceTree = ""; + }; + 671461D41EB3396E00EAB194 /* Views */ = { + isa = PBXGroup; + children = ( + 671461D51EB3396E00EAB194 /* XibView.swift */, + ); + path = Views; + sourceTree = ""; + }; + 671461D61EB3396E00EAB194 /* Enums */ = { + isa = PBXGroup; + children = ( + 671461D71EB3396E00EAB194 /* CursorError.swift */, + 671461D81EB3396E00EAB194 /* LeadKitError.swift */, + 671461D91EB3396E00EAB194 /* ResizeContentMode.swift */, + ); + path = Enums; + sourceTree = ""; + }; + 671461DA1EB3396E00EAB194 /* Extensions */ = { + isa = PBXGroup; + children = ( + 671461DB1EB3396E00EAB194 /* Alamofire */, + 671461DE1EB3396E00EAB194 /* CGContext */, + 671461E01EB3396E00EAB194 /* CGFloat */, + 671461E21EB3396E00EAB194 /* CGImage */, + 671461E51EB3396E00EAB194 /* CGSize */, + 671461E81EB3396E00EAB194 /* CursorType */, + 671461EA1EB3396E00EAB194 /* Double */, + 671461EC1EB3396E00EAB194 /* IndexPath */, + 6714639C1EB33AC200EAB194 /* NetworkService */, + 671461EE1EB3396E00EAB194 /* ObjectMapper */, + 671461F01EB3396E00EAB194 /* Observable */, + 671461F31EB3396E00EAB194 /* PaginationTableViewWrapperDelegate */, + 671461F51EB3396E00EAB194 /* Sequence */, + 671461F71EB3396E00EAB194 /* StoryboardProtocol */, + 671461FA1EB3396E00EAB194 /* String */, + 671461FE1EB3396E00EAB194 /* Support */, + 671462001EB3396E00EAB194 /* TableDirector */, + 671462021EB3396E00EAB194 /* TimeInterval */, + 671462041EB3396E00EAB194 /* UIActivityIndicator */, + 671462061EB3396E00EAB194 /* UICollectionView */, + 671462081EB3396E00EAB194 /* UIColor */, + 6714620A1EB3396E00EAB194 /* UIDevice */, + 6714620C1EB3396E00EAB194 /* UIImage */, + 6714620F1EB3396E00EAB194 /* UIStoryboard */, + 671462111EB3396E00EAB194 /* UIView */, + 671462171EB3396E00EAB194 /* UIViewController */, + 6714621B1EB3396E00EAB194 /* UIWindow */, + 6714621D1EB3396E00EAB194 /* UserDefaults */, + ); + path = Extensions; + sourceTree = ""; + }; + 671461DB1EB3396E00EAB194 /* Alamofire */ = { + isa = PBXGroup; + children = ( + 671461DC1EB3396E00EAB194 /* AlamofireManager+Extensions.swift */, + 671461DD1EB3396E00EAB194 /* AlamofireRequest+Extensions.swift */, + ); + path = Alamofire; + sourceTree = ""; + }; + 671461DE1EB3396E00EAB194 /* CGContext */ = { + isa = PBXGroup; + children = ( + 671461DF1EB3396E00EAB194 /* CGContext+Initializers.swift */, + ); + path = CGContext; + sourceTree = ""; + }; + 671461E01EB3396E00EAB194 /* CGFloat */ = { + isa = PBXGroup; + children = ( + 671461E11EB3396E00EAB194 /* CGFloat+Pixels.swift */, + ); + path = CGFloat; + sourceTree = ""; + }; + 671461E21EB3396E00EAB194 /* CGImage */ = { + isa = PBXGroup; + children = ( + 671461E31EB3396E00EAB194 /* CGImage+Alpha.swift */, + 671461E41EB3396E00EAB194 /* CGImage+Crop.swift */, + ); + path = CGImage; + sourceTree = ""; + }; + 671461E51EB3396E00EAB194 /* CGSize */ = { + isa = PBXGroup; + children = ( + 671461E61EB3396E00EAB194 /* CGSize+CGContextSize.swift */, + 671461E71EB3396E00EAB194 /* CGSize+Resize.swift */, + ); + path = CGSize; + sourceTree = ""; + }; + 671461E81EB3396E00EAB194 /* CursorType */ = { + isa = PBXGroup; + children = ( + 671461E91EB3396E00EAB194 /* CursorType+Slice.swift */, + ); + path = CursorType; + sourceTree = ""; + }; + 671461EA1EB3396E00EAB194 /* Double */ = { + isa = PBXGroup; + children = ( + 671461EB1EB3396E00EAB194 /* Double+Rounding.swift */, ); path = Double; sourceTree = ""; }; - 78C36F7F1D8021D100E7EBEA /* UIColor */ = { + 671461EC1EB3396E00EAB194 /* IndexPath */ = { isa = PBXGroup; children = ( - 78C36F801D8021DD00E7EBEA /* UIColor+Hex.swift */, + 671461ED1EB3396E00EAB194 /* IndexPath+ImmutableIndexPath.swift */, + ); + path = IndexPath; + sourceTree = ""; + }; + 671461EE1EB3396E00EAB194 /* ObjectMapper */ = { + isa = PBXGroup; + children = ( + 671461EF1EB3396E00EAB194 /* ImmutableMappable+ObservableMappable.swift */, + ); + path = ObjectMapper; + sourceTree = ""; + }; + 671461F01EB3396E00EAB194 /* Observable */ = { + isa = PBXGroup; + children = ( + 671461F11EB3396E00EAB194 /* Observable+DeferredJust.swift */, + 671461F21EB3396E00EAB194 /* Observable+ToastErrorLogging.swift */, + ); + path = Observable; + sourceTree = ""; + }; + 671461F31EB3396E00EAB194 /* PaginationTableViewWrapperDelegate */ = { + isa = PBXGroup; + children = ( + 671461F41EB3396E00EAB194 /* PaginationTableViewWrapperDelegate+DefaultImplementation.swift */, + ); + path = PaginationTableViewWrapperDelegate; + sourceTree = ""; + }; + 671461F51EB3396E00EAB194 /* Sequence */ = { + isa = PBXGroup; + children = ( + 671461F61EB3396E00EAB194 /* Sequence+ConcurrentMap.swift */, + ); + path = Sequence; + sourceTree = ""; + }; + 671461F71EB3396E00EAB194 /* StoryboardProtocol */ = { + isa = PBXGroup; + children = ( + 671461F81EB3396E00EAB194 /* StoryboardProtocol+DefaultBundle.swift */, + 671461F91EB3396E00EAB194 /* StoryboardProtocol+Extensions.swift */, + ); + path = StoryboardProtocol; + sourceTree = ""; + }; + 671461FA1EB3396E00EAB194 /* String */ = { + isa = PBXGroup; + children = ( + 671461FB1EB3396E00EAB194 /* String+Extensions.swift */, + 671461FC1EB3396E00EAB194 /* String+Localization.swift */, + 671461FD1EB3396E00EAB194 /* String+SizeCalculation.swift */, + ); + path = String; + sourceTree = ""; + }; + 671461FE1EB3396E00EAB194 /* Support */ = { + isa = PBXGroup; + children = ( + 671461FF1EB3396E00EAB194 /* UIScrollView+Support.swift */, + ); + path = Support; + sourceTree = ""; + }; + 671462001EB3396E00EAB194 /* TableDirector */ = { + isa = PBXGroup; + children = ( + 671462011EB3396E00EAB194 /* TableDirector+Extensions.swift */, + ); + path = TableDirector; + sourceTree = ""; + }; + 671462021EB3396E00EAB194 /* TimeInterval */ = { + isa = PBXGroup; + children = ( + 671462031EB3396E00EAB194 /* TimeInterval+DateComponents.swift */, + ); + path = TimeInterval; + sourceTree = ""; + }; + 671462041EB3396E00EAB194 /* UIActivityIndicator */ = { + isa = PBXGroup; + children = ( + 671462051EB3396E00EAB194 /* UIActivityIndicator+LoadingIndicator.swift */, + ); + path = UIActivityIndicator; + sourceTree = ""; + }; + 671462061EB3396E00EAB194 /* UICollectionView */ = { + isa = PBXGroup; + children = ( + 671462071EB3396E00EAB194 /* UICollectionView+CellRegistration.swift */, + ); + path = UICollectionView; + sourceTree = ""; + }; + 671462081EB3396E00EAB194 /* UIColor */ = { + isa = PBXGroup; + children = ( + 671462091EB3396E00EAB194 /* UIColor+Hex.swift */, ); path = UIColor; sourceTree = ""; }; + 6714620A1EB3396E00EAB194 /* UIDevice */ = { + isa = PBXGroup; + children = ( + 6714620B1EB3396E00EAB194 /* UIDevice+Extensions.swift */, + ); + path = UIDevice; + sourceTree = ""; + }; + 6714620C1EB3396E00EAB194 /* UIImage */ = { + isa = PBXGroup; + children = ( + 6714620D1EB3396E00EAB194 /* UIImage+Extensions.swift */, + 6714620E1EB3396E00EAB194 /* UIImage+SupportExtensions.swift */, + ); + path = UIImage; + sourceTree = ""; + }; + 6714620F1EB3396E00EAB194 /* UIStoryboard */ = { + isa = PBXGroup; + children = ( + 671462101EB3396E00EAB194 /* UIStoryboard+InstantiateViewController.swift */, + ); + path = UIStoryboard; + sourceTree = ""; + }; + 671462111EB3396E00EAB194 /* UIView */ = { + isa = PBXGroup; + children = ( + 671462121EB3396E00EAB194 /* UIView+DefaultReuseIdentifier.swift */, + 671462131EB3396E00EAB194 /* UIView+DefaultXibName.swift */, + 671462141EB3396E00EAB194 /* UIView+LoadFromNib.swift */, + 671462151EB3396E00EAB194 /* UIView+LoadingIndicator.swift */, + 671462161EB3396E00EAB194 /* UIView+Rotation.swift */, + ); + path = UIView; + sourceTree = ""; + }; + 671462171EB3396E00EAB194 /* UIViewController */ = { + isa = PBXGroup; + children = ( + 671462181EB3396E00EAB194 /* UIViewController+DefaultStoryboardIdentifier.swift */, + 671462191EB3396E00EAB194 /* UIViewController+DefaultXibName.swift */, + 6714621A1EB3396E00EAB194 /* UIViewController+TopVisibleViewController.swift */, + 671463A61EB340C000EAB194 /* UIViewController+ConfigurableController.swift */, + ); + path = UIViewController; + sourceTree = ""; + }; + 6714621B1EB3396E00EAB194 /* UIWindow */ = { + isa = PBXGroup; + children = ( + 6714621C1EB3396E00EAB194 /* UIWindow+Extensions.swift */, + ); + path = UIWindow; + sourceTree = ""; + }; + 6714621D1EB3396E00EAB194 /* UserDefaults */ = { + isa = PBXGroup; + children = ( + 6714621E1EB3396E00EAB194 /* UserDefaults+MappableDataTypes.swift */, + ); + path = UserDefaults; + sourceTree = ""; + }; + 6714621F1EB3396E00EAB194 /* Functions */ = { + isa = PBXGroup; + children = ( + 671462201EB3396E00EAB194 /* Any+Cast.swift */, + 671462211EB3396E00EAB194 /* Any+TypeName.swift */, + ); + path = Functions; + sourceTree = ""; + }; + 671462221EB3396E00EAB194 /* Protocols */ = { + isa = PBXGroup; + children = ( + 671462231EB3396E00EAB194 /* BaseViewModel.swift */, + 671462241EB3396E00EAB194 /* ConfigurableController.swift */, + 671462251EB3396E00EAB194 /* CursorType.swift */, + 671462261EB3396E00EAB194 /* DrawingOperation.swift */, + 671462271EB3396E00EAB194 /* EstimatedViewHeightProtocol.swift */, + 671462281EB3396E00EAB194 /* LoadingIndicator.swift */, + 671462291EB3396E00EAB194 /* ModuleConfigurator.swift */, + 6714622A1EB3396E00EAB194 /* ObservableMappable.swift */, + 6714622B1EB3396E00EAB194 /* ResettableType.swift */, + 6714622C1EB3396E00EAB194 /* ReuseIdentifierProtocol.swift */, + 6714622D1EB3396E00EAB194 /* StaticEstimatedViewHeightProtocol.swift */, + 6714622E1EB3396E00EAB194 /* StaticViewHeightProtocol.swift */, + 6714622F1EB3396E00EAB194 /* StoryboardIdentifierProtocol.swift */, + 671462301EB3396E00EAB194 /* StoryboardProtocol.swift */, + 671462311EB3396E00EAB194 /* SupportProtocol.swift */, + 671462321EB3396E00EAB194 /* ViewHeightProtocol.swift */, + 671462331EB3396E00EAB194 /* ViewModelProtocol.swift */, + 671462341EB3396E00EAB194 /* XibNameProtocol.swift */, + 671463A11EB33FF600EAB194 /* Animatable.swift */, + ); + path = Protocols; + sourceTree = ""; + }; + 671462351EB3396E00EAB194 /* Structures */ = { + isa = PBXGroup; + children = ( + 671462361EB3396E00EAB194 /* Api */, + 671462421EB3396E00EAB194 /* Views */, + 671462381EB3396E00EAB194 /* DrawingOperations */, + ); + path = Structures; + sourceTree = ""; + }; + 671462361EB3396E00EAB194 /* Api */ = { + isa = PBXGroup; + children = ( + 671462371EB3396E00EAB194 /* ApiRequestParameters.swift */, + ); + path = Api; + sourceTree = ""; + }; + 671462381EB3396E00EAB194 /* DrawingOperations */ = { + isa = PBXGroup; + children = ( + 671462391EB3396E00EAB194 /* BorderDrawingOperation.swift */, + 6714623A1EB3396E00EAB194 /* CALayerDrawingOperation.swift */, + 6714623B1EB3396E00EAB194 /* ImageDrawingOperation.swift */, + 6714623C1EB3396E00EAB194 /* PaddingDrawingOperation.swift */, + 6714623D1EB3396E00EAB194 /* ResizeDrawingOperation.swift */, + 6714623E1EB3396E00EAB194 /* RoundDrawingOperation.swift */, + 6714623F1EB3396E00EAB194 /* SolidFillDrawingOperation.swift */, + 671462401EB3396E00EAB194 /* TemplateDrawingOperation.swift */, + ); + path = DrawingOperations; + sourceTree = ""; + }; + 671462421EB3396E00EAB194 /* Views */ = { + isa = PBXGroup; + children = ( + 671462431EB3396E00EAB194 /* AnyLoadingIndicator.swift */, + ); + path = Views; + sourceTree = ""; + }; + 6714639C1EB33AC200EAB194 /* NetworkService */ = { + isa = PBXGroup; + children = ( + 6714639D1EB33AEB00EAB194 /* NetworkService+ActivityIndicator.swift */, + ); + path = NetworkService; + sourceTree = ""; + }; + 671463AD1EB34B1E00EAB194 /* Cursors */ = { + isa = PBXGroup; + children = ( + 671463AE1EB34B1E00EAB194 /* StubCursor.swift */, + ); + path = Cursors; + sourceTree = ""; + }; + 671463B21EB34B1E00EAB194 /* Models */ = { + isa = PBXGroup; + children = ( + 671463B31EB34B1E00EAB194 /* Post.swift */, + ); + path = Models; + sourceTree = ""; + }; + 671463B51EB34B1E00EAB194 /* Views */ = { + isa = PBXGroup; + children = ( + 671463B61EB34B1E00EAB194 /* TestView.swift */, + 671463B71EB34B1E00EAB194 /* TestView.xib */, + ); + path = Views; + sourceTree = ""; + }; + 67186B1D1EB2475500CFAFFB /* Sources */ = { + isa = PBXGroup; + children = ( + 671461C41EB3396E00EAB194 /* Classes */, + 671461D61EB3396E00EAB194 /* Enums */, + 671461DA1EB3396E00EAB194 /* Extensions */, + 6714621F1EB3396E00EAB194 /* Functions */, + 671462221EB3396E00EAB194 /* Protocols */, + 671462351EB3396E00EAB194 /* Structures */, + 67952C391EB3203F00B3BA1A /* Info-iOS.plist */, + 67952DDC1EB3280900B3BA1A /* Info-iOS-Extensions.plist */, + 67952C3A1EB3205D00B3BA1A /* Info-watchOS.plist */, + 67952C3B1EB3208000B3BA1A /* Info-tvOS.plist */, + 67186B201EB247A200CFAFFB /* LeadKit.h */, + ); + path = Sources; + sourceTree = ""; + }; + 67186B401EB24A5B00CFAFFB /* Tests */ = { + isa = PBXGroup; + children = ( + 671463AD1EB34B1E00EAB194 /* Cursors */, + 671463B21EB34B1E00EAB194 /* Models */, + 671463B51EB34B1E00EAB194 /* Views */, + 671463AF1EB34B1E00EAB194 /* CursorTests.swift */, + 671463B01EB34B1E00EAB194 /* LoadFromNibTests.swift */, + 671463B11EB34B1E00EAB194 /* MappableUserDefaultsTests.swift */, + 671463B41EB34B1E00EAB194 /* PaginationViewModelTests.swift */, + 67952DDE1EB3285A00B3BA1A /* Info-iOS-Extensions.plist */, + 67186C1A1EB24B7800CFAFFB /* Info-iOS.plist */, + 6782BBB91EB31DD90086E0B8 /* Info-tvOS.plist */, + ); + path = Tests; + sourceTree = ""; + }; 78CFEE201C5C456B00F50370 = { isa = PBXGroup; children = ( - 78CFEE2C1C5C456B00F50370 /* LeadKit */, - 78CFEE381C5C456B00F50370 /* LeadKitTests */, + 67186B1D1EB2475500CFAFFB /* Sources */, + 67186B401EB24A5B00CFAFFB /* Tests */, + 67186B411EB24AA000CFAFFB /* iOS.playground */, 78CFEE2B1C5C456B00F50370 /* Products */, EE8EDD9378EF7D1B3C4F2147 /* Pods */, C90516DF61394D92FF071C0C /* Frameworks */, @@ -552,265 +1088,245 @@ 78CFEE2B1C5C456B00F50370 /* Products */ = { isa = PBXGroup; children = ( - 78CFEE2A1C5C456B00F50370 /* LeadKit.framework */, - 78CFEE341C5C456B00F50370 /* LeadKitTests.xctest */, + 67186B281EB248F100CFAFFB /* LeadKit.framework */, + 67186B301EB248F100CFAFFB /* LeadKit iOSTests.xctest */, + 6782BB911EB31CFE0086E0B8 /* LeadKit.framework */, + 6782BBA01EB31D590086E0B8 /* LeadKit.framework */, + 6782BBA81EB31D5A0086E0B8 /* LeadKit tvOSTests.xctest */, + 67952DC51EB327B400B3BA1A /* LeadKit.framework */, + 67952DCD1EB327B400B3BA1A /* LeadKit iOS ExtensionsTests.xctest */, ); name = Products; sourceTree = ""; }; - 78CFEE2C1C5C456B00F50370 /* LeadKit */ = { - isa = PBXGroup; - children = ( - 78A74EAA1C6B401800FE9724 /* Classes */, - 78011AAE1D48B46100EA16A2 /* Structures */, - 78CFEE441C5C45E500F50370 /* Extensions */, - 78011A651D47AF3000EA16A2 /* Enums */, - 78CFEE491C5C45E500F50370 /* Protocols */, - 78D4B54B1DA650FC005B0764 /* Functions */, - 78CFEE2D1C5C456B00F50370 /* LeadKit.h */, - 78CFEE2F1C5C456B00F50370 /* Info.plist */, - 671FF1611EAA264B001B882C /* iOS.playground */, - ); - path = LeadKit; - sourceTree = ""; - }; - 78CFEE381C5C456B00F50370 /* LeadKitTests */ = { - isa = PBXGroup; - children = ( - 67B305791E8A8727008169CA /* Views */, - 6727419E1E65BF3C0075836A /* Models */, - 67EF144A1E8BEA9C00D6E0DD /* Cursors */, - 78CFEE3B1C5C456B00F50370 /* Info.plist */, - 6727419C1E65B99E0075836A /* MappableUserDefaultsTests.swift */, - 67B3057E1E8A8804008169CA /* LoadFromNibTests.swift */, - 67EF144D1E8BED4E00D6E0DD /* CursorTests.swift */, - 674743931E929A5A00B47671 /* PaginationViewModelTests.swift */, - ); - path = LeadKitTests; - sourceTree = ""; - }; - 78CFEE441C5C45E500F50370 /* Extensions */ = { - isa = PBXGroup; - children = ( - 786D78E61D53C355006B2CEA /* Alamofire */, - 780D23441DA416E80084620D /* CGContext */, - 67788F9D1E6965F800484DEE /* CGFloat */, - 780D23411DA412330084620D /* CGImage */, - 676D177F1EAE1364002E19F9 /* CGSize */, - 789CC6091DE584C000F789D3 /* CursorType */, - 78C36F7C1D801E2F00E7EBEA /* Double */, - 787783611CA03C84001CDC9B /* IndexPath */, - 787D87481E10E19000D6015C /* ObjectMapper */, - 787609201E1403460093CE36 /* Observable */, - 67DC650D1E979CF7002F2FFF /* PaginationTableViewWrapperDelegate */, - 780F56C81E0D76A5004530B6 /* Sequence */, - 78A0FCC41DC366A10070B5E1 /* StoryboardProtocol */, - 787783651CA04D14001CDC9B /* String */, - 679DE4921E9613ED006F25FE /* Support */, - CAE698BF1E965AE9000394B0 /* TableDirector */, - EF2921A41E16595100E8F43B /* TimeInterval */, - 67DC65071E979BA9002F2FFF /* UIActivityIndicator */, - E126CBB11DB68D9A00E1B2F8 /* UICollectionView */, - 78C36F7F1D8021D100E7EBEA /* UIColor */, - CA1FE7071E27D79C00968901 /* UIDevice */, - C37210711ACDF1042F70C2EB /* UIImage */, - C372153938A7B7D327F55124 /* UIStoryboard */, - 78E59B2C1C786CD500C6BFE9 /* UIView */, - 78D4B5441DA64D31005B0764 /* UIViewController */, - CA6196DE1E9BDB3900C5889F /* UIWindow */, - 7884DB9A1DC1432B00E52A63 /* UserDefaults */, - ); - path = Extensions; - sourceTree = ""; - }; - 78CFEE491C5C45E500F50370 /* Protocols */ = { - isa = PBXGroup; - children = ( - CAA707D61E2E616D0022D732 /* BaseViewModel.swift */, - CAA707D81E2E61A50022D732 /* ConfigurableController.swift */, - 789CC6071DE5835600F789D3 /* CursorType.swift */, - 7837F60E1CBCF5C0000D74C1 /* EstimatedViewHeightProtocol.swift */, - CAA707D41E2E614E0022D732 /* ModuleConfigurator.swift */, - 780F56CB1E0D7ACA004530B6 /* ObservableMappable.swift */, - 78CFEE4B1C5C45E500F50370 /* ReuseIdentifierProtocol.swift */, - 787682F91CAD40C200532AB3 /* StaticEstimatedViewHeightProtocol.swift */, - 78CFEE4C1C5C45E500F50370 /* XibNameProtocol.swift */, - 78CFEE4D1C5C45E500F50370 /* StaticViewHeightProtocol.swift */, - 78CFEE4E1C5C45E500F50370 /* StoryboardIdentifierProtocol.swift */, - 783423691DB8D0E100A79643 /* StoryboardProtocol.swift */, - 78CFEE4F1C5C45E500F50370 /* ViewHeightProtocol.swift */, - 78CFEE501C5C45E500F50370 /* ViewModelProtocol.swift */, - 67B856E21E923BE600F54304 /* ResettableType.swift */, - 679DE48F1E9588B6006F25FE /* SupportProtocol.swift */, - 67DC65031E979B34002F2FFF /* LoadingIndicatorProtocol.swift */, - 67A7B1961EAF5FF600E5BC59 /* DrawingOperation.swift */, - ); - path = Protocols; - sourceTree = ""; - }; - 78D4B5441DA64D31005B0764 /* UIViewController */ = { - isa = PBXGroup; - children = ( - 78D4B5451DA64D49005B0764 /* UIViewController+DefaultStoryboardIdentifier.swift */, - 78C54AFC1E432EEF0051EFBA /* UIViewController+TopVisibleViewController.swift */, - EDF3DE3E1EA4F2E80016F729 /* UIViewController+DefaultXibName.swift */, - ); - path = UIViewController; - sourceTree = ""; - }; - 78D4B54B1DA650FC005B0764 /* Functions */ = { - isa = PBXGroup; - children = ( - 78D4B5491DA64EAB005B0764 /* Any+TypeName.swift */, - 7873D1501E112B0D001816EB /* Any+Cast.swift */, - ); - path = Functions; - sourceTree = ""; - }; - 78E59B2C1C786CD500C6BFE9 /* UIView */ = { - isa = PBXGroup; - children = ( - 78A74EA81C6B373700FE9724 /* UIView+DefaultXibName.swift */, - 78011A631D47ABC500EA16A2 /* UIView+DefaultReuseIdentifier.swift */, - 78CFEE481C5C45E500F50370 /* UIView+LoadFromNib.swift */, - EF5FB5681E0141610030E4BE /* UIView+Rotation.swift */, - 67DC65051E979B70002F2FFF /* UIView+LoadingIndicator.swift */, - ); - path = UIView; - sourceTree = ""; - }; - C37210711ACDF1042F70C2EB /* UIImage */ = { - isa = PBXGroup; - children = ( - 78B036401DA4D7060021D5CC /* UIImage+Extensions.swift */, - 674E7E641EB0F2E300D13340 /* UIImage+SupportExtensions.swift */, - ); - path = UIImage; - sourceTree = ""; - }; - C372153938A7B7D327F55124 /* UIStoryboard */ = { - isa = PBXGroup; - children = ( - 788EC1591CF64528009CFB6B /* UIStoryboard+InstantiateViewController.swift */, - ); - path = UIStoryboard; - sourceTree = ""; - }; C90516DF61394D92FF071C0C /* Frameworks */ = { isa = PBXGroup; children = ( 12F36034A5278991B658B53E /* Pods_LeadKit.framework */, 95E457F1241D136396FC2420 /* Pods_LeadKitTests.framework */, + DF1148A279C7AC7A42B0A0F8 /* Pods_LeadKit_iOS.framework */, + 78405D3B3D3C3E17456877FF /* Pods_LeadKit_iOSTests.framework */, + A854A36EB179651E6D0CC9FB /* Pods_LeadKit_tvOS.framework */, + 4DB1CCAB1EAAACD3AC42C795 /* Pods_LeadKit_tvOSTests.framework */, + 56C11305E2B44404FFFD12AA /* Pods_LeadKit_watchOS.framework */, + 287AC0683207753A363152CB /* Pods_LeadKit_watchOSTests.framework */, + 3C88ED8C9373F85C06697849 /* Pods_LeadKit_iOS_ExtensionsTests.framework */, + CFE9323150A9760008093F73 /* Pods_LeadKit_LeadKit_iOS.framework */, + 887F99C5326BD220C2811BD6 /* Pods_LeadKit_LeadKit_iOS_Extensions.framework */, + D0F8D0002B21A4F31981F1ED /* Pods_LeadKit_LeadKit_tvOS.framework */, + 8590CA7831555C295C5DC572 /* Pods_LeadKit_LeadKit_watchOS.framework */, ); name = Frameworks; sourceTree = ""; }; - CA1FE7071E27D79C00968901 /* UIDevice */ = { - isa = PBXGroup; - children = ( - CA1FE7081E27D7DE00968901 /* UIDevice+Extensions.swift */, - ); - name = UIDevice; - sourceTree = ""; - }; - CA6196DE1E9BDB3900C5889F /* UIWindow */ = { - isa = PBXGroup; - children = ( - CA6196DF1E9BDB5600C5889F /* UIWindow+Extensions.swift */, - ); - name = UIWindow; - sourceTree = ""; - }; - CAE698BF1E965AE9000394B0 /* TableDirector */ = { - isa = PBXGroup; - children = ( - CAE698C01E965B47000394B0 /* TableDirector+Extensions.swift */, - ); - name = TableDirector; - sourceTree = ""; - }; - E126CBB11DB68D9A00E1B2F8 /* UICollectionView */ = { - isa = PBXGroup; - children = ( - E126CBB21DB68DDA00E1B2F8 /* UICollectionView+CellRegistration.swift */, - ); - name = UICollectionView; - sourceTree = ""; - }; EE8EDD9378EF7D1B3C4F2147 /* Pods */ = { isa = PBXGroup; children = ( - 90CFCDEC72425A2EFD43F152 /* Pods-LeadKit.debug.xcconfig */, - A410FBD8EEF020D5BBFB2B61 /* Pods-LeadKit.release.xcconfig */, - CC832342120EAD568C9F7FC3 /* Pods-LeadKitTests.debug.xcconfig */, - 925D666BEC5C46DC99073A86 /* Pods-LeadKitTests.release.xcconfig */, + CD7003F75FD6DDC97DC99A7A /* Pods-LeadKit iOSTests.debug.xcconfig */, + 53B12E773F945234CCA9A7E9 /* Pods-LeadKit iOSTests.release.xcconfig */, + 65B19DB0B65A1EE1A1E2C907 /* Pods-LeadKit tvOSTests.debug.xcconfig */, + D840E55867DC9BB63460B856 /* Pods-LeadKit tvOSTests.release.xcconfig */, + CB02EAC4E52AF48AD64EC045 /* Pods-LeadKit iOS ExtensionsTests.debug.xcconfig */, + 381DF859FC4E26D499123014 /* Pods-LeadKit iOS ExtensionsTests.release.xcconfig */, + 1DA955AE397186D4042066E0 /* Pods-LeadKit-LeadKit iOS.debug.xcconfig */, + 9966FB938D114F79F71AE037 /* Pods-LeadKit-LeadKit iOS.release.xcconfig */, + 4B8CD4D99A5B9CDB08308679 /* Pods-LeadKit-LeadKit iOS Extensions.debug.xcconfig */, + 2BD6FE790236CFF8D2CD505E /* Pods-LeadKit-LeadKit iOS Extensions.release.xcconfig */, + 1B4633F3E4593D0262D9E505 /* Pods-LeadKit-LeadKit tvOS.debug.xcconfig */, + 563DDE9CACD515FDCB5A2FFF /* Pods-LeadKit-LeadKit tvOS.release.xcconfig */, + 0D4689620761929AE17D966C /* Pods-LeadKit-LeadKit watchOS.debug.xcconfig */, + BECC6E4BF63781403877B059 /* Pods-LeadKit-LeadKit watchOS.release.xcconfig */, ); name = Pods; sourceTree = ""; }; - EF2921A41E16595100E8F43B /* TimeInterval */ = { - isa = PBXGroup; - children = ( - EF2921A51E165DF400E8F43B /* TimeInterval+DateComponents.swift */, - ); - path = TimeInterval; - sourceTree = ""; - }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - 78CFEE271C5C456B00F50370 /* Headers */ = { + 67186B251EB248F100CFAFFB /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 78CFEE2E1C5C456B00F50370 /* LeadKit.h in Headers */, + 67186B3F1EB24A1900CFAFFB /* LeadKit.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 6782BB8E1EB31CFE0086E0B8 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 67952C3C1EB3266100B3BA1A /* LeadKit.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 6782BB9D1EB31D590086E0B8 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 67952C3D1EB3266200B3BA1A /* LeadKit.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 67952DC21EB327B400B3BA1A /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 67952DDD1EB3281300B3BA1A /* LeadKit.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ - 78CFEE291C5C456B00F50370 /* LeadKit */ = { + 67186B271EB248F100CFAFFB /* LeadKit iOS */ = { isa = PBXNativeTarget; - buildConfigurationList = 78CFEE3E1C5C456B00F50370 /* Build configuration list for PBXNativeTarget "LeadKit" */; + buildConfigurationList = 67186B391EB248F100CFAFFB /* Build configuration list for PBXNativeTarget "LeadKit iOS" */; buildPhases = ( - 31618CA855038AEFDF2F8C4A /* [CP] Check Pods Manifest.lock */, - 782B1B3D1C7343CD003F8A95 /* Tailor */, - 782B1B3E1C7343E0003F8A95 /* SwiftLint */, - 78CFEE251C5C456B00F50370 /* Sources */, - 78CFEE261C5C456B00F50370 /* Frameworks */, - 78CFEE271C5C456B00F50370 /* Headers */, - 78CFEE281C5C456B00F50370 /* Resources */, - 2869790CF360B7E0186D235E /* [CP] Copy Pods Resources */, + 8AB4AD16371A6CA62765A6E7 /* [CP] Check Pods Manifest.lock */, + 67186C2D1EB2537A00CFAFFB /* Tailor */, + 67186C2E1EB2538E00CFAFFB /* SwiftLint */, + 67186B231EB248F100CFAFFB /* Sources */, + 67186B241EB248F100CFAFFB /* Frameworks */, + 67186B251EB248F100CFAFFB /* Headers */, + 67186B261EB248F100CFAFFB /* Resources */, + AD7FBCAEB89E0B83766E8157 /* [CP] Copy Pods Resources */, ); buildRules = ( ); dependencies = ( ); - name = LeadKit; - productName = LeadKit; - productReference = 78CFEE2A1C5C456B00F50370 /* LeadKit.framework */; + name = "LeadKit iOS"; + productName = "LeadKit iOS"; + productReference = 67186B281EB248F100CFAFFB /* LeadKit.framework */; productType = "com.apple.product-type.framework"; }; - 78CFEE331C5C456B00F50370 /* LeadKitTests */ = { + 67186B2F1EB248F100CFAFFB /* LeadKit iOSTests */ = { isa = PBXNativeTarget; - buildConfigurationList = 78CFEE411C5C456B00F50370 /* Build configuration list for PBXNativeTarget "LeadKitTests" */; + buildConfigurationList = 67186B3C1EB248F100CFAFFB /* Build configuration list for PBXNativeTarget "LeadKit iOSTests" */; buildPhases = ( - 2DCBE969D8EDE50FFD7A1FBC /* [CP] Check Pods Manifest.lock */, - 78CFEE301C5C456B00F50370 /* Sources */, - 78CFEE311C5C456B00F50370 /* Frameworks */, - 78CFEE321C5C456B00F50370 /* Resources */, - 4BD7ECA5ADD5186CF3F75DC8 /* [CP] Embed Pods Frameworks */, - 9FF21E97A8C658A13A445B71 /* [CP] Copy Pods Resources */, + 42EBD543683E1AC3A25E1404 /* [CP] Check Pods Manifest.lock */, + 67186B2C1EB248F100CFAFFB /* Sources */, + 67186B2D1EB248F100CFAFFB /* Frameworks */, + 67186B2E1EB248F100CFAFFB /* Resources */, + B285084CE10354367156E122 /* [CP] Embed Pods Frameworks */, + 15DB700D73AEB88693BD2A11 /* [CP] Copy Pods Resources */, ); buildRules = ( ); dependencies = ( - 78CFEE371C5C456B00F50370 /* PBXTargetDependency */, + 67186B331EB248F100CFAFFB /* PBXTargetDependency */, ); - name = LeadKitTests; - productName = LeadKitTests; - productReference = 78CFEE341C5C456B00F50370 /* LeadKitTests.xctest */; + name = "LeadKit iOSTests"; + productName = "LeadKit iOSTests"; + productReference = 67186B301EB248F100CFAFFB /* LeadKit iOSTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + 6782BB901EB31CFE0086E0B8 /* LeadKit watchOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = 6782BB961EB31CFE0086E0B8 /* Build configuration list for PBXNativeTarget "LeadKit watchOS" */; + buildPhases = ( + 6C0CE35AC797D005DF06F7D5 /* [CP] Check Pods Manifest.lock */, + 6782BBBB1EB31EB70086E0B8 /* Tailor */, + 6782BBBC1EB31ED90086E0B8 /* SwiftLint */, + 6782BB8C1EB31CFE0086E0B8 /* Sources */, + 6782BB8D1EB31CFE0086E0B8 /* Frameworks */, + 6782BB8E1EB31CFE0086E0B8 /* Headers */, + 6782BB8F1EB31CFE0086E0B8 /* Resources */, + B6CCB9C7BB698F271C94C500 /* [CP] Copy Pods Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "LeadKit watchOS"; + productName = "LeadKit watchOS"; + productReference = 6782BB911EB31CFE0086E0B8 /* LeadKit.framework */; + productType = "com.apple.product-type.framework"; + }; + 6782BB9F1EB31D590086E0B8 /* LeadKit tvOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = 6782BBB11EB31D5A0086E0B8 /* Build configuration list for PBXNativeTarget "LeadKit tvOS" */; + buildPhases = ( + BCF262D3C2C3337546F84061 /* [CP] Check Pods Manifest.lock */, + 6782BBBD1EB31F020086E0B8 /* Tailor */, + 6782BBBE1EB31F210086E0B8 /* SwiftLint */, + 6782BB9B1EB31D590086E0B8 /* Sources */, + 6782BB9C1EB31D590086E0B8 /* Frameworks */, + 6782BB9D1EB31D590086E0B8 /* Headers */, + 6782BB9E1EB31D590086E0B8 /* Resources */, + 5F7D4A2756CE6BE8BE089C88 /* [CP] Copy Pods Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "LeadKit tvOS"; + productName = "LeadKit tvOS"; + productReference = 6782BBA01EB31D590086E0B8 /* LeadKit.framework */; + productType = "com.apple.product-type.framework"; + }; + 6782BBA71EB31D5A0086E0B8 /* LeadKit tvOSTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 6782BBB41EB31D5A0086E0B8 /* Build configuration list for PBXNativeTarget "LeadKit tvOSTests" */; + buildPhases = ( + AF85CA2DF6F5C17A49A0D252 /* [CP] Check Pods Manifest.lock */, + 6782BBA41EB31D5A0086E0B8 /* Sources */, + 6782BBA51EB31D5A0086E0B8 /* Frameworks */, + 6782BBA61EB31D5A0086E0B8 /* Resources */, + C7322258346BDF6E53D19895 /* [CP] Embed Pods Frameworks */, + 71000585D4EF76D961C69AC5 /* [CP] Copy Pods Resources */, + ); + buildRules = ( + ); + dependencies = ( + 6782BBAB1EB31D5A0086E0B8 /* PBXTargetDependency */, + ); + name = "LeadKit tvOSTests"; + productName = "LeadKit tvOSTests"; + productReference = 6782BBA81EB31D5A0086E0B8 /* LeadKit tvOSTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + 67952DC41EB327B400B3BA1A /* LeadKit iOS Extensions */ = { + isa = PBXNativeTarget; + buildConfigurationList = 67952DD61EB327B500B3BA1A /* Build configuration list for PBXNativeTarget "LeadKit iOS Extensions" */; + buildPhases = ( + 26ED592391E1816700F06F57 /* [CP] Check Pods Manifest.lock */, + 671463AA1EB343EF00EAB194 /* Tailor */, + 671463AB1EB3440D00EAB194 /* SwiftLint */, + 67952DC01EB327B400B3BA1A /* Sources */, + 67952DC11EB327B400B3BA1A /* Frameworks */, + 67952DC21EB327B400B3BA1A /* Headers */, + 67952DC31EB327B400B3BA1A /* Resources */, + 75E9590F0E8EC5AF3132BF77 /* [CP] Copy Pods Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "LeadKit iOS Extensions"; + productName = "LeadKit iOS Extensions"; + productReference = 67952DC51EB327B400B3BA1A /* LeadKit.framework */; + productType = "com.apple.product-type.framework"; + }; + 67952DCC1EB327B400B3BA1A /* LeadKit iOS ExtensionsTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 67952DD91EB327B500B3BA1A /* Build configuration list for PBXNativeTarget "LeadKit iOS ExtensionsTests" */; + buildPhases = ( + 7651BEBB96C92C6FC99FC736 /* [CP] Check Pods Manifest.lock */, + 67952DC91EB327B400B3BA1A /* Sources */, + 67952DCA1EB327B400B3BA1A /* Frameworks */, + 67952DCB1EB327B400B3BA1A /* Resources */, + FD672381E62A00830715CF1A /* [CP] Embed Pods Frameworks */, + 71800182B4CD75D169977550 /* [CP] Copy Pods Resources */, + ); + buildRules = ( + ); + dependencies = ( + 67952DD01EB327B500B3BA1A /* PBXTargetDependency */, + ); + name = "LeadKit iOS ExtensionsTests"; + productName = "LeadKit iOS ExtensionsTests"; + productReference = 67952DCD1EB327B400B3BA1A /* LeadKit iOS ExtensionsTests.xctest */; productType = "com.apple.product-type.bundle.unit-test"; }; /* End PBXNativeTarget section */ @@ -819,17 +1335,46 @@ 78CFEE211C5C456B00F50370 /* Project object */ = { isa = PBXProject; attributes = { - LastSwiftUpdateCheck = 0720; + LastSwiftUpdateCheck = 0830; LastUpgradeCheck = 0800; ORGANIZATIONNAME = "Touch Instinct"; TargetAttributes = { - 78CFEE291C5C456B00F50370 = { - CreatedOnToolsVersion = 7.2; - LastSwiftMigration = 0800; + 67186B271EB248F100CFAFFB = { + CreatedOnToolsVersion = 8.3; + DevelopmentTeam = D4HA43V467; + ProvisioningStyle = Automatic; }; - 78CFEE331C5C456B00F50370 = { - CreatedOnToolsVersion = 7.2; - LastSwiftMigration = 0800; + 67186B2F1EB248F100CFAFFB = { + CreatedOnToolsVersion = 8.3; + DevelopmentTeam = D4HA43V467; + LastSwiftMigration = 0830; + ProvisioningStyle = Automatic; + }; + 6782BB901EB31CFE0086E0B8 = { + CreatedOnToolsVersion = 8.3; + DevelopmentTeam = D4HA43V467; + ProvisioningStyle = Automatic; + }; + 6782BB9F1EB31D590086E0B8 = { + CreatedOnToolsVersion = 8.3; + DevelopmentTeam = D4HA43V467; + ProvisioningStyle = Automatic; + }; + 6782BBA71EB31D5A0086E0B8 = { + CreatedOnToolsVersion = 8.3; + DevelopmentTeam = D4HA43V467; + LastSwiftMigration = 0830; + ProvisioningStyle = Automatic; + }; + 67952DC41EB327B400B3BA1A = { + CreatedOnToolsVersion = 8.3; + DevelopmentTeam = D4HA43V467; + ProvisioningStyle = Automatic; + }; + 67952DCC1EB327B400B3BA1A = { + CreatedOnToolsVersion = 8.3; + DevelopmentTeam = D4HA43V467; + ProvisioningStyle = Automatic; }; }; }; @@ -845,32 +1390,74 @@ projectDirPath = ""; projectRoot = ""; targets = ( - 78CFEE291C5C456B00F50370 /* LeadKit */, - 78CFEE331C5C456B00F50370 /* LeadKitTests */, + 67186B271EB248F100CFAFFB /* LeadKit iOS */, + 67186B2F1EB248F100CFAFFB /* LeadKit iOSTests */, + 67952DC41EB327B400B3BA1A /* LeadKit iOS Extensions */, + 67952DCC1EB327B400B3BA1A /* LeadKit iOS ExtensionsTests */, + 6782BB901EB31CFE0086E0B8 /* LeadKit watchOS */, + 6782BB9F1EB31D590086E0B8 /* LeadKit tvOS */, + 6782BBA71EB31D5A0086E0B8 /* LeadKit tvOSTests */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - 78CFEE281C5C456B00F50370 /* Resources */ = { + 67186B261EB248F100CFAFFB /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 78CFEE321C5C456B00F50370 /* Resources */ = { + 67186B2E1EB248F100CFAFFB /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 67B3057B1E8A8727008169CA /* TestView.xib in Resources */, + 671463CD1EB34B1E00EAB194 /* TestView.xib in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 6782BB8F1EB31CFE0086E0B8 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 6782BB9E1EB31D590086E0B8 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 6782BBA61EB31D5A0086E0B8 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 671463CF1EB34B1E00EAB194 /* TestView.xib in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 67952DC31EB327B400B3BA1A /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 67952DCB1EB327B400B3BA1A /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 671463CE1EB34B1E00EAB194 /* TestView.xib in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 2869790CF360B7E0186D235E /* [CP] Copy Pods Resources */ = { + 15DB700D73AEB88693BD2A11 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -882,10 +1469,10 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-LeadKit/Pods-LeadKit-resources.sh\"\n"; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-LeadKit iOSTests/Pods-LeadKit iOSTests-resources.sh\"\n"; showEnvVarsInLog = 0; }; - 2DCBE969D8EDE50FFD7A1FBC /* [CP] Check Pods Manifest.lock */ = { + 26ED592391E1816700F06F57 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -897,10 +1484,10 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n"; showEnvVarsInLog = 0; }; - 31618CA855038AEFDF2F8C4A /* [CP] Check Pods Manifest.lock */ = { + 42EBD543683E1AC3A25E1404 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -912,27 +1499,27 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n"; showEnvVarsInLog = 0; }; - 4BD7ECA5ADD5186CF3F75DC8 /* [CP] Embed Pods Frameworks */ = { + 5F7D4A2756CE6BE8BE089C88 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( ); - name = "[CP] Embed Pods Frameworks"; + name = "[CP] Copy Pods Resources"; outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-LeadKitTests/Pods-LeadKitTests-frameworks.sh\"\n"; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-LeadKit-LeadKit tvOS/Pods-LeadKit-LeadKit tvOS-resources.sh\"\n"; showEnvVarsInLog = 0; }; - 782B1B3D1C7343CD003F8A95 /* Tailor */ = { + 671463AA1EB343EF00EAB194 /* Tailor */ = { isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; + buildActionMask = 12; files = ( ); inputPaths = ( @@ -944,9 +1531,9 @@ shellPath = /bin/sh; shellScript = "if hash tailor 2>/dev/null; then\n tailor --except=trailing-whitespace,forced-type-cast\nelse\n echo \"warning: Please install Tailor from https://tailor.sh\"\nfi"; }; - 782B1B3E1C7343E0003F8A95 /* SwiftLint */ = { + 671463AB1EB3440D00EAB194 /* SwiftLint */ = { isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; + buildActionMask = 12; files = ( ); inputPaths = ( @@ -958,7 +1545,106 @@ shellPath = /bin/sh; shellScript = "if which swiftlint >/dev/null; then\n swiftlint\nelse\n echo \"SwiftLint does not exist, download from https://github.com/realm/SwiftLint\"\nfi"; }; - 9FF21E97A8C658A13A445B71 /* [CP] Copy Pods Resources */ = { + 67186C2D1EB2537A00CFAFFB /* Tailor */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 12; + files = ( + ); + inputPaths = ( + ); + name = Tailor; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "if hash tailor 2>/dev/null; then\n tailor --except=trailing-whitespace,forced-type-cast\nelse\n echo \"warning: Please install Tailor from https://tailor.sh\"\nfi"; + }; + 67186C2E1EB2538E00CFAFFB /* SwiftLint */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 12; + files = ( + ); + inputPaths = ( + ); + name = SwiftLint; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "if which swiftlint >/dev/null; then\n swiftlint\nelse\n echo \"SwiftLint does not exist, download from https://github.com/realm/SwiftLint\"\nfi"; + }; + 6782BBBB1EB31EB70086E0B8 /* Tailor */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 12; + files = ( + ); + inputPaths = ( + ); + name = Tailor; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "if hash tailor 2>/dev/null; then\n tailor --except=trailing-whitespace,forced-type-cast\nelse\n echo \"warning: Please install Tailor from https://tailor.sh\"\nfi"; + }; + 6782BBBC1EB31ED90086E0B8 /* SwiftLint */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 12; + files = ( + ); + inputPaths = ( + ); + name = SwiftLint; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "if which swiftlint >/dev/null; then\n swiftlint\nelse\n echo \"SwiftLint does not exist, download from https://github.com/realm/SwiftLint\"\nfi"; + }; + 6782BBBD1EB31F020086E0B8 /* Tailor */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 12; + files = ( + ); + inputPaths = ( + ); + name = Tailor; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "if hash tailor 2>/dev/null; then\n tailor --except=trailing-whitespace,forced-type-cast\nelse\n echo \"warning: Please install Tailor from https://tailor.sh\"\nfi"; + }; + 6782BBBE1EB31F210086E0B8 /* SwiftLint */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 12; + files = ( + ); + inputPaths = ( + ); + name = SwiftLint; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "if which swiftlint >/dev/null; then\n swiftlint\nelse\n echo \"SwiftLint does not exist, download from https://github.com/realm/SwiftLint\"\nfi"; + }; + 6C0CE35AC797D005DF06F7D5 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "[CP] Check Pods Manifest.lock"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n"; + showEnvVarsInLog = 0; + }; + 71000585D4EF76D961C69AC5 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -970,129 +1656,901 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-LeadKitTests/Pods-LeadKitTests-resources.sh\"\n"; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-LeadKit tvOSTests/Pods-LeadKit tvOSTests-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; + 71800182B4CD75D169977550 /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "[CP] Copy Pods Resources"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-LeadKit iOS ExtensionsTests/Pods-LeadKit iOS ExtensionsTests-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; + 75E9590F0E8EC5AF3132BF77 /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "[CP] Copy Pods Resources"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-LeadKit-LeadKit iOS Extensions/Pods-LeadKit-LeadKit iOS Extensions-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; + 7651BEBB96C92C6FC99FC736 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "[CP] Check Pods Manifest.lock"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n"; + showEnvVarsInLog = 0; + }; + 8AB4AD16371A6CA62765A6E7 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "[CP] Check Pods Manifest.lock"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n"; + showEnvVarsInLog = 0; + }; + AD7FBCAEB89E0B83766E8157 /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "[CP] Copy Pods Resources"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-LeadKit-LeadKit iOS/Pods-LeadKit-LeadKit iOS-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; + AF85CA2DF6F5C17A49A0D252 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "[CP] Check Pods Manifest.lock"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n"; + showEnvVarsInLog = 0; + }; + B285084CE10354367156E122 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "[CP] Embed Pods Frameworks"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-LeadKit iOSTests/Pods-LeadKit iOSTests-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + B6CCB9C7BB698F271C94C500 /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "[CP] Copy Pods Resources"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-LeadKit-LeadKit watchOS/Pods-LeadKit-LeadKit watchOS-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; + BCF262D3C2C3337546F84061 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "[CP] Check Pods Manifest.lock"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n"; + showEnvVarsInLog = 0; + }; + C7322258346BDF6E53D19895 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "[CP] Embed Pods Frameworks"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-LeadKit tvOSTests/Pods-LeadKit tvOSTests-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + FD672381E62A00830715CF1A /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "[CP] Embed Pods Frameworks"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-LeadKit iOS ExtensionsTests/Pods-LeadKit iOS ExtensionsTests-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - 78CFEE251C5C456B00F50370 /* Sources */ = { + 67186B231EB248F100CFAFFB /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 67A7B1971EAF5FF600E5BC59 /* DrawingOperation.swift in Sources */, - 787D874A1E10E1A400D6015C /* ImmutableMappable+ObservableMappable.swift in Sources */, - 780F56CA1E0D76B8004530B6 /* Sequence+ConcurrentMap.swift in Sources */, - 7837F60F1CBCF5C0000D74C1 /* EstimatedViewHeightProtocol.swift in Sources */, - 78CFEE541C5C45E500F50370 /* UIView+LoadFromNib.swift in Sources */, - EF2921A61E165DF400E8F43B /* TimeInterval+DateComponents.swift in Sources */, - 78D4B5461DA64D49005B0764 /* UIViewController+DefaultStoryboardIdentifier.swift in Sources */, - 7834236A1DB8D0E100A79643 /* StoryboardProtocol.swift in Sources */, - 78B0FC7F1C6B2C4D00358B64 /* Log.swift in Sources */, - 78753E2E1DE58DBA006BC0FB /* FixedPageCursor.swift in Sources */, - 789CC60B1DE584F800F789D3 /* CursorType+Slice.swift in Sources */, - 78753E2C1DE58BF9006BC0FB /* StaticCursor.swift in Sources */, - 78D4B54A1DA64EAB005B0764 /* Any+TypeName.swift in Sources */, - 78CFEE571C5C45E500F50370 /* XibNameProtocol.swift in Sources */, - 67A7B1A11EAF67AE00E5BC59 /* SolidFillDrawingOperation.swift in Sources */, - 67DC650C1E979C0A002F2FFF /* AnyLoadingIndicator.swift in Sources */, - 788EC15A1CF64528009CFB6B /* UIStoryboard+InstantiateViewController.swift in Sources */, - 787783671CA04D4A001CDC9B /* String+SizeCalculation.swift in Sources */, - 7873D1511E112B0D001816EB /* Any+Cast.swift in Sources */, - 78011A641D47ABC500EA16A2 /* UIView+DefaultReuseIdentifier.swift in Sources */, - 678A202A1E93C1A900787562 /* PaginationTableViewWrapper.swift in Sources */, - 679DE4901E9588B6006F25FE /* SupportProtocol.swift in Sources */, - 786D78EC1D53C46E006B2CEA /* AlamofireManager+Extensions.swift in Sources */, - CAA707D51E2E614E0022D732 /* ModuleConfigurator.swift in Sources */, - 675D24B21E9234BB00E92D1F /* PaginationViewModel.swift in Sources */, - 78B0FC811C6B2CD500358B64 /* App.swift in Sources */, - 676D177E1EAE0661002E19F9 /* ResizeContentMode.swift in Sources */, - CAE698C61E96775F000394B0 /* String+Extensions.swift in Sources */, - 7873D14F1E1127BC001816EB /* LeadKitError.swift in Sources */, - 674E7E651EB0F2E300D13340 /* UIImage+SupportExtensions.swift in Sources */, - 67A7B1991EAF602900E5BC59 /* RoundDrawingOperation.swift in Sources */, - 78753E301DE594B4006BC0FB /* MapCursor.swift in Sources */, - 679DE4941E9613ED006F25FE /* UIScrollView+Support.swift in Sources */, - 780D23461DA416F80084620D /* CGContext+Initializers.swift in Sources */, - 67A7B19B1EAF60B100E5BC59 /* BorderDrawingOperation.swift in Sources */, - 95B39A861D9D51250057BD54 /* String+Localization.swift in Sources */, - 78C36F7E1D801E3E00E7EBEA /* Double+Rounding.swift in Sources */, - 67DC65061E979B70002F2FFF /* UIView+LoadingIndicator.swift in Sources */, - 67186B181EB1DC0500CFAFFB /* ResizeDrawingOperation.swift in Sources */, - 787609221E1403830093CE36 /* Observable+DeferredJust.swift in Sources */, - 67B305841E8A92E8008169CA /* XibView.swift in Sources */, - 78C54AFD1E432EEF0051EFBA /* UIViewController+TopVisibleViewController.swift in Sources */, - 67788F9F1E69661800484DEE /* CGFloat+Pixels.swift in Sources */, - 67A7B1951EAF5F9B00E5BC59 /* CGSize+CGContextSize.swift in Sources */, - 783AF06B1E41CE6C00EC5ADE /* Observable+ToastErrorLogging.swift in Sources */, - 67A7B1A31EAF6B4600E5BC59 /* CALayerDrawingOperation.swift in Sources */, - 78CFEE561C5C45E500F50370 /* ReuseIdentifierProtocol.swift in Sources */, - 67A7B19F1EAF646400E5BC59 /* PaddingDrawingOperation.swift in Sources */, - 78A0FCC81DC366A10070B5E1 /* StoryboardProtocol+Extensions.swift in Sources */, - 78B036411DA4D7060021D5CC /* UIImage+Extensions.swift in Sources */, - 78A0FCC71DC366A10070B5E1 /* StoryboardProtocol+DefaultBundle.swift in Sources */, - 78753E241DE58A5D006BC0FB /* CursorError.swift in Sources */, - 786D78E81D53C378006B2CEA /* AlamofireRequest+Extensions.swift in Sources */, - 78C36F811D8021DD00E7EBEA /* UIColor+Hex.swift in Sources */, - 78CFEE5B1C5C45E500F50370 /* ViewModelProtocol.swift in Sources */, - EF5FB5691E0141610030E4BE /* UIView+Rotation.swift in Sources */, - 67A7B1911EAF5F4900E5BC59 /* ImageDrawingOperation.swift in Sources */, - 67A7B1931EAF5F6A00E5BC59 /* TemplateDrawingOperation.swift in Sources */, - 783AF06D1E41CF5B00EC5ADE /* NetworkService.swift in Sources */, - 780F56CC1E0D7ACA004530B6 /* ObservableMappable.swift in Sources */, - 780D23431DA412470084620D /* CGImage+Alpha.swift in Sources */, - CA6196E11E9BDB5600C5889F /* UIWindow+Extensions.swift in Sources */, - 78CFEE5A1C5C45E500F50370 /* ViewHeightProtocol.swift in Sources */, - 787682FA1CAD40C300532AB3 /* StaticEstimatedViewHeightProtocol.swift in Sources */, - CA1FE7091E27D7DE00968901 /* UIDevice+Extensions.swift in Sources */, - 78A74EA91C6B373700FE9724 /* UIView+DefaultXibName.swift in Sources */, - CAE698C21E965B47000394B0 /* TableDirector+Extensions.swift in Sources */, - CAA707D91E2E61A50022D732 /* ConfigurableController.swift in Sources */, - 7884DB9C1DC1439200E52A63 /* UserDefaults+MappableDataTypes.swift in Sources */, - CAA707D71E2E616D0022D732 /* BaseViewModel.swift in Sources */, - E126CBB31DB68DDA00E1B2F8 /* UICollectionView+CellRegistration.swift in Sources */, - 78CFEE581C5C45E500F50370 /* StaticViewHeightProtocol.swift in Sources */, - 67DC65091E979BB8002F2FFF /* UIActivityIndicator+LoadingIndicator.swift in Sources */, - 67B856E31E923BE600F54304 /* ResettableType.swift in Sources */, - 787783631CA03CA0001CDC9B /* IndexPath+ImmutableIndexPath.swift in Sources */, - 675FB4251EA7797C0075BF3D /* Mutex.swift in Sources */, - 789CC6081DE5835600F789D3 /* CursorType.swift in Sources */, - 67DC650F1E979D0C002F2FFF /* PaginationTableViewWrapperDelegate+DefaultImplementation.swift in Sources */, - 67DC65041E979B34002F2FFF /* LoadingIndicatorProtocol.swift in Sources */, - 78B0364B1DA61EDE0021D5CC /* CGImage+Crop.swift in Sources */, - EDF3DE3F1EA4F2E80016F729 /* UIViewController+DefaultXibName.swift in Sources */, - 78CFEE591C5C45E500F50370 /* StoryboardIdentifierProtocol.swift in Sources */, - 78011AB31D48B53600EA16A2 /* ApiRequestParameters.swift in Sources */, - 676D17811EAE137B002E19F9 /* CGSize+Resize.swift in Sources */, - 78B0FC7D1C6B2BE200358B64 /* LogFormatter.swift in Sources */, + 671463481EB3396E00EAB194 /* ResettableType.swift in Sources */, + 671462E41EB3396E00EAB194 /* UIColor+Hex.swift in Sources */, + 671462CC1EB3396E00EAB194 /* String+SizeCalculation.swift in Sources */, + 671462801EB3396E00EAB194 /* AlamofireRequest+Extensions.swift in Sources */, + 671462C41EB3396E00EAB194 /* String+Extensions.swift in Sources */, + 671463541EB3396E00EAB194 /* StaticViewHeightProtocol.swift in Sources */, + 671462A81EB3396E00EAB194 /* ImmutableMappable+ObservableMappable.swift in Sources */, + 671463601EB3396E00EAB194 /* SupportProtocol.swift in Sources */, + 671462DC1EB3396E00EAB194 /* UIActivityIndicator+LoadingIndicator.swift in Sources */, + 671462841EB3396E00EAB194 /* CGContext+Initializers.swift in Sources */, + 671463201EB3396E00EAB194 /* Any+Cast.swift in Sources */, + 6714639E1EB33AEB00EAB194 /* NetworkService+ActivityIndicator.swift in Sources */, + 6714634C1EB3396E00EAB194 /* ReuseIdentifierProtocol.swift in Sources */, + 671462F01EB3396E00EAB194 /* UIImage+SupportExtensions.swift in Sources */, + 671462681EB3396E00EAB194 /* NetworkService.swift in Sources */, + 671463101EB3396E00EAB194 /* UIViewController+DefaultXibName.swift in Sources */, + 671462441EB3396E00EAB194 /* Mutex.swift in Sources */, + 671463401EB3396E00EAB194 /* ModuleConfigurator.swift in Sources */, + 671462641EB3396E00EAB194 /* PaginationViewModel.swift in Sources */, + 671462901EB3396E00EAB194 /* CGImage+Crop.swift in Sources */, + 671462FC1EB3396E00EAB194 /* UIView+DefaultXibName.swift in Sources */, + 671463841EB3396E00EAB194 /* ResizeDrawingOperation.swift in Sources */, + 671462D01EB3396E00EAB194 /* UIScrollView+Support.swift in Sources */, + 671463901EB3396E00EAB194 /* TemplateDrawingOperation.swift in Sources */, + 6714630C1EB3396E00EAB194 /* UIViewController+DefaultStoryboardIdentifier.swift in Sources */, + 671462981EB3396E00EAB194 /* CGSize+Resize.swift in Sources */, + 671462F81EB3396E00EAB194 /* UIView+DefaultReuseIdentifier.swift in Sources */, + 671463581EB3396E00EAB194 /* StoryboardIdentifierProtocol.swift in Sources */, + 671463301EB3396E00EAB194 /* CursorType.swift in Sources */, + 6714624C1EB3396E00EAB194 /* MapCursor.swift in Sources */, + 671463241EB3396E00EAB194 /* Any+TypeName.swift in Sources */, + 671463881EB3396E00EAB194 /* RoundDrawingOperation.swift in Sources */, + 671463801EB3396E00EAB194 /* PaddingDrawingOperation.swift in Sources */, + 671462E01EB3396E00EAB194 /* UICollectionView+CellRegistration.swift in Sources */, + 671462601EB3396E00EAB194 /* PaginationTableViewWrapper.swift in Sources */, + 671463281EB3396E00EAB194 /* BaseViewModel.swift in Sources */, + 671462AC1EB3396E00EAB194 /* Observable+DeferredJust.swift in Sources */, + 671463001EB3396E00EAB194 /* UIView+LoadFromNib.swift in Sources */, + 6714627C1EB3396E00EAB194 /* AlamofireManager+Extensions.swift in Sources */, + 671463441EB3396E00EAB194 /* ObservableMappable.swift in Sources */, + 671462D41EB3396E00EAB194 /* TableDirector+Extensions.swift in Sources */, + 671462581EB3396E00EAB194 /* Log.swift in Sources */, + 671462B41EB3396E00EAB194 /* PaginationTableViewWrapperDelegate+DefaultImplementation.swift in Sources */, + 671462781EB3396E00EAB194 /* ResizeContentMode.swift in Sources */, + 671463041EB3396E00EAB194 /* UIView+LoadingIndicator.swift in Sources */, + 671463701EB3396E00EAB194 /* ApiRequestParameters.swift in Sources */, + 671462EC1EB3396E00EAB194 /* UIImage+Extensions.swift in Sources */, + 6714636C1EB3396E00EAB194 /* XibNameProtocol.swift in Sources */, + 671462A41EB3396E00EAB194 /* IndexPath+ImmutableIndexPath.swift in Sources */, + 671462BC1EB3396E00EAB194 /* StoryboardProtocol+DefaultBundle.swift in Sources */, + 671462A01EB3396E00EAB194 /* Double+Rounding.swift in Sources */, + 6714625C1EB3396E00EAB194 /* LogFormatter.swift in Sources */, + 671463081EB3396E00EAB194 /* UIView+Rotation.swift in Sources */, + 6714626C1EB3396E00EAB194 /* XibView.swift in Sources */, + 6714637C1EB3396E00EAB194 /* ImageDrawingOperation.swift in Sources */, + 6714631C1EB3396E00EAB194 /* UserDefaults+MappableDataTypes.swift in Sources */, + 671463341EB3396E00EAB194 /* DrawingOperation.swift in Sources */, + 671462C01EB3396E00EAB194 /* StoryboardProtocol+Extensions.swift in Sources */, + 671462701EB3396E00EAB194 /* CursorError.swift in Sources */, + 671463981EB3396E00EAB194 /* AnyLoadingIndicator.swift in Sources */, + 671463501EB3396E00EAB194 /* StaticEstimatedViewHeightProtocol.swift in Sources */, + 671463A71EB340C000EAB194 /* UIViewController+ConfigurableController.swift in Sources */, + 671463141EB3396E00EAB194 /* UIViewController+TopVisibleViewController.swift in Sources */, + 671462881EB3396E00EAB194 /* CGFloat+Pixels.swift in Sources */, + 671462941EB3396E00EAB194 /* CGSize+CGContextSize.swift in Sources */, + 671462B01EB3396E00EAB194 /* Observable+ToastErrorLogging.swift in Sources */, + 671463641EB3396E00EAB194 /* ViewHeightProtocol.swift in Sources */, + 671462481EB3396E00EAB194 /* FixedPageCursor.swift in Sources */, + 671462C81EB3396E00EAB194 /* String+Localization.swift in Sources */, + 671462B81EB3396E00EAB194 /* Sequence+ConcurrentMap.swift in Sources */, + 671463741EB3396E00EAB194 /* BorderDrawingOperation.swift in Sources */, + 6714633C1EB3396E00EAB194 /* LoadingIndicator.swift in Sources */, + 671463181EB3396E00EAB194 /* UIWindow+Extensions.swift in Sources */, + 671462541EB3396E00EAB194 /* App.swift in Sources */, + 6714635C1EB3396E00EAB194 /* StoryboardProtocol.swift in Sources */, + 671462F41EB3396E00EAB194 /* UIStoryboard+InstantiateViewController.swift in Sources */, + 671463781EB3396E00EAB194 /* CALayerDrawingOperation.swift in Sources */, + 671463381EB3396E00EAB194 /* EstimatedViewHeightProtocol.swift in Sources */, + 6714632C1EB3396E00EAB194 /* ConfigurableController.swift in Sources */, + 6714628C1EB3396E00EAB194 /* CGImage+Alpha.swift in Sources */, + 671462741EB3396E00EAB194 /* LeadKitError.swift in Sources */, + 671462D81EB3396E00EAB194 /* TimeInterval+DateComponents.swift in Sources */, + 6714638C1EB3396E00EAB194 /* SolidFillDrawingOperation.swift in Sources */, + 671463A21EB33FF600EAB194 /* Animatable.swift in Sources */, + 671462501EB3396E00EAB194 /* StaticCursor.swift in Sources */, + 6714629C1EB3396E00EAB194 /* CursorType+Slice.swift in Sources */, + 671463681EB3396E00EAB194 /* ViewModelProtocol.swift in Sources */, + 671462E81EB3396E00EAB194 /* UIDevice+Extensions.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 78CFEE301C5C456B00F50370 /* Sources */ = { + 67186B2C1EB248F100CFAFFB /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 67B3057D1E8A8735008169CA /* TestView.swift in Sources */, - 67EF144E1E8BED4E00D6E0DD /* CursorTests.swift in Sources */, - 67EF144C1E8BEACB00D6E0DD /* StubCursor.swift in Sources */, - 67B3057F1E8A8804008169CA /* LoadFromNibTests.swift in Sources */, - 674743941E929A5A00B47671 /* PaginationViewModelTests.swift in Sources */, - 6727419D1E65B99E0075836A /* MappableUserDefaultsTests.swift in Sources */, - 672741A01E65C1E00075836A /* Post.swift in Sources */, + 671463CA1EB34B1E00EAB194 /* TestView.swift in Sources */, + 671463C71EB34B1E00EAB194 /* PaginationViewModelTests.swift in Sources */, + 671463B81EB34B1E00EAB194 /* StubCursor.swift in Sources */, + 671463BB1EB34B1E00EAB194 /* CursorTests.swift in Sources */, + 671463C11EB34B1E00EAB194 /* MappableUserDefaultsTests.swift in Sources */, + 671463BE1EB34B1E00EAB194 /* LoadFromNibTests.swift in Sources */, + 671463C41EB34B1E00EAB194 /* Post.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 6782BB8C1EB31CFE0086E0B8 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 6714634A1EB3396E00EAB194 /* ResettableType.swift in Sources */, + 671462E61EB3396E00EAB194 /* UIColor+Hex.swift in Sources */, + 671462CE1EB3396E00EAB194 /* String+SizeCalculation.swift in Sources */, + 671462821EB3396E00EAB194 /* AlamofireRequest+Extensions.swift in Sources */, + 671462C61EB3396E00EAB194 /* String+Extensions.swift in Sources */, + 671463561EB3396E00EAB194 /* StaticViewHeightProtocol.swift in Sources */, + 671462AA1EB3396E00EAB194 /* ImmutableMappable+ObservableMappable.swift in Sources */, + 671463621EB3396E00EAB194 /* SupportProtocol.swift in Sources */, + 671462861EB3396E00EAB194 /* CGContext+Initializers.swift in Sources */, + 671463221EB3396E00EAB194 /* Any+Cast.swift in Sources */, + 6714634E1EB3396E00EAB194 /* ReuseIdentifierProtocol.swift in Sources */, + 6714626A1EB3396E00EAB194 /* NetworkService.swift in Sources */, + 671462461EB3396E00EAB194 /* Mutex.swift in Sources */, + 671463421EB3396E00EAB194 /* ModuleConfigurator.swift in Sources */, + 671462661EB3396E00EAB194 /* PaginationViewModel.swift in Sources */, + 671462921EB3396E00EAB194 /* CGImage+Crop.swift in Sources */, + 671463861EB3396E00EAB194 /* ResizeDrawingOperation.swift in Sources */, + 671463921EB3396E00EAB194 /* TemplateDrawingOperation.swift in Sources */, + 6714629A1EB3396E00EAB194 /* CGSize+Resize.swift in Sources */, + 6714635A1EB3396E00EAB194 /* StoryboardIdentifierProtocol.swift in Sources */, + 671463321EB3396E00EAB194 /* CursorType.swift in Sources */, + 6714624E1EB3396E00EAB194 /* MapCursor.swift in Sources */, + 671463261EB3396E00EAB194 /* Any+TypeName.swift in Sources */, + 6714638A1EB3396E00EAB194 /* RoundDrawingOperation.swift in Sources */, + 671463821EB3396E00EAB194 /* PaddingDrawingOperation.swift in Sources */, + 6714632A1EB3396E00EAB194 /* BaseViewModel.swift in Sources */, + 671462AE1EB3396E00EAB194 /* Observable+DeferredJust.swift in Sources */, + 6714627E1EB3396E00EAB194 /* AlamofireManager+Extensions.swift in Sources */, + 671463461EB3396E00EAB194 /* ObservableMappable.swift in Sources */, + 6714625A1EB3396E00EAB194 /* Log.swift in Sources */, + 6714627A1EB3396E00EAB194 /* ResizeContentMode.swift in Sources */, + 671463A41EB33FF600EAB194 /* Animatable.swift in Sources */, + 671463721EB3396E00EAB194 /* ApiRequestParameters.swift in Sources */, + 6714636E1EB3396E00EAB194 /* XibNameProtocol.swift in Sources */, + 67CDEE401EB369BF00895905 /* ConfigurableController.swift in Sources */, + 671462A61EB3396E00EAB194 /* IndexPath+ImmutableIndexPath.swift in Sources */, + 671462A21EB3396E00EAB194 /* Double+Rounding.swift in Sources */, + 6714625E1EB3396E00EAB194 /* LogFormatter.swift in Sources */, + 6714637E1EB3396E00EAB194 /* ImageDrawingOperation.swift in Sources */, + 6714631E1EB3396E00EAB194 /* UserDefaults+MappableDataTypes.swift in Sources */, + 671463361EB3396E00EAB194 /* DrawingOperation.swift in Sources */, + 671462721EB3396E00EAB194 /* CursorError.swift in Sources */, + 671463521EB3396E00EAB194 /* StaticEstimatedViewHeightProtocol.swift in Sources */, + 671462961EB3396E00EAB194 /* CGSize+CGContextSize.swift in Sources */, + 671463661EB3396E00EAB194 /* ViewHeightProtocol.swift in Sources */, + 6714624A1EB3396E00EAB194 /* FixedPageCursor.swift in Sources */, + 671462CA1EB3396E00EAB194 /* String+Localization.swift in Sources */, + 671462BA1EB3396E00EAB194 /* Sequence+ConcurrentMap.swift in Sources */, + 671463761EB3396E00EAB194 /* BorderDrawingOperation.swift in Sources */, + 671462561EB3396E00EAB194 /* App.swift in Sources */, + 6714633A1EB3396E00EAB194 /* EstimatedViewHeightProtocol.swift in Sources */, + 6714628E1EB3396E00EAB194 /* CGImage+Alpha.swift in Sources */, + 671462761EB3396E00EAB194 /* LeadKitError.swift in Sources */, + 671462DA1EB3396E00EAB194 /* TimeInterval+DateComponents.swift in Sources */, + 6714638E1EB3396E00EAB194 /* SolidFillDrawingOperation.swift in Sources */, + 671462521EB3396E00EAB194 /* StaticCursor.swift in Sources */, + 6714629E1EB3396E00EAB194 /* CursorType+Slice.swift in Sources */, + 6714636A1EB3396E00EAB194 /* ViewModelProtocol.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 6782BB9B1EB31D590086E0B8 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 6714634B1EB3396E00EAB194 /* ResettableType.swift in Sources */, + 671462E71EB3396E00EAB194 /* UIColor+Hex.swift in Sources */, + 671462CF1EB3396E00EAB194 /* String+SizeCalculation.swift in Sources */, + 671462831EB3396E00EAB194 /* AlamofireRequest+Extensions.swift in Sources */, + 671462C71EB3396E00EAB194 /* String+Extensions.swift in Sources */, + 671463571EB3396E00EAB194 /* StaticViewHeightProtocol.swift in Sources */, + 671462AB1EB3396E00EAB194 /* ImmutableMappable+ObservableMappable.swift in Sources */, + 671463631EB3396E00EAB194 /* SupportProtocol.swift in Sources */, + 671462DF1EB3396E00EAB194 /* UIActivityIndicator+LoadingIndicator.swift in Sources */, + 671462871EB3396E00EAB194 /* CGContext+Initializers.swift in Sources */, + 671463231EB3396E00EAB194 /* Any+Cast.swift in Sources */, + 6714634F1EB3396E00EAB194 /* ReuseIdentifierProtocol.swift in Sources */, + 671462F31EB3396E00EAB194 /* UIImage+SupportExtensions.swift in Sources */, + 6714626B1EB3396E00EAB194 /* NetworkService.swift in Sources */, + 671463131EB3396E00EAB194 /* UIViewController+DefaultXibName.swift in Sources */, + 671462471EB3396E00EAB194 /* Mutex.swift in Sources */, + 671463431EB3396E00EAB194 /* ModuleConfigurator.swift in Sources */, + 671462671EB3396E00EAB194 /* PaginationViewModel.swift in Sources */, + 671462931EB3396E00EAB194 /* CGImage+Crop.swift in Sources */, + 671462FF1EB3396E00EAB194 /* UIView+DefaultXibName.swift in Sources */, + 671463871EB3396E00EAB194 /* ResizeDrawingOperation.swift in Sources */, + 671463931EB3396E00EAB194 /* TemplateDrawingOperation.swift in Sources */, + 671463A51EB33FF600EAB194 /* Animatable.swift in Sources */, + 6714630F1EB3396E00EAB194 /* UIViewController+DefaultStoryboardIdentifier.swift in Sources */, + 6714629B1EB3396E00EAB194 /* CGSize+Resize.swift in Sources */, + 671462FB1EB3396E00EAB194 /* UIView+DefaultReuseIdentifier.swift in Sources */, + 6714635B1EB3396E00EAB194 /* StoryboardIdentifierProtocol.swift in Sources */, + 671463331EB3396E00EAB194 /* CursorType.swift in Sources */, + 6714624F1EB3396E00EAB194 /* MapCursor.swift in Sources */, + 671463271EB3396E00EAB194 /* Any+TypeName.swift in Sources */, + 6714638B1EB3396E00EAB194 /* RoundDrawingOperation.swift in Sources */, + 671463831EB3396E00EAB194 /* PaddingDrawingOperation.swift in Sources */, + 671462E31EB3396E00EAB194 /* UICollectionView+CellRegistration.swift in Sources */, + 6714632B1EB3396E00EAB194 /* BaseViewModel.swift in Sources */, + 671462AF1EB3396E00EAB194 /* Observable+DeferredJust.swift in Sources */, + 671463031EB3396E00EAB194 /* UIView+LoadFromNib.swift in Sources */, + 6714627F1EB3396E00EAB194 /* AlamofireManager+Extensions.swift in Sources */, + 671463471EB3396E00EAB194 /* ObservableMappable.swift in Sources */, + 6714625B1EB3396E00EAB194 /* Log.swift in Sources */, + 6714627B1EB3396E00EAB194 /* ResizeContentMode.swift in Sources */, + 671463071EB3396E00EAB194 /* UIView+LoadingIndicator.swift in Sources */, + 671463A91EB340C000EAB194 /* UIViewController+ConfigurableController.swift in Sources */, + 671463731EB3396E00EAB194 /* ApiRequestParameters.swift in Sources */, + 671462EF1EB3396E00EAB194 /* UIImage+Extensions.swift in Sources */, + 6714636F1EB3396E00EAB194 /* XibNameProtocol.swift in Sources */, + 671462A71EB3396E00EAB194 /* IndexPath+ImmutableIndexPath.swift in Sources */, + 671462BF1EB3396E00EAB194 /* StoryboardProtocol+DefaultBundle.swift in Sources */, + 671462A31EB3396E00EAB194 /* Double+Rounding.swift in Sources */, + 6714625F1EB3396E00EAB194 /* LogFormatter.swift in Sources */, + 6714630B1EB3396E00EAB194 /* UIView+Rotation.swift in Sources */, + 6714626F1EB3396E00EAB194 /* XibView.swift in Sources */, + 6714637F1EB3396E00EAB194 /* ImageDrawingOperation.swift in Sources */, + 6714631F1EB3396E00EAB194 /* UserDefaults+MappableDataTypes.swift in Sources */, + 671463371EB3396E00EAB194 /* DrawingOperation.swift in Sources */, + 671462C31EB3396E00EAB194 /* StoryboardProtocol+Extensions.swift in Sources */, + 671462731EB3396E00EAB194 /* CursorError.swift in Sources */, + 6714639B1EB3396E00EAB194 /* AnyLoadingIndicator.swift in Sources */, + 671463531EB3396E00EAB194 /* StaticEstimatedViewHeightProtocol.swift in Sources */, + 671463171EB3396E00EAB194 /* UIViewController+TopVisibleViewController.swift in Sources */, + 6714628B1EB3396E00EAB194 /* CGFloat+Pixels.swift in Sources */, + 671462971EB3396E00EAB194 /* CGSize+CGContextSize.swift in Sources */, + 671463671EB3396E00EAB194 /* ViewHeightProtocol.swift in Sources */, + 6714624B1EB3396E00EAB194 /* FixedPageCursor.swift in Sources */, + 671462CB1EB3396E00EAB194 /* String+Localization.swift in Sources */, + 671462BB1EB3396E00EAB194 /* Sequence+ConcurrentMap.swift in Sources */, + 671463771EB3396E00EAB194 /* BorderDrawingOperation.swift in Sources */, + 6714633F1EB3396E00EAB194 /* LoadingIndicator.swift in Sources */, + 6714631B1EB3396E00EAB194 /* UIWindow+Extensions.swift in Sources */, + 671462571EB3396E00EAB194 /* App.swift in Sources */, + 6714635F1EB3396E00EAB194 /* StoryboardProtocol.swift in Sources */, + 671462F71EB3396E00EAB194 /* UIStoryboard+InstantiateViewController.swift in Sources */, + 6714637B1EB3396E00EAB194 /* CALayerDrawingOperation.swift in Sources */, + 6714633B1EB3396E00EAB194 /* EstimatedViewHeightProtocol.swift in Sources */, + 6714632F1EB3396E00EAB194 /* ConfigurableController.swift in Sources */, + 6714628F1EB3396E00EAB194 /* CGImage+Alpha.swift in Sources */, + 671462771EB3396E00EAB194 /* LeadKitError.swift in Sources */, + 671462DB1EB3396E00EAB194 /* TimeInterval+DateComponents.swift in Sources */, + 6714638F1EB3396E00EAB194 /* SolidFillDrawingOperation.swift in Sources */, + 671462531EB3396E00EAB194 /* StaticCursor.swift in Sources */, + 6714629F1EB3396E00EAB194 /* CursorType+Slice.swift in Sources */, + 6714636B1EB3396E00EAB194 /* ViewModelProtocol.swift in Sources */, + 671462EB1EB3396E00EAB194 /* UIDevice+Extensions.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 6782BBA41EB31D5A0086E0B8 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 671463CC1EB34B1E00EAB194 /* TestView.swift in Sources */, + 671463C91EB34B1E00EAB194 /* PaginationViewModelTests.swift in Sources */, + 671463BA1EB34B1E00EAB194 /* StubCursor.swift in Sources */, + 671463BD1EB34B1E00EAB194 /* CursorTests.swift in Sources */, + 671463C31EB34B1E00EAB194 /* MappableUserDefaultsTests.swift in Sources */, + 671463C01EB34B1E00EAB194 /* LoadFromNibTests.swift in Sources */, + 671463C61EB34B1E00EAB194 /* Post.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 67952DC01EB327B400B3BA1A /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 671463491EB3396E00EAB194 /* ResettableType.swift in Sources */, + 671462E51EB3396E00EAB194 /* UIColor+Hex.swift in Sources */, + 671462CD1EB3396E00EAB194 /* String+SizeCalculation.swift in Sources */, + 671462811EB3396E00EAB194 /* AlamofireRequest+Extensions.swift in Sources */, + 671462C51EB3396E00EAB194 /* String+Extensions.swift in Sources */, + 671463551EB3396E00EAB194 /* StaticViewHeightProtocol.swift in Sources */, + 671462A91EB3396E00EAB194 /* ImmutableMappable+ObservableMappable.swift in Sources */, + 671463611EB3396E00EAB194 /* SupportProtocol.swift in Sources */, + 671462DD1EB3396E00EAB194 /* UIActivityIndicator+LoadingIndicator.swift in Sources */, + 671462851EB3396E00EAB194 /* CGContext+Initializers.swift in Sources */, + 671463211EB3396E00EAB194 /* Any+Cast.swift in Sources */, + 6714634D1EB3396E00EAB194 /* ReuseIdentifierProtocol.swift in Sources */, + 671462F11EB3396E00EAB194 /* UIImage+SupportExtensions.swift in Sources */, + 671462691EB3396E00EAB194 /* NetworkService.swift in Sources */, + 671463111EB3396E00EAB194 /* UIViewController+DefaultXibName.swift in Sources */, + 671462451EB3396E00EAB194 /* Mutex.swift in Sources */, + 671463411EB3396E00EAB194 /* ModuleConfigurator.swift in Sources */, + 671462651EB3396E00EAB194 /* PaginationViewModel.swift in Sources */, + 671462911EB3396E00EAB194 /* CGImage+Crop.swift in Sources */, + 671462FD1EB3396E00EAB194 /* UIView+DefaultXibName.swift in Sources */, + 671463851EB3396E00EAB194 /* ResizeDrawingOperation.swift in Sources */, + 671462D11EB3396E00EAB194 /* UIScrollView+Support.swift in Sources */, + 671463911EB3396E00EAB194 /* TemplateDrawingOperation.swift in Sources */, + 6714630D1EB3396E00EAB194 /* UIViewController+DefaultStoryboardIdentifier.swift in Sources */, + 671462991EB3396E00EAB194 /* CGSize+Resize.swift in Sources */, + 671462F91EB3396E00EAB194 /* UIView+DefaultReuseIdentifier.swift in Sources */, + 671463591EB3396E00EAB194 /* StoryboardIdentifierProtocol.swift in Sources */, + 671463311EB3396E00EAB194 /* CursorType.swift in Sources */, + 6714624D1EB3396E00EAB194 /* MapCursor.swift in Sources */, + 671463251EB3396E00EAB194 /* Any+TypeName.swift in Sources */, + 671463891EB3396E00EAB194 /* RoundDrawingOperation.swift in Sources */, + 671463811EB3396E00EAB194 /* PaddingDrawingOperation.swift in Sources */, + 671462E11EB3396E00EAB194 /* UICollectionView+CellRegistration.swift in Sources */, + 671463291EB3396E00EAB194 /* BaseViewModel.swift in Sources */, + 671462AD1EB3396E00EAB194 /* Observable+DeferredJust.swift in Sources */, + 671463011EB3396E00EAB194 /* UIView+LoadFromNib.swift in Sources */, + 6714627D1EB3396E00EAB194 /* AlamofireManager+Extensions.swift in Sources */, + 671463451EB3396E00EAB194 /* ObservableMappable.swift in Sources */, + 671462591EB3396E00EAB194 /* Log.swift in Sources */, + 671462791EB3396E00EAB194 /* ResizeContentMode.swift in Sources */, + 671463051EB3396E00EAB194 /* UIView+LoadingIndicator.swift in Sources */, + 671463711EB3396E00EAB194 /* ApiRequestParameters.swift in Sources */, + 671462ED1EB3396E00EAB194 /* UIImage+Extensions.swift in Sources */, + 6714636D1EB3396E00EAB194 /* XibNameProtocol.swift in Sources */, + 671462A51EB3396E00EAB194 /* IndexPath+ImmutableIndexPath.swift in Sources */, + 671462BD1EB3396E00EAB194 /* StoryboardProtocol+DefaultBundle.swift in Sources */, + 671462A11EB3396E00EAB194 /* Double+Rounding.swift in Sources */, + 6714625D1EB3396E00EAB194 /* LogFormatter.swift in Sources */, + 671463091EB3396E00EAB194 /* UIView+Rotation.swift in Sources */, + 6714626D1EB3396E00EAB194 /* XibView.swift in Sources */, + 6714637D1EB3396E00EAB194 /* ImageDrawingOperation.swift in Sources */, + 6714631D1EB3396E00EAB194 /* UserDefaults+MappableDataTypes.swift in Sources */, + 671463351EB3396E00EAB194 /* DrawingOperation.swift in Sources */, + 671462C11EB3396E00EAB194 /* StoryboardProtocol+Extensions.swift in Sources */, + 671462711EB3396E00EAB194 /* CursorError.swift in Sources */, + 671463991EB3396E00EAB194 /* AnyLoadingIndicator.swift in Sources */, + 671463511EB3396E00EAB194 /* StaticEstimatedViewHeightProtocol.swift in Sources */, + 671463A81EB340C000EAB194 /* UIViewController+ConfigurableController.swift in Sources */, + 671463151EB3396E00EAB194 /* UIViewController+TopVisibleViewController.swift in Sources */, + 671462891EB3396E00EAB194 /* CGFloat+Pixels.swift in Sources */, + 671462951EB3396E00EAB194 /* CGSize+CGContextSize.swift in Sources */, + 671463651EB3396E00EAB194 /* ViewHeightProtocol.swift in Sources */, + 671462491EB3396E00EAB194 /* FixedPageCursor.swift in Sources */, + 671462C91EB3396E00EAB194 /* String+Localization.swift in Sources */, + 671462B91EB3396E00EAB194 /* Sequence+ConcurrentMap.swift in Sources */, + 671463751EB3396E00EAB194 /* BorderDrawingOperation.swift in Sources */, + 6714633D1EB3396E00EAB194 /* LoadingIndicator.swift in Sources */, + 671463191EB3396E00EAB194 /* UIWindow+Extensions.swift in Sources */, + 671462551EB3396E00EAB194 /* App.swift in Sources */, + 6714635D1EB3396E00EAB194 /* StoryboardProtocol.swift in Sources */, + 671462F51EB3396E00EAB194 /* UIStoryboard+InstantiateViewController.swift in Sources */, + 671463791EB3396E00EAB194 /* CALayerDrawingOperation.swift in Sources */, + 671463391EB3396E00EAB194 /* EstimatedViewHeightProtocol.swift in Sources */, + 6714632D1EB3396E00EAB194 /* ConfigurableController.swift in Sources */, + 6714628D1EB3396E00EAB194 /* CGImage+Alpha.swift in Sources */, + 671462751EB3396E00EAB194 /* LeadKitError.swift in Sources */, + 671462D91EB3396E00EAB194 /* TimeInterval+DateComponents.swift in Sources */, + 6714638D1EB3396E00EAB194 /* SolidFillDrawingOperation.swift in Sources */, + 671463A31EB33FF600EAB194 /* Animatable.swift in Sources */, + 671462511EB3396E00EAB194 /* StaticCursor.swift in Sources */, + 6714629D1EB3396E00EAB194 /* CursorType+Slice.swift in Sources */, + 671463691EB3396E00EAB194 /* ViewModelProtocol.swift in Sources */, + 671462E91EB3396E00EAB194 /* UIDevice+Extensions.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 67952DC91EB327B400B3BA1A /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 671463C21EB34B1E00EAB194 /* MappableUserDefaultsTests.swift in Sources */, + 671463BF1EB34B1E00EAB194 /* LoadFromNibTests.swift in Sources */, + 671463C51EB34B1E00EAB194 /* Post.swift in Sources */, + 671463CB1EB34B1E00EAB194 /* TestView.swift in Sources */, + 671463C81EB34B1E00EAB194 /* PaginationViewModelTests.swift in Sources */, + 671463BC1EB34B1E00EAB194 /* CursorTests.swift in Sources */, + 671463B91EB34B1E00EAB194 /* StubCursor.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 78CFEE371C5C456B00F50370 /* PBXTargetDependency */ = { + 67186B331EB248F100CFAFFB /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = 78CFEE291C5C456B00F50370 /* LeadKit */; - targetProxy = 78CFEE361C5C456B00F50370 /* PBXContainerItemProxy */; + target = 67186B271EB248F100CFAFFB /* LeadKit iOS */; + targetProxy = 67186B321EB248F100CFAFFB /* PBXContainerItemProxy */; + }; + 6782BBAB1EB31D5A0086E0B8 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 6782BB9F1EB31D590086E0B8 /* LeadKit tvOS */; + targetProxy = 6782BBAA1EB31D5A0086E0B8 /* PBXContainerItemProxy */; + }; + 67952DD01EB327B500B3BA1A /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 67952DC41EB327B400B3BA1A /* LeadKit iOS Extensions */; + targetProxy = 67952DCF1EB327B500B3BA1A /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ + 67186B3A1EB248F100CFAFFB /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 1DA955AE397186D4042066E0 /* Pods-LeadKit-LeadKit iOS.debug.xcconfig */; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CODE_SIGN_IDENTITY = ""; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = D4HA43V467; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "$(SRCROOT)/Sources/Info-iOS.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "ru.touchin.LeadKit-iOS"; + PRODUCT_NAME = LeadKit; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_VERSION = 3.0; + }; + name = Debug; + }; + 67186B3B1EB248F100CFAFFB /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 9966FB938D114F79F71AE037 /* Pods-LeadKit-LeadKit iOS.release.xcconfig */; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CODE_SIGN_IDENTITY = ""; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = D4HA43V467; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "$(SRCROOT)/Sources/Info-iOS.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "ru.touchin.LeadKit-iOS"; + PRODUCT_NAME = LeadKit; + SKIP_INSTALL = YES; + SWIFT_VERSION = 3.0; + }; + name = Release; + }; + 67186B3D1EB248F100CFAFFB /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = CD7003F75FD6DDC97DC99A7A /* Pods-LeadKit iOSTests.debug.xcconfig */; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_ENABLE_MODULES = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + DEVELOPMENT_TEAM = D4HA43V467; + INFOPLIST_FILE = "Tests/Info-iOS.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 10.3; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "ru.touchin.LeadKit-iOSTests"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 3.0; + }; + name = Debug; + }; + 67186B3E1EB248F100CFAFFB /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 53B12E773F945234CCA9A7E9 /* Pods-LeadKit iOSTests.release.xcconfig */; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_ENABLE_MODULES = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + DEVELOPMENT_TEAM = D4HA43V467; + INFOPLIST_FILE = "Tests/Info-iOS.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 10.3; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "ru.touchin.LeadKit-iOSTests"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 3.0; + }; + name = Release; + }; + 6782BB971EB31CFE0086E0B8 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 0D4689620761929AE17D966C /* Pods-LeadKit-LeadKit watchOS.debug.xcconfig */; + buildSettings = { + APPLICATION_EXTENSION_API_ONLY = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CODE_SIGN_IDENTITY = ""; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = D4HA43V467; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "$(SRCROOT)/Sources/Info-watchOS.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "ru.touchin.LeadKit-watchOS"; + PRODUCT_NAME = LeadKit; + SDKROOT = watchos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_VERSION = 3.0; + TARGETED_DEVICE_FAMILY = 4; + WATCHOS_DEPLOYMENT_TARGET = 2.0; + }; + name = Debug; + }; + 6782BB981EB31CFE0086E0B8 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = BECC6E4BF63781403877B059 /* Pods-LeadKit-LeadKit watchOS.release.xcconfig */; + buildSettings = { + APPLICATION_EXTENSION_API_ONLY = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CODE_SIGN_IDENTITY = ""; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = D4HA43V467; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "$(SRCROOT)/Sources/Info-watchOS.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "ru.touchin.LeadKit-watchOS"; + PRODUCT_NAME = LeadKit; + SDKROOT = watchos; + SKIP_INSTALL = YES; + SWIFT_VERSION = 3.0; + TARGETED_DEVICE_FAMILY = 4; + WATCHOS_DEPLOYMENT_TARGET = 2.0; + }; + name = Release; + }; + 6782BBB21EB31D5A0086E0B8 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 1B4633F3E4593D0262D9E505 /* Pods-LeadKit-LeadKit tvOS.debug.xcconfig */; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CODE_SIGN_IDENTITY = ""; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = D4HA43V467; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "$(SRCROOT)/Sources/Info-tvOS.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "ru.touchin.LeadKit-tvOS"; + PRODUCT_NAME = LeadKit; + SDKROOT = appletvos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_VERSION = 3.0; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 9.0; + }; + name = Debug; + }; + 6782BBB31EB31D5A0086E0B8 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 563DDE9CACD515FDCB5A2FFF /* Pods-LeadKit-LeadKit tvOS.release.xcconfig */; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CODE_SIGN_IDENTITY = ""; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = D4HA43V467; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "$(SRCROOT)/Sources/Info-tvOS.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "ru.touchin.LeadKit-tvOS"; + PRODUCT_NAME = LeadKit; + SDKROOT = appletvos; + SKIP_INSTALL = YES; + SWIFT_VERSION = 3.0; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 9.0; + }; + name = Release; + }; + 6782BBB51EB31D5A0086E0B8 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 65B19DB0B65A1EE1A1E2C907 /* Pods-LeadKit tvOSTests.debug.xcconfig */; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_ENABLE_MODULES = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + DEVELOPMENT_TEAM = D4HA43V467; + INFOPLIST_FILE = "Tests/Info-tvOS.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "ru.touchin.LeadKit-tvOSTests"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = appletvos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 3.0; + TVOS_DEPLOYMENT_TARGET = 10.2; + }; + name = Debug; + }; + 6782BBB61EB31D5A0086E0B8 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = D840E55867DC9BB63460B856 /* Pods-LeadKit tvOSTests.release.xcconfig */; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_ENABLE_MODULES = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + DEVELOPMENT_TEAM = D4HA43V467; + INFOPLIST_FILE = "Tests/Info-tvOS.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "ru.touchin.LeadKit-tvOSTests"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = appletvos; + SWIFT_VERSION = 3.0; + TVOS_DEPLOYMENT_TARGET = 10.2; + }; + name = Release; + }; + 67952DD71EB327B500B3BA1A /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 4B8CD4D99A5B9CDB08308679 /* Pods-LeadKit-LeadKit iOS Extensions.debug.xcconfig */; + buildSettings = { + APPLICATION_EXTENSION_API_ONLY = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CODE_SIGN_IDENTITY = ""; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = D4HA43V467; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "$(SRCROOT)/Sources/Info-iOS-Extensions.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "ru.touchin.LeadKit-iOS-Extensions"; + PRODUCT_NAME = LeadKit; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG LEADKIT_EXTENSION_TARGET"; + SWIFT_VERSION = 3.0; + }; + name = Debug; + }; + 67952DD81EB327B500B3BA1A /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 2BD6FE790236CFF8D2CD505E /* Pods-LeadKit-LeadKit iOS Extensions.release.xcconfig */; + buildSettings = { + APPLICATION_EXTENSION_API_ONLY = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CODE_SIGN_IDENTITY = ""; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = D4HA43V467; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "$(SRCROOT)/Sources/Info-iOS-Extensions.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "ru.touchin.LeadKit-iOS-Extensions"; + PRODUCT_NAME = LeadKit; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = LEADKIT_EXTENSION_TARGET; + SWIFT_VERSION = 3.0; + }; + name = Release; + }; + 67952DDA1EB327B500B3BA1A /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = CB02EAC4E52AF48AD64EC045 /* Pods-LeadKit iOS ExtensionsTests.debug.xcconfig */; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + DEVELOPMENT_TEAM = D4HA43V467; + INFOPLIST_FILE = "Tests/Info-iOS-Extensions.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 10.3; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "ru.touchin.LeadKit-iOS-ExtensionsTests"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_VERSION = 3.0; + }; + name = Debug; + }; + 67952DDB1EB327B500B3BA1A /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 381DF859FC4E26D499123014 /* Pods-LeadKit iOS ExtensionsTests.release.xcconfig */; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + DEVELOPMENT_TEAM = D4HA43V467; + INFOPLIST_FILE = "Tests/Info-iOS-Extensions.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 10.3; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "ru.touchin.LeadKit-iOS-ExtensionsTests"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 3.0; + }; + name = Release; + }; 78CFEE3C1C5C456B00F50370 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -1187,73 +2645,72 @@ }; name = Release; }; - 78CFEE3F1C5C456B00F50370 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 90CFCDEC72425A2EFD43F152 /* Pods-LeadKit.debug.xcconfig */; - buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = LeadKit/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = ru.touchin.LeadKit; - PRODUCT_NAME = "$(TARGET_NAME)"; - SKIP_INSTALL = YES; - SWIFT_VERSION = 3.0; - }; - name = Debug; - }; - 78CFEE401C5C456B00F50370 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = A410FBD8EEF020D5BBFB2B61 /* Pods-LeadKit.release.xcconfig */; - buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = LeadKit/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = ru.touchin.LeadKit; - PRODUCT_NAME = "$(TARGET_NAME)"; - SKIP_INSTALL = YES; - SWIFT_VERSION = 3.0; - }; - name = Release; - }; - 78CFEE421C5C456B00F50370 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = CC832342120EAD568C9F7FC3 /* Pods-LeadKitTests.debug.xcconfig */; - buildSettings = { - INFOPLIST_FILE = LeadKitTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = ru.touchin.LeadKitTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 3.0; - }; - name = Debug; - }; - 78CFEE431C5C456B00F50370 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 925D666BEC5C46DC99073A86 /* Pods-LeadKitTests.release.xcconfig */; - buildSettings = { - INFOPLIST_FILE = LeadKitTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = ru.touchin.LeadKitTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 3.0; - }; - name = Release; - }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ + 67186B391EB248F100CFAFFB /* Build configuration list for PBXNativeTarget "LeadKit iOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 67186B3A1EB248F100CFAFFB /* Debug */, + 67186B3B1EB248F100CFAFFB /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 67186B3C1EB248F100CFAFFB /* Build configuration list for PBXNativeTarget "LeadKit iOSTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 67186B3D1EB248F100CFAFFB /* Debug */, + 67186B3E1EB248F100CFAFFB /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 6782BB961EB31CFE0086E0B8 /* Build configuration list for PBXNativeTarget "LeadKit watchOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 6782BB971EB31CFE0086E0B8 /* Debug */, + 6782BB981EB31CFE0086E0B8 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 6782BBB11EB31D5A0086E0B8 /* Build configuration list for PBXNativeTarget "LeadKit tvOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 6782BBB21EB31D5A0086E0B8 /* Debug */, + 6782BBB31EB31D5A0086E0B8 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 6782BBB41EB31D5A0086E0B8 /* Build configuration list for PBXNativeTarget "LeadKit tvOSTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 6782BBB51EB31D5A0086E0B8 /* Debug */, + 6782BBB61EB31D5A0086E0B8 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 67952DD61EB327B500B3BA1A /* Build configuration list for PBXNativeTarget "LeadKit iOS Extensions" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 67952DD71EB327B500B3BA1A /* Debug */, + 67952DD81EB327B500B3BA1A /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 67952DD91EB327B500B3BA1A /* Build configuration list for PBXNativeTarget "LeadKit iOS ExtensionsTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 67952DDA1EB327B500B3BA1A /* Debug */, + 67952DDB1EB327B500B3BA1A /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; 78CFEE241C5C456B00F50370 /* Build configuration list for PBXProject "LeadKit" */ = { isa = XCConfigurationList; buildConfigurations = ( @@ -1263,24 +2720,6 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 78CFEE3E1C5C456B00F50370 /* Build configuration list for PBXNativeTarget "LeadKit" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 78CFEE3F1C5C456B00F50370 /* Debug */, - 78CFEE401C5C456B00F50370 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 78CFEE411C5C456B00F50370 /* Build configuration list for PBXNativeTarget "LeadKitTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 78CFEE421C5C456B00F50370 /* Debug */, - 78CFEE431C5C456B00F50370 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; /* End XCConfigurationList section */ }; rootObject = 78CFEE211C5C456B00F50370 /* Project object */; diff --git a/LeadKit/LeadKit.xcodeproj/xcshareddata/xcschemes/LeadKit.xcscheme b/LeadKit/LeadKit.xcodeproj/xcshareddata/xcschemes/LeadKit.xcscheme deleted file mode 100644 index 8a426cb3..00000000 --- a/LeadKit/LeadKit.xcodeproj/xcshareddata/xcschemes/LeadKit.xcscheme +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/LeadKit/LeadKit/iOS.playground/Contents.swift b/LeadKit/LeadKit/iOS.playground/Contents.swift deleted file mode 100644 index 0fa4d197..00000000 --- a/LeadKit/LeadKit/iOS.playground/Contents.swift +++ /dev/null @@ -1,3 +0,0 @@ -import LeadKit - -let str = "Hello, LeadKit playground" \ No newline at end of file diff --git a/LeadKit/Podfile b/LeadKit/Podfile index 8fd231e6..5f2525b7 100644 --- a/LeadKit/Podfile +++ b/LeadKit/Podfile @@ -1,21 +1,57 @@ -# Uncomment the next line to define a global platform for your project -platform :ios, '9.0' - -target 'LeadKit' do - use_frameworks! - +abstract_target 'LeadKit' do pod "CocoaLumberjack/Swift", '~> 3.1.0' pod "RxSwift", '3.2.0' pod "RxCocoa", '3.2.0' pod "RxAlamofire", '3.0.0' pod "ObjectMapper", '~> 2.1' - pod "Toast-Swift", '~> 2.0.0' - pod "TableKit", '~> 2.3.1' - pod "UIScrollView-InfiniteScroll", '~> 1.0.0' - target 'LeadKitTests' do - inherit! :search_paths - # Pods for testing + inhibit_all_warnings! + + target 'LeadKit iOS' do + platform :ios, '9.0' + + use_frameworks! + + pod "Toast-Swift", '~> 2.0.0' + pod "TableKit", '~> 2.3.1' + pod "UIScrollView-InfiniteScroll", '~> 1.0.0' + + target 'LeadKit iOSTests' do + inherit! :search_paths + # Pods for testing + end + + end + + target 'LeadKit iOS Extensions' do + platform :ios, '9.0' + + use_frameworks! + + target 'LeadKit iOS ExtensionsTests' do + inherit! :search_paths + # Pods for testing + end + + end + + target 'LeadKit watchOS' do + platform :watchos, '2.0' + + use_frameworks! + + end + + target 'LeadKit tvOS' do + platform :tvos, '9.0' + + use_frameworks! + + target 'LeadKit tvOSTests' do + inherit! :search_paths + # Pods for testing + end + end end diff --git a/LeadKit/Podfile.lock b/LeadKit/Podfile.lock index d7f9f13c..886cccc6 100644 --- a/LeadKit/Podfile.lock +++ b/LeadKit/Podfile.lock @@ -3,7 +3,7 @@ PODS: - CocoaLumberjack/Default (3.1.0) - CocoaLumberjack/Swift (3.1.0): - CocoaLumberjack/Default - - ObjectMapper (2.2.5) + - ObjectMapper (2.2.6) - RxAlamofire (3.0.0): - RxAlamofire/Core (= 3.0.0) - RxAlamofire/Core (3.0.0): @@ -14,7 +14,7 @@ PODS: - RxSwift (3.2.0) - TableKit (2.3.1) - Toast-Swift (2.0.0) - - UIScrollView-InfiniteScroll (1.0.0) + - UIScrollView-InfiniteScroll (1.0.1) DEPENDENCIES: - CocoaLumberjack/Swift (~> 3.1.0) @@ -29,14 +29,14 @@ DEPENDENCIES: SPEC CHECKSUMS: Alamofire: dc44b1600b800eb63da6a19039a0083d62a6a62d CocoaLumberjack: 8311463ddf9ee86a06ef92a071dd656c89244500 - ObjectMapper: fb30f71e08470d1e5a20b199fafe1246281db898 + ObjectMapper: 042708195cc46c20871cbcbec0453826398273fd RxAlamofire: 0b1fa48f545fffe7f7a28af2086bcaa3b5946cc9 RxCocoa: ccdf43101a70407097a29082f648ba1676075b30 RxSwift: 46574f70d416b7923c237195939cc488a7fbf3a0 TableKit: 02e041b443f75fa3e9f1ee6024d4b256305bd904 Toast-Swift: 5b2f8f720f7e78e48511f693df1f9c9a6e38a25a - UIScrollView-InfiniteScroll: d26885be71caca7485cdb37eab513a8f89036bb0 + UIScrollView-InfiniteScroll: a90df4ba4a7ca1926128ade34a850ddbdf74c564 -PODFILE CHECKSUM: 0e4c2bc8339733ce0009cdae7684c9cdf03a9be0 +PODFILE CHECKSUM: d7408d68115444050a82a2967e73f2921b9f7490 -COCOAPODS: 1.2.0 +COCOAPODS: 1.2.1 diff --git a/LeadKit/LeadKit/Classes/Concurrency/Mutex.swift b/LeadKit/Sources/Classes/Concurrency/Mutex.swift similarity index 100% rename from LeadKit/LeadKit/Classes/Concurrency/Mutex.swift rename to LeadKit/Sources/Classes/Concurrency/Mutex.swift diff --git a/LeadKit/LeadKit/Classes/Cursors/FixedPageCursor.swift b/LeadKit/Sources/Classes/Cursors/FixedPageCursor.swift similarity index 100% rename from LeadKit/LeadKit/Classes/Cursors/FixedPageCursor.swift rename to LeadKit/Sources/Classes/Cursors/FixedPageCursor.swift diff --git a/LeadKit/LeadKit/Classes/Cursors/MapCursor.swift b/LeadKit/Sources/Classes/Cursors/MapCursor.swift similarity index 100% rename from LeadKit/LeadKit/Classes/Cursors/MapCursor.swift rename to LeadKit/Sources/Classes/Cursors/MapCursor.swift diff --git a/LeadKit/LeadKit/Classes/Cursors/StaticCursor.swift b/LeadKit/Sources/Classes/Cursors/StaticCursor.swift similarity index 100% rename from LeadKit/LeadKit/Classes/Cursors/StaticCursor.swift rename to LeadKit/Sources/Classes/Cursors/StaticCursor.swift diff --git a/LeadKit/LeadKit/Classes/Logging/App.swift b/LeadKit/Sources/Classes/Logging/App.swift similarity index 100% rename from LeadKit/LeadKit/Classes/Logging/App.swift rename to LeadKit/Sources/Classes/Logging/App.swift diff --git a/LeadKit/LeadKit/Classes/Logging/Log.swift b/LeadKit/Sources/Classes/Logging/Log.swift similarity index 100% rename from LeadKit/LeadKit/Classes/Logging/Log.swift rename to LeadKit/Sources/Classes/Logging/Log.swift diff --git a/LeadKit/LeadKit/Classes/Logging/LogFormatter.swift b/LeadKit/Sources/Classes/Logging/LogFormatter.swift similarity index 100% rename from LeadKit/LeadKit/Classes/Logging/LogFormatter.swift rename to LeadKit/Sources/Classes/Logging/LogFormatter.swift diff --git a/LeadKit/LeadKit/Classes/Pagination/PaginationTableViewWrapper.swift b/LeadKit/Sources/Classes/Pagination/PaginationTableViewWrapper.swift similarity index 100% rename from LeadKit/LeadKit/Classes/Pagination/PaginationTableViewWrapper.swift rename to LeadKit/Sources/Classes/Pagination/PaginationTableViewWrapper.swift diff --git a/LeadKit/LeadKit/Classes/Pagination/PaginationViewModel.swift b/LeadKit/Sources/Classes/Pagination/PaginationViewModel.swift similarity index 100% rename from LeadKit/LeadKit/Classes/Pagination/PaginationViewModel.swift rename to LeadKit/Sources/Classes/Pagination/PaginationViewModel.swift diff --git a/LeadKit/LeadKit/Classes/Services/NetworkService.swift b/LeadKit/Sources/Classes/Services/NetworkService.swift similarity index 71% rename from LeadKit/LeadKit/Classes/Services/NetworkService.swift rename to LeadKit/Sources/Classes/Services/NetworkService.swift index 059f25d6..a8482f31 100644 --- a/LeadKit/LeadKit/Classes/Services/NetworkService.swift +++ b/LeadKit/Sources/Classes/Services/NetworkService.swift @@ -31,17 +31,12 @@ import RxAlamofire /// and shows errors in DEBUG mode open class NetworkService { - private let disposeBag = DisposeBag() - private let requestCount = Variable(0) + private let requestCountVariable = Variable(0) public let sessionManager: Alamofire.SessionManager - /// Let netwrok service automatically show / hide activity indicator - public func bindActivityIndicator() { - return requestCount.asDriver() - .map { $0 != 0 } - .drive(UIApplication.shared.rx.isNetworkActivityIndicatorVisible) - .addDisposableTo(disposeBag) + var requestCount: Driver { + return requestCountVariable.asDriver() } /// Creates new instance of NetworkService with given Alamofire session manager @@ -58,9 +53,18 @@ open class NetworkService { public func rxRequest(with parameters: ApiRequestParameters) -> Observable<(response: HTTPURLResponse, model: T)> where T.ModelType == T { - return sessionManager.rx.responseObservableModel(requestParameters: parameters) - .counterTracking(for: self) - .showErrorsInToastInDebugMode() + let responseObservable = sessionManager.rx.responseObservableModel(requestParameters: parameters) + .counterTracking(for: self) as Observable<(response: HTTPURLResponse, model: T)> + + #if os(iOS) + #if LEADKIT_EXTENSION_TARGET + return responseObservable + #else + return responseObservable.showErrorsInToastInDebugMode() + #endif + #else + return responseObservable + #endif } /// Perform reactive request to get mapped ImmutableMappable model and http response @@ -70,9 +74,18 @@ open class NetworkService { public func rxRequest(with parameters: ApiRequestParameters) -> Observable<(response: HTTPURLResponse, model: T)> { - return sessionManager.rx.responseModel(requestParameters: parameters) - .counterTracking(for: self) - .showErrorsInToastInDebugMode() + let responseObservable = sessionManager.rx.responseModel(requestParameters: parameters) + .counterTracking(for: self) as Observable<(response: HTTPURLResponse, model: T)> + + #if os(iOS) + #if LEADKIT_EXTENSION_TARGET + return responseObservable + #else + return responseObservable.showErrorsInToastInDebugMode() + #endif + #else + return responseObservable + #endif } /// Perform reactive request to get UIImage and http response @@ -82,21 +95,30 @@ open class NetworkService { public func rxLoadImage(url: String) -> Observable<(HTTPURLResponse, UIImage?)> { let request = RxAlamofire.requestData(.get, url, headers: [:]) - return request + let requestObservable = request .observeOn(ConcurrentDispatchQueueScheduler(qos: .background)) .map { (response, data) -> (HTTPURLResponse, UIImage?) in (response, UIImage(data: data)) } .counterTracking(for: self) - .showErrorsInToastInDebugMode() + + #if os(iOS) + #if LEADKIT_EXTENSION_TARGET + return requestObservable + #else + return requestObservable.showErrorsInToastInDebugMode() + #endif + #else + return requestObservable + #endif } fileprivate func increaseRequestCounter() { - requestCount.value += 1 + requestCountVariable.value += 1 } fileprivate func decreaseRequestCounter() { - requestCount.value -= 1 + requestCountVariable.value -= 1 } } diff --git a/LeadKit/LeadKit/Classes/Views/XibView.swift b/LeadKit/Sources/Classes/Views/XibView.swift similarity index 100% rename from LeadKit/LeadKit/Classes/Views/XibView.swift rename to LeadKit/Sources/Classes/Views/XibView.swift diff --git a/LeadKit/LeadKit/Enums/CursorError.swift b/LeadKit/Sources/Enums/CursorError.swift similarity index 100% rename from LeadKit/LeadKit/Enums/CursorError.swift rename to LeadKit/Sources/Enums/CursorError.swift diff --git a/LeadKit/LeadKit/Enums/LeadKitError.swift b/LeadKit/Sources/Enums/LeadKitError.swift similarity index 100% rename from LeadKit/LeadKit/Enums/LeadKitError.swift rename to LeadKit/Sources/Enums/LeadKitError.swift diff --git a/LeadKit/LeadKit/Enums/ResizeContentMode.swift b/LeadKit/Sources/Enums/ResizeContentMode.swift similarity index 100% rename from LeadKit/LeadKit/Enums/ResizeContentMode.swift rename to LeadKit/Sources/Enums/ResizeContentMode.swift diff --git a/LeadKit/LeadKit/Extensions/Alamofire/AlamofireManager+Extensions.swift b/LeadKit/Sources/Extensions/Alamofire/AlamofireManager+Extensions.swift similarity index 100% rename from LeadKit/LeadKit/Extensions/Alamofire/AlamofireManager+Extensions.swift rename to LeadKit/Sources/Extensions/Alamofire/AlamofireManager+Extensions.swift diff --git a/LeadKit/LeadKit/Extensions/Alamofire/AlamofireRequest+Extensions.swift b/LeadKit/Sources/Extensions/Alamofire/AlamofireRequest+Extensions.swift similarity index 96% rename from LeadKit/LeadKit/Extensions/Alamofire/AlamofireRequest+Extensions.swift rename to LeadKit/Sources/Extensions/Alamofire/AlamofireRequest+Extensions.swift index e0e5a2f0..3c3f8407 100644 --- a/LeadKit/LeadKit/Extensions/Alamofire/AlamofireRequest+Extensions.swift +++ b/LeadKit/Sources/Extensions/Alamofire/AlamofireRequest+Extensions.swift @@ -31,7 +31,7 @@ public extension Reactive where Base: DataRequest { /// /// - Parameter mappingQueue: The dispatch queue to use for mapping /// - Returns: Observable with HTTP URL Response and target object - func apiResponse(mappingQueue: DispatchQueue = DispatchQueue.global()) + func apiResponse(mappingQueue: DispatchQueue = .global()) -> Observable<(response: HTTPURLResponse, model: T)> { return responseJSONOnQueue(mappingQueue) @@ -46,7 +46,7 @@ public extension Reactive where Base: DataRequest { /// /// - Parameter mappingQueue: The dispatch queue to use for mapping /// - Returns: Observable with HTTP URL Response and array of target objects - func apiResponse(mappingQueue: DispatchQueue = DispatchQueue.global()) + func apiResponse(mappingQueue: DispatchQueue = .global()) -> Observable<(response: HTTPURLResponse, models: [T])> { return responseJSONOnQueue(mappingQueue) @@ -61,7 +61,7 @@ public extension Reactive where Base: DataRequest { /// /// - Parameter mappingQueue: The dispatch queue to use for mapping /// - Returns: Observable with HTTP URL Response and target object - func apiResponse(mappingQueue: DispatchQueue = DispatchQueue.global()) + func apiResponse(mappingQueue: DispatchQueue = .global()) -> Observable<(response: HTTPURLResponse, model: T)> where T.ModelType == T { return responseJSONOnQueue(mappingQueue) @@ -77,7 +77,7 @@ public extension Reactive where Base: DataRequest { /// /// - Parameter mappingQueue: The dispatch queue to use for mapping /// - Returns: Observable with HTTP URL Response and array of target objects - func apiResponse(mappingQueue: DispatchQueue = DispatchQueue.global()) + func apiResponse(mappingQueue: DispatchQueue = .global()) -> Observable<(response: HTTPURLResponse, models: [T])> where T.ModelType == T { return responseJSONOnQueue(mappingQueue) diff --git a/LeadKit/LeadKit/Extensions/CGContext/CGContext+Initializers.swift b/LeadKit/Sources/Extensions/CGContext/CGContext+Initializers.swift similarity index 100% rename from LeadKit/LeadKit/Extensions/CGContext/CGContext+Initializers.swift rename to LeadKit/Sources/Extensions/CGContext/CGContext+Initializers.swift diff --git a/LeadKit/LeadKit/Extensions/CGFloat/CGFloat+Pixels.swift b/LeadKit/Sources/Extensions/CGFloat/CGFloat+Pixels.swift similarity index 100% rename from LeadKit/LeadKit/Extensions/CGFloat/CGFloat+Pixels.swift rename to LeadKit/Sources/Extensions/CGFloat/CGFloat+Pixels.swift diff --git a/LeadKit/LeadKit/Extensions/CGImage/CGImage+Alpha.swift b/LeadKit/Sources/Extensions/CGImage/CGImage+Alpha.swift similarity index 100% rename from LeadKit/LeadKit/Extensions/CGImage/CGImage+Alpha.swift rename to LeadKit/Sources/Extensions/CGImage/CGImage+Alpha.swift diff --git a/LeadKit/LeadKit/Extensions/CGImage/CGImage+Crop.swift b/LeadKit/Sources/Extensions/CGImage/CGImage+Crop.swift similarity index 100% rename from LeadKit/LeadKit/Extensions/CGImage/CGImage+Crop.swift rename to LeadKit/Sources/Extensions/CGImage/CGImage+Crop.swift diff --git a/LeadKit/LeadKit/Extensions/CGSize/CGSize+CGContextSize.swift b/LeadKit/Sources/Extensions/CGSize/CGSize+CGContextSize.swift similarity index 100% rename from LeadKit/LeadKit/Extensions/CGSize/CGSize+CGContextSize.swift rename to LeadKit/Sources/Extensions/CGSize/CGSize+CGContextSize.swift diff --git a/LeadKit/LeadKit/Extensions/CGSize/CGSize+Resize.swift b/LeadKit/Sources/Extensions/CGSize/CGSize+Resize.swift similarity index 100% rename from LeadKit/LeadKit/Extensions/CGSize/CGSize+Resize.swift rename to LeadKit/Sources/Extensions/CGSize/CGSize+Resize.swift diff --git a/LeadKit/LeadKit/Extensions/CursorType/CursorType+Slice.swift b/LeadKit/Sources/Extensions/CursorType/CursorType+Slice.swift similarity index 100% rename from LeadKit/LeadKit/Extensions/CursorType/CursorType+Slice.swift rename to LeadKit/Sources/Extensions/CursorType/CursorType+Slice.swift diff --git a/LeadKit/LeadKit/Extensions/Double/Double+Rounding.swift b/LeadKit/Sources/Extensions/Double/Double+Rounding.swift similarity index 100% rename from LeadKit/LeadKit/Extensions/Double/Double+Rounding.swift rename to LeadKit/Sources/Extensions/Double/Double+Rounding.swift diff --git a/LeadKit/LeadKit/Extensions/IndexPath/IndexPath+ImmutableIndexPath.swift b/LeadKit/Sources/Extensions/IndexPath/IndexPath+ImmutableIndexPath.swift similarity index 100% rename from LeadKit/LeadKit/Extensions/IndexPath/IndexPath+ImmutableIndexPath.swift rename to LeadKit/Sources/Extensions/IndexPath/IndexPath+ImmutableIndexPath.swift diff --git a/LeadKit/Sources/Extensions/NetworkService/NetworkService+ActivityIndicator.swift b/LeadKit/Sources/Extensions/NetworkService/NetworkService+ActivityIndicator.swift new file mode 100644 index 00000000..85ee1827 --- /dev/null +++ b/LeadKit/Sources/Extensions/NetworkService/NetworkService+ActivityIndicator.swift @@ -0,0 +1,34 @@ +// +// Copyright (c) 2017 Touch Instinct +// +// 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. +// + +import RxSwift + +extension NetworkService { + + /// Let netwrok service automatically show / hide activity indicator + public func bindActivityIndicator() -> Disposable { + return requestCount + .map { $0 != 0 } + .drive(UIApplication.shared.rx.isNetworkActivityIndicatorVisible) + } + +} diff --git a/LeadKit/LeadKit/Extensions/ObjectMapper/ImmutableMappable+ObservableMappable.swift b/LeadKit/Sources/Extensions/ObjectMapper/ImmutableMappable+ObservableMappable.swift similarity index 100% rename from LeadKit/LeadKit/Extensions/ObjectMapper/ImmutableMappable+ObservableMappable.swift rename to LeadKit/Sources/Extensions/ObjectMapper/ImmutableMappable+ObservableMappable.swift diff --git a/LeadKit/LeadKit/Extensions/Observable/Observable+DeferredJust.swift b/LeadKit/Sources/Extensions/Observable/Observable+DeferredJust.swift similarity index 100% rename from LeadKit/LeadKit/Extensions/Observable/Observable+DeferredJust.swift rename to LeadKit/Sources/Extensions/Observable/Observable+DeferredJust.swift diff --git a/LeadKit/LeadKit/Extensions/Observable/Observable+ToastErrorLogging.swift b/LeadKit/Sources/Extensions/Observable/Observable+ToastErrorLogging.swift similarity index 100% rename from LeadKit/LeadKit/Extensions/Observable/Observable+ToastErrorLogging.swift rename to LeadKit/Sources/Extensions/Observable/Observable+ToastErrorLogging.swift diff --git a/LeadKit/LeadKit/Extensions/PaginationTableViewWrapperDelegate/PaginationTableViewWrapperDelegate+DefaultImplementation.swift b/LeadKit/Sources/Extensions/PaginationTableViewWrapperDelegate/PaginationTableViewWrapperDelegate+DefaultImplementation.swift similarity index 100% rename from LeadKit/LeadKit/Extensions/PaginationTableViewWrapperDelegate/PaginationTableViewWrapperDelegate+DefaultImplementation.swift rename to LeadKit/Sources/Extensions/PaginationTableViewWrapperDelegate/PaginationTableViewWrapperDelegate+DefaultImplementation.swift diff --git a/LeadKit/LeadKit/Extensions/Sequence/Sequence+ConcurrentMap.swift b/LeadKit/Sources/Extensions/Sequence/Sequence+ConcurrentMap.swift similarity index 100% rename from LeadKit/LeadKit/Extensions/Sequence/Sequence+ConcurrentMap.swift rename to LeadKit/Sources/Extensions/Sequence/Sequence+ConcurrentMap.swift diff --git a/LeadKit/LeadKit/Extensions/StoryboardProtocol/StoryboardProtocol+DefaultBundle.swift b/LeadKit/Sources/Extensions/StoryboardProtocol/StoryboardProtocol+DefaultBundle.swift similarity index 98% rename from LeadKit/LeadKit/Extensions/StoryboardProtocol/StoryboardProtocol+DefaultBundle.swift rename to LeadKit/Sources/Extensions/StoryboardProtocol/StoryboardProtocol+DefaultBundle.swift index 92f59325..6846b958 100644 --- a/LeadKit/LeadKit/Extensions/StoryboardProtocol/StoryboardProtocol+DefaultBundle.swift +++ b/LeadKit/Sources/Extensions/StoryboardProtocol/StoryboardProtocol+DefaultBundle.swift @@ -20,7 +20,7 @@ // THE SOFTWARE. // -import UIKit +import Foundation public extension StoryboardProtocol { diff --git a/LeadKit/LeadKit/Extensions/StoryboardProtocol/StoryboardProtocol+Extensions.swift b/LeadKit/Sources/Extensions/StoryboardProtocol/StoryboardProtocol+Extensions.swift similarity index 100% rename from LeadKit/LeadKit/Extensions/StoryboardProtocol/StoryboardProtocol+Extensions.swift rename to LeadKit/Sources/Extensions/StoryboardProtocol/StoryboardProtocol+Extensions.swift diff --git a/LeadKit/LeadKit/Extensions/String/String+Extensions.swift b/LeadKit/Sources/Extensions/String/String+Extensions.swift similarity index 100% rename from LeadKit/LeadKit/Extensions/String/String+Extensions.swift rename to LeadKit/Sources/Extensions/String/String+Extensions.swift diff --git a/LeadKit/LeadKit/Extensions/String/String+Localization.swift b/LeadKit/Sources/Extensions/String/String+Localization.swift similarity index 100% rename from LeadKit/LeadKit/Extensions/String/String+Localization.swift rename to LeadKit/Sources/Extensions/String/String+Localization.swift diff --git a/LeadKit/LeadKit/Extensions/String/String+SizeCalculation.swift b/LeadKit/Sources/Extensions/String/String+SizeCalculation.swift similarity index 100% rename from LeadKit/LeadKit/Extensions/String/String+SizeCalculation.swift rename to LeadKit/Sources/Extensions/String/String+SizeCalculation.swift diff --git a/LeadKit/LeadKit/Extensions/Support/UIScrollView+Support.swift b/LeadKit/Sources/Extensions/Support/UIScrollView+Support.swift similarity index 100% rename from LeadKit/LeadKit/Extensions/Support/UIScrollView+Support.swift rename to LeadKit/Sources/Extensions/Support/UIScrollView+Support.swift diff --git a/LeadKit/LeadKit/Extensions/TableDirector/TableDirector+Extensions.swift b/LeadKit/Sources/Extensions/TableDirector/TableDirector+Extensions.swift similarity index 100% rename from LeadKit/LeadKit/Extensions/TableDirector/TableDirector+Extensions.swift rename to LeadKit/Sources/Extensions/TableDirector/TableDirector+Extensions.swift diff --git a/LeadKit/LeadKit/Extensions/TimeInterval/TimeInterval+DateComponents.swift b/LeadKit/Sources/Extensions/TimeInterval/TimeInterval+DateComponents.swift similarity index 100% rename from LeadKit/LeadKit/Extensions/TimeInterval/TimeInterval+DateComponents.swift rename to LeadKit/Sources/Extensions/TimeInterval/TimeInterval+DateComponents.swift diff --git a/LeadKit/LeadKit/Extensions/UIActivityIndicator/UIActivityIndicator+LoadingIndicator.swift b/LeadKit/Sources/Extensions/UIActivityIndicator/UIActivityIndicator+LoadingIndicator.swift similarity index 100% rename from LeadKit/LeadKit/Extensions/UIActivityIndicator/UIActivityIndicator+LoadingIndicator.swift rename to LeadKit/Sources/Extensions/UIActivityIndicator/UIActivityIndicator+LoadingIndicator.swift diff --git a/LeadKit/LeadKit/Extensions/UICollectionView/UICollectionView+CellRegistration.swift b/LeadKit/Sources/Extensions/UICollectionView/UICollectionView+CellRegistration.swift similarity index 100% rename from LeadKit/LeadKit/Extensions/UICollectionView/UICollectionView+CellRegistration.swift rename to LeadKit/Sources/Extensions/UICollectionView/UICollectionView+CellRegistration.swift diff --git a/LeadKit/LeadKit/Extensions/UIColor/UIColor+Hex.swift b/LeadKit/Sources/Extensions/UIColor/UIColor+Hex.swift similarity index 100% rename from LeadKit/LeadKit/Extensions/UIColor/UIColor+Hex.swift rename to LeadKit/Sources/Extensions/UIColor/UIColor+Hex.swift diff --git a/LeadKit/LeadKit/Extensions/UIDevice/UIDevice+Extensions.swift b/LeadKit/Sources/Extensions/UIDevice/UIDevice+Extensions.swift similarity index 100% rename from LeadKit/LeadKit/Extensions/UIDevice/UIDevice+Extensions.swift rename to LeadKit/Sources/Extensions/UIDevice/UIDevice+Extensions.swift diff --git a/LeadKit/LeadKit/Extensions/UIImage/UIImage+Extensions.swift b/LeadKit/Sources/Extensions/UIImage/UIImage+Extensions.swift similarity index 99% rename from LeadKit/LeadKit/Extensions/UIImage/UIImage+Extensions.swift rename to LeadKit/Sources/Extensions/UIImage/UIImage+Extensions.swift index 5de1f826..e4db42f4 100644 --- a/LeadKit/LeadKit/Extensions/UIImage/UIImage+Extensions.swift +++ b/LeadKit/Sources/Extensions/UIImage/UIImage+Extensions.swift @@ -22,7 +22,7 @@ import UIKit -@available(iOS 10.0, *) +@available(iOS 10.0, tvOS 10.0, *) public extension UIImage { /// Creates an image filled by given color. @@ -221,7 +221,7 @@ public extension UIImage { } -@available(iOS 10.0, *) +@available(iOS 10.0, tvOS 10.0, *) private extension DrawingOperation { func imageFromNewRenderer(scale: CGFloat) -> UIImage { diff --git a/LeadKit/LeadKit/Extensions/UIImage/UIImage+SupportExtensions.swift b/LeadKit/Sources/Extensions/UIImage/UIImage+SupportExtensions.swift similarity index 100% rename from LeadKit/LeadKit/Extensions/UIImage/UIImage+SupportExtensions.swift rename to LeadKit/Sources/Extensions/UIImage/UIImage+SupportExtensions.swift diff --git a/LeadKit/LeadKit/Extensions/UIStoryboard/UIStoryboard+InstantiateViewController.swift b/LeadKit/Sources/Extensions/UIStoryboard/UIStoryboard+InstantiateViewController.swift similarity index 100% rename from LeadKit/LeadKit/Extensions/UIStoryboard/UIStoryboard+InstantiateViewController.swift rename to LeadKit/Sources/Extensions/UIStoryboard/UIStoryboard+InstantiateViewController.swift diff --git a/LeadKit/LeadKit/Extensions/UIView/UIView+DefaultReuseIdentifier.swift b/LeadKit/Sources/Extensions/UIView/UIView+DefaultReuseIdentifier.swift similarity index 100% rename from LeadKit/LeadKit/Extensions/UIView/UIView+DefaultReuseIdentifier.swift rename to LeadKit/Sources/Extensions/UIView/UIView+DefaultReuseIdentifier.swift diff --git a/LeadKit/LeadKit/Extensions/UIView/UIView+DefaultXibName.swift b/LeadKit/Sources/Extensions/UIView/UIView+DefaultXibName.swift similarity index 100% rename from LeadKit/LeadKit/Extensions/UIView/UIView+DefaultXibName.swift rename to LeadKit/Sources/Extensions/UIView/UIView+DefaultXibName.swift diff --git a/LeadKit/LeadKit/Extensions/UIView/UIView+LoadFromNib.swift b/LeadKit/Sources/Extensions/UIView/UIView+LoadFromNib.swift similarity index 100% rename from LeadKit/LeadKit/Extensions/UIView/UIView+LoadFromNib.swift rename to LeadKit/Sources/Extensions/UIView/UIView+LoadFromNib.swift diff --git a/LeadKit/LeadKit/Extensions/UIView/UIView+LoadingIndicator.swift b/LeadKit/Sources/Extensions/UIView/UIView+LoadingIndicator.swift similarity index 100% rename from LeadKit/LeadKit/Extensions/UIView/UIView+LoadingIndicator.swift rename to LeadKit/Sources/Extensions/UIView/UIView+LoadingIndicator.swift diff --git a/LeadKit/LeadKit/Extensions/UIView/UIView+Rotation.swift b/LeadKit/Sources/Extensions/UIView/UIView+Rotation.swift similarity index 100% rename from LeadKit/LeadKit/Extensions/UIView/UIView+Rotation.swift rename to LeadKit/Sources/Extensions/UIView/UIView+Rotation.swift diff --git a/LeadKit/LeadKit/Protocols/ConfigurableController.swift b/LeadKit/Sources/Extensions/UIViewController/UIViewController+ConfigurableController.swift similarity index 77% rename from LeadKit/LeadKit/Protocols/ConfigurableController.swift rename to LeadKit/Sources/Extensions/UIViewController/UIViewController+ConfigurableController.swift index f7389523..9fc02611 100644 --- a/LeadKit/LeadKit/Protocols/ConfigurableController.swift +++ b/LeadKit/Sources/Extensions/UIViewController/UIViewController+ConfigurableController.swift @@ -2,7 +2,7 @@ // Copyright (c) 2017 Touch Instinct // // Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal +// 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 @@ -11,7 +11,7 @@ // 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 +// 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 @@ -20,29 +20,8 @@ // THE SOFTWARE. // -import Foundation import UIKit -public protocol ConfigurableController { - - associatedtype ViewModelT - - var viewModel: ViewModelT { get } - - func bindViews() - - func addViews() - - func setAppearance() - - func configureBarButtons() - - func localize() - - func initialLoadView() - -} - extension ConfigurableController where Self: UIViewController { public func bindViews() { diff --git a/LeadKit/LeadKit/Extensions/UIViewController/UIViewController+DefaultStoryboardIdentifier.swift b/LeadKit/Sources/Extensions/UIViewController/UIViewController+DefaultStoryboardIdentifier.swift similarity index 100% rename from LeadKit/LeadKit/Extensions/UIViewController/UIViewController+DefaultStoryboardIdentifier.swift rename to LeadKit/Sources/Extensions/UIViewController/UIViewController+DefaultStoryboardIdentifier.swift diff --git a/LeadKit/LeadKit/Extensions/UIViewController/UIViewController+DefaultXibName.swift b/LeadKit/Sources/Extensions/UIViewController/UIViewController+DefaultXibName.swift similarity index 100% rename from LeadKit/LeadKit/Extensions/UIViewController/UIViewController+DefaultXibName.swift rename to LeadKit/Sources/Extensions/UIViewController/UIViewController+DefaultXibName.swift diff --git a/LeadKit/LeadKit/Extensions/UIViewController/UIViewController+TopVisibleViewController.swift b/LeadKit/Sources/Extensions/UIViewController/UIViewController+TopVisibleViewController.swift similarity index 100% rename from LeadKit/LeadKit/Extensions/UIViewController/UIViewController+TopVisibleViewController.swift rename to LeadKit/Sources/Extensions/UIViewController/UIViewController+TopVisibleViewController.swift diff --git a/LeadKit/LeadKit/Extensions/UIWindow/UIWindow+Extensions.swift b/LeadKit/Sources/Extensions/UIWindow/UIWindow+Extensions.swift similarity index 88% rename from LeadKit/LeadKit/Extensions/UIWindow/UIWindow+Extensions.swift rename to LeadKit/Sources/Extensions/UIWindow/UIWindow+Extensions.swift index d91625dc..994800db 100644 --- a/LeadKit/LeadKit/Extensions/UIWindow/UIWindow+Extensions.swift +++ b/LeadKit/Sources/Extensions/UIWindow/UIWindow+Extensions.swift @@ -29,20 +29,15 @@ public extension UIWindow { /// default root controller animation duration static let snapshotAnimationDuration = 0.5 - /** - method changes root controller in window and sets status bar style - - - parameter controller: new root controller - - parameter statusBarStyle: new status bar style - */ - public func changeRootController(controller: UIViewController, - statusBarStyle: UIStatusBarStyle) { + /// Method changes root controller in window. + /// + /// - Parameter controller: New root controller. + public func changeRootController(controller: UIViewController) { animateRootViewControllerChanging(controller: controller) rootViewController?.dismiss(animated: false, completion: nil) rootViewController = controller makeKeyAndVisible() - UIApplication.shared.statusBarStyle = statusBarStyle } /** diff --git a/LeadKit/LeadKit/Extensions/UserDefaults/UserDefaults+MappableDataTypes.swift b/LeadKit/Sources/Extensions/UserDefaults/UserDefaults+MappableDataTypes.swift similarity index 100% rename from LeadKit/LeadKit/Extensions/UserDefaults/UserDefaults+MappableDataTypes.swift rename to LeadKit/Sources/Extensions/UserDefaults/UserDefaults+MappableDataTypes.swift diff --git a/LeadKit/LeadKit/Functions/Any+Cast.swift b/LeadKit/Sources/Functions/Any+Cast.swift similarity index 100% rename from LeadKit/LeadKit/Functions/Any+Cast.swift rename to LeadKit/Sources/Functions/Any+Cast.swift diff --git a/LeadKit/LeadKit/Functions/Any+TypeName.swift b/LeadKit/Sources/Functions/Any+TypeName.swift similarity index 100% rename from LeadKit/LeadKit/Functions/Any+TypeName.swift rename to LeadKit/Sources/Functions/Any+TypeName.swift diff --git a/LeadKit/LeadKit/Info.plist b/LeadKit/Sources/Info-iOS-Extensions.plist similarity index 90% rename from LeadKit/LeadKit/Info.plist rename to LeadKit/Sources/Info-iOS-Extensions.plist index 98ddb10b..399882e1 100644 --- a/LeadKit/LeadKit/Info.plist +++ b/LeadKit/Sources/Info-iOS-Extensions.plist @@ -15,9 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 0.4.7 - CFBundleSignature - ???? + 0.5.0 CFBundleVersion $(CURRENT_PROJECT_VERSION) NSPrincipalClass diff --git a/LeadKit/Sources/Info-iOS.plist b/LeadKit/Sources/Info-iOS.plist new file mode 100644 index 00000000..399882e1 --- /dev/null +++ b/LeadKit/Sources/Info-iOS.plist @@ -0,0 +1,24 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + FMWK + CFBundleShortVersionString + 0.5.0 + CFBundleVersion + $(CURRENT_PROJECT_VERSION) + NSPrincipalClass + + + diff --git a/LeadKit/Sources/Info-tvOS.plist b/LeadKit/Sources/Info-tvOS.plist new file mode 100644 index 00000000..399882e1 --- /dev/null +++ b/LeadKit/Sources/Info-tvOS.plist @@ -0,0 +1,24 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + FMWK + CFBundleShortVersionString + 0.5.0 + CFBundleVersion + $(CURRENT_PROJECT_VERSION) + NSPrincipalClass + + + diff --git a/LeadKit/Sources/Info-watchOS.plist b/LeadKit/Sources/Info-watchOS.plist new file mode 100644 index 00000000..399882e1 --- /dev/null +++ b/LeadKit/Sources/Info-watchOS.plist @@ -0,0 +1,24 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + FMWK + CFBundleShortVersionString + 0.5.0 + CFBundleVersion + $(CURRENT_PROJECT_VERSION) + NSPrincipalClass + + + diff --git a/LeadKit/LeadKit/LeadKit.h b/LeadKit/Sources/LeadKit.h similarity index 100% rename from LeadKit/LeadKit/LeadKit.h rename to LeadKit/Sources/LeadKit.h diff --git a/LeadKit/Sources/Protocols/Animatable.swift b/LeadKit/Sources/Protocols/Animatable.swift new file mode 100644 index 00000000..0a1cc739 --- /dev/null +++ b/LeadKit/Sources/Protocols/Animatable.swift @@ -0,0 +1,33 @@ +// +// Copyright (c) 2017 Touch Instinct +// +// 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. +// + +import Foundation + +/// Protocol that ensures that specific type support basic animation actions. +public protocol Animatable { + + /// Method that starts animation. + func startAnimating() + /// Method that stops animation. + func stopAnimating() + +} diff --git a/LeadKit/LeadKit/Protocols/BaseViewModel.swift b/LeadKit/Sources/Protocols/BaseViewModel.swift similarity index 100% rename from LeadKit/LeadKit/Protocols/BaseViewModel.swift rename to LeadKit/Sources/Protocols/BaseViewModel.swift diff --git a/LeadKit/Sources/Protocols/ConfigurableController.swift b/LeadKit/Sources/Protocols/ConfigurableController.swift new file mode 100644 index 00000000..9190f9db --- /dev/null +++ b/LeadKit/Sources/Protocols/ConfigurableController.swift @@ -0,0 +1,43 @@ +// +// Copyright (c) 2017 Touch Instinct +// +// 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. +// + +import Foundation + +public protocol ConfigurableController { + + associatedtype ViewModelT + + var viewModel: ViewModelT { get } + + func bindViews() + + func addViews() + + func setAppearance() + + func configureBarButtons() + + func localize() + + func initialLoadView() + +} diff --git a/LeadKit/LeadKit/Protocols/CursorType.swift b/LeadKit/Sources/Protocols/CursorType.swift similarity index 100% rename from LeadKit/LeadKit/Protocols/CursorType.swift rename to LeadKit/Sources/Protocols/CursorType.swift diff --git a/LeadKit/LeadKit/Protocols/DrawingOperation.swift b/LeadKit/Sources/Protocols/DrawingOperation.swift similarity index 100% rename from LeadKit/LeadKit/Protocols/DrawingOperation.swift rename to LeadKit/Sources/Protocols/DrawingOperation.swift diff --git a/LeadKit/LeadKit/Protocols/EstimatedViewHeightProtocol.swift b/LeadKit/Sources/Protocols/EstimatedViewHeightProtocol.swift similarity index 100% rename from LeadKit/LeadKit/Protocols/EstimatedViewHeightProtocol.swift rename to LeadKit/Sources/Protocols/EstimatedViewHeightProtocol.swift diff --git a/LeadKit/LeadKit/Protocols/LoadingIndicatorProtocol.swift b/LeadKit/Sources/Protocols/LoadingIndicator.swift similarity index 85% rename from LeadKit/LeadKit/Protocols/LoadingIndicatorProtocol.swift rename to LeadKit/Sources/Protocols/LoadingIndicator.swift index c88b835c..d1735dc2 100644 --- a/LeadKit/LeadKit/Protocols/LoadingIndicatorProtocol.swift +++ b/LeadKit/Sources/Protocols/LoadingIndicator.swift @@ -22,16 +22,6 @@ import UIKit -/// Protocol that ensures that specific type support basic animation actions. -public protocol Animatable { - - /// Method that starts animation. - func startAnimating() - /// Method that stops animation. - func stopAnimating() - -} - /// Protocol that describes badic loading indicator. public protocol LoadingIndicator { diff --git a/LeadKit/LeadKit/Protocols/ModuleConfigurator.swift b/LeadKit/Sources/Protocols/ModuleConfigurator.swift similarity index 100% rename from LeadKit/LeadKit/Protocols/ModuleConfigurator.swift rename to LeadKit/Sources/Protocols/ModuleConfigurator.swift diff --git a/LeadKit/LeadKit/Protocols/ObservableMappable.swift b/LeadKit/Sources/Protocols/ObservableMappable.swift similarity index 100% rename from LeadKit/LeadKit/Protocols/ObservableMappable.swift rename to LeadKit/Sources/Protocols/ObservableMappable.swift diff --git a/LeadKit/LeadKit/Protocols/ResettableType.swift b/LeadKit/Sources/Protocols/ResettableType.swift similarity index 100% rename from LeadKit/LeadKit/Protocols/ResettableType.swift rename to LeadKit/Sources/Protocols/ResettableType.swift diff --git a/LeadKit/LeadKit/Protocols/ReuseIdentifierProtocol.swift b/LeadKit/Sources/Protocols/ReuseIdentifierProtocol.swift similarity index 100% rename from LeadKit/LeadKit/Protocols/ReuseIdentifierProtocol.swift rename to LeadKit/Sources/Protocols/ReuseIdentifierProtocol.swift diff --git a/LeadKit/LeadKit/Protocols/StaticEstimatedViewHeightProtocol.swift b/LeadKit/Sources/Protocols/StaticEstimatedViewHeightProtocol.swift similarity index 100% rename from LeadKit/LeadKit/Protocols/StaticEstimatedViewHeightProtocol.swift rename to LeadKit/Sources/Protocols/StaticEstimatedViewHeightProtocol.swift diff --git a/LeadKit/LeadKit/Protocols/StaticViewHeightProtocol.swift b/LeadKit/Sources/Protocols/StaticViewHeightProtocol.swift similarity index 100% rename from LeadKit/LeadKit/Protocols/StaticViewHeightProtocol.swift rename to LeadKit/Sources/Protocols/StaticViewHeightProtocol.swift diff --git a/LeadKit/LeadKit/Protocols/StoryboardIdentifierProtocol.swift b/LeadKit/Sources/Protocols/StoryboardIdentifierProtocol.swift similarity index 100% rename from LeadKit/LeadKit/Protocols/StoryboardIdentifierProtocol.swift rename to LeadKit/Sources/Protocols/StoryboardIdentifierProtocol.swift diff --git a/LeadKit/LeadKit/Protocols/StoryboardProtocol.swift b/LeadKit/Sources/Protocols/StoryboardProtocol.swift similarity index 100% rename from LeadKit/LeadKit/Protocols/StoryboardProtocol.swift rename to LeadKit/Sources/Protocols/StoryboardProtocol.swift diff --git a/LeadKit/LeadKit/Protocols/SupportProtocol.swift b/LeadKit/Sources/Protocols/SupportProtocol.swift similarity index 100% rename from LeadKit/LeadKit/Protocols/SupportProtocol.swift rename to LeadKit/Sources/Protocols/SupportProtocol.swift diff --git a/LeadKit/LeadKit/Protocols/ViewHeightProtocol.swift b/LeadKit/Sources/Protocols/ViewHeightProtocol.swift similarity index 100% rename from LeadKit/LeadKit/Protocols/ViewHeightProtocol.swift rename to LeadKit/Sources/Protocols/ViewHeightProtocol.swift diff --git a/LeadKit/LeadKit/Protocols/ViewModelProtocol.swift b/LeadKit/Sources/Protocols/ViewModelProtocol.swift similarity index 100% rename from LeadKit/LeadKit/Protocols/ViewModelProtocol.swift rename to LeadKit/Sources/Protocols/ViewModelProtocol.swift diff --git a/LeadKit/LeadKit/Protocols/XibNameProtocol.swift b/LeadKit/Sources/Protocols/XibNameProtocol.swift similarity index 100% rename from LeadKit/LeadKit/Protocols/XibNameProtocol.swift rename to LeadKit/Sources/Protocols/XibNameProtocol.swift diff --git a/LeadKit/LeadKit/Structures/Api/ApiRequestParameters.swift b/LeadKit/Sources/Structures/Api/ApiRequestParameters.swift similarity index 100% rename from LeadKit/LeadKit/Structures/Api/ApiRequestParameters.swift rename to LeadKit/Sources/Structures/Api/ApiRequestParameters.swift diff --git a/LeadKit/LeadKit/Structures/DrawingOperations/BorderDrawingOperation.swift b/LeadKit/Sources/Structures/DrawingOperations/BorderDrawingOperation.swift similarity index 100% rename from LeadKit/LeadKit/Structures/DrawingOperations/BorderDrawingOperation.swift rename to LeadKit/Sources/Structures/DrawingOperations/BorderDrawingOperation.swift diff --git a/LeadKit/LeadKit/Structures/DrawingOperations/CALayerDrawingOperation.swift b/LeadKit/Sources/Structures/DrawingOperations/CALayerDrawingOperation.swift similarity index 100% rename from LeadKit/LeadKit/Structures/DrawingOperations/CALayerDrawingOperation.swift rename to LeadKit/Sources/Structures/DrawingOperations/CALayerDrawingOperation.swift diff --git a/LeadKit/LeadKit/Structures/DrawingOperations/ImageDrawingOperation.swift b/LeadKit/Sources/Structures/DrawingOperations/ImageDrawingOperation.swift similarity index 100% rename from LeadKit/LeadKit/Structures/DrawingOperations/ImageDrawingOperation.swift rename to LeadKit/Sources/Structures/DrawingOperations/ImageDrawingOperation.swift diff --git a/LeadKit/LeadKit/Structures/DrawingOperations/PaddingDrawingOperation.swift b/LeadKit/Sources/Structures/DrawingOperations/PaddingDrawingOperation.swift similarity index 100% rename from LeadKit/LeadKit/Structures/DrawingOperations/PaddingDrawingOperation.swift rename to LeadKit/Sources/Structures/DrawingOperations/PaddingDrawingOperation.swift diff --git a/LeadKit/LeadKit/Structures/DrawingOperations/ResizeDrawingOperation.swift b/LeadKit/Sources/Structures/DrawingOperations/ResizeDrawingOperation.swift similarity index 100% rename from LeadKit/LeadKit/Structures/DrawingOperations/ResizeDrawingOperation.swift rename to LeadKit/Sources/Structures/DrawingOperations/ResizeDrawingOperation.swift diff --git a/LeadKit/LeadKit/Structures/DrawingOperations/RoundDrawingOperation.swift b/LeadKit/Sources/Structures/DrawingOperations/RoundDrawingOperation.swift similarity index 100% rename from LeadKit/LeadKit/Structures/DrawingOperations/RoundDrawingOperation.swift rename to LeadKit/Sources/Structures/DrawingOperations/RoundDrawingOperation.swift diff --git a/LeadKit/LeadKit/Structures/DrawingOperations/SolidFillDrawingOperation.swift b/LeadKit/Sources/Structures/DrawingOperations/SolidFillDrawingOperation.swift similarity index 100% rename from LeadKit/LeadKit/Structures/DrawingOperations/SolidFillDrawingOperation.swift rename to LeadKit/Sources/Structures/DrawingOperations/SolidFillDrawingOperation.swift diff --git a/LeadKit/LeadKit/Structures/DrawingOperations/TemplateDrawingOperation.swift b/LeadKit/Sources/Structures/DrawingOperations/TemplateDrawingOperation.swift similarity index 100% rename from LeadKit/LeadKit/Structures/DrawingOperations/TemplateDrawingOperation.swift rename to LeadKit/Sources/Structures/DrawingOperations/TemplateDrawingOperation.swift diff --git a/LeadKit/LeadKit/Structures/Views/AnyLoadingIndicator.swift b/LeadKit/Sources/Structures/Views/AnyLoadingIndicator.swift similarity index 100% rename from LeadKit/LeadKit/Structures/Views/AnyLoadingIndicator.swift rename to LeadKit/Sources/Structures/Views/AnyLoadingIndicator.swift diff --git a/LeadKit/LeadKitTests/CursorTests.swift b/LeadKit/Tests/CursorTests.swift similarity index 100% rename from LeadKit/LeadKitTests/CursorTests.swift rename to LeadKit/Tests/CursorTests.swift diff --git a/LeadKit/LeadKitTests/Cursors/StubCursor.swift b/LeadKit/Tests/Cursors/StubCursor.swift similarity index 100% rename from LeadKit/LeadKitTests/Cursors/StubCursor.swift rename to LeadKit/Tests/Cursors/StubCursor.swift diff --git a/LeadKit/LeadKitTests/Info.plist b/LeadKit/Tests/Info-iOS-Extensions.plist similarity index 92% rename from LeadKit/LeadKitTests/Info.plist rename to LeadKit/Tests/Info-iOS-Extensions.plist index ba72822e..6c6c23c4 100644 --- a/LeadKit/LeadKitTests/Info.plist +++ b/LeadKit/Tests/Info-iOS-Extensions.plist @@ -16,8 +16,6 @@ BNDL CFBundleShortVersionString 1.0 - CFBundleSignature - ???? CFBundleVersion 1 diff --git a/LeadKit/Tests/Info-iOS.plist b/LeadKit/Tests/Info-iOS.plist new file mode 100644 index 00000000..6c6c23c4 --- /dev/null +++ b/LeadKit/Tests/Info-iOS.plist @@ -0,0 +1,22 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + BNDL + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + + diff --git a/LeadKit/Tests/Info-tvOS.plist b/LeadKit/Tests/Info-tvOS.plist new file mode 100644 index 00000000..6c6c23c4 --- /dev/null +++ b/LeadKit/Tests/Info-tvOS.plist @@ -0,0 +1,22 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + BNDL + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + + diff --git a/LeadKit/LeadKitTests/LoadFromNibTests.swift b/LeadKit/Tests/LoadFromNibTests.swift similarity index 100% rename from LeadKit/LeadKitTests/LoadFromNibTests.swift rename to LeadKit/Tests/LoadFromNibTests.swift diff --git a/LeadKit/LeadKitTests/MappableUserDefaultsTests.swift b/LeadKit/Tests/MappableUserDefaultsTests.swift similarity index 100% rename from LeadKit/LeadKitTests/MappableUserDefaultsTests.swift rename to LeadKit/Tests/MappableUserDefaultsTests.swift diff --git a/LeadKit/LeadKitTests/Models/Post.swift b/LeadKit/Tests/Models/Post.swift similarity index 100% rename from LeadKit/LeadKitTests/Models/Post.swift rename to LeadKit/Tests/Models/Post.swift diff --git a/LeadKit/LeadKitTests/PaginationViewModelTests.swift b/LeadKit/Tests/PaginationViewModelTests.swift similarity index 100% rename from LeadKit/LeadKitTests/PaginationViewModelTests.swift rename to LeadKit/Tests/PaginationViewModelTests.swift diff --git a/LeadKit/LeadKitTests/Views/TestView.swift b/LeadKit/Tests/Views/TestView.swift similarity index 100% rename from LeadKit/LeadKitTests/Views/TestView.swift rename to LeadKit/Tests/Views/TestView.swift diff --git a/LeadKit/LeadKitTests/Views/TestView.xib b/LeadKit/Tests/Views/TestView.xib similarity index 100% rename from LeadKit/LeadKitTests/Views/TestView.xib rename to LeadKit/Tests/Views/TestView.xib diff --git a/LeadKit/iOS.playground/Contents.swift b/LeadKit/iOS.playground/Contents.swift new file mode 100644 index 00000000..2a779426 --- /dev/null +++ b/LeadKit/iOS.playground/Contents.swift @@ -0,0 +1,3 @@ +import LeadKit + +let str = "Hello, LeadKit playground" diff --git a/LeadKit/LeadKit/iOS.playground/contents.xcplayground b/LeadKit/iOS.playground/contents.xcplayground similarity index 100% rename from LeadKit/LeadKit/iOS.playground/contents.xcplayground rename to LeadKit/iOS.playground/contents.xcplayground From 66cd8dbb9f302258b6b6fccc5f7857bf5749f6ac Mon Sep 17 00:00:00 2001 From: Ivan Smolin Date: Fri, 28 Apr 2017 20:01:10 +0300 Subject: [PATCH 2/6] podspec fixes --- LeadKit.podspec | 89 +++++++++++++++++++++++++++---------------------- 1 file changed, 50 insertions(+), 39 deletions(-) diff --git a/LeadKit.podspec b/LeadKit.podspec index 7eef1229..8b01854f 100644 --- a/LeadKit.podspec +++ b/LeadKit.podspec @@ -13,21 +13,24 @@ Pod::Spec.new do |s| ss.tvos.deployment_target = '9.0' ss.watchos.deployment_target = '2.0' - ss.source_files = "LeadKit/LeadKit/Sources/Extensions/UIColor/UIColor+Hex.swift" + ss.source_files = "LeadKit/Sources/Extensions/UIColor/UIColor+Hex.swift" end s.subspec 'Drawing' do |ss| - ss.ios.deployment_target = '8.0' - ss.tvos.deployment_target = '9.0' + # ss.ios.deployment_target = '8.0' # can't get it work: DrawingOperation.swift:29:17: note: did you mean 'DrawingOperation'? + # ss.tvos.deployment_target = '9.0' # can't get it work: DrawingOperation.swift:29:17: note: did you mean 'DrawingOperation'? ss.watchos.deployment_target = '2.0' ss.source_files = [ - "LeadKit/LeadKit/Sources/Enums/ResizeContentMode.swift", - "LeadKit/LeadKit/Sources/Extensions/{CGContext,CGImage,CGSize,UIImage}/*", - "LeadKit/LeadKit/Sources/Protocols/{DrawingOperation,SupportProtocol}.swift", - "LeadKit/LeadKit/Sources/Structures/Drawing/*", + "LeadKit/Sources/Enums/ResizeContentMode.swift", + "LeadKit/Sources/Extensions/{CGContext,CGImage,CGSize,UIImage}/*", + "LeadKit/Sources/Protocols/{DrawingOperation,SupportProtocol}.swift", + "LeadKit/Sources/Structures/Drawing/*", + ] + ss.watchos.exclude_files = [ + "LeadKit/Sources/Structures/Drawing/CALayerDrawingOperation.swift", + "LeadKit/Sources/Extensions/UIImage/*", ] - ss.watchos.exclude_files = "LeadKit/LeadKit/Sources/Structures/Drawing/CALayerDrawingOperation.swift" end s.subspec 'Core' do |ss| @@ -35,35 +38,40 @@ Pod::Spec.new do |s| ss.tvos.deployment_target = '9.0' ss.watchos.deployment_target = '2.0' - ss.source_files = "LeadKit/LeadKit/Sources/**/*.swift" + ss.source_files = "LeadKit/Sources/**/*.swift" ss.watchos.exclude_files = [ - "LeadKit/LeadKit/Sources/Classes/Pagination/PaginationTableViewWrapperDelegate.swift", - "LeadKit/LeadKit/Sources/Classes/View/XibView.swift", - "LeadKit/LeadKit/Sources/Extensions/CGFloat/CGFloat+Pixels.swift", - "LeadKit/LeadKit/Sources/Extensions/NetworkService/NetworkService+ActivityIndicator.swift", - "LeadKit/LeadKit/Sources/Extensions/PaginationTableViewWrapperDelegate/PaginationTableViewWrapperDelegate+DefaultImplementation.swift", - "LeadKit/LeadKit/Sources/Extensions/StoryboardProtocol/*", - "LeadKit/LeadKit/Sources/Extensions/Support/UIScrollView+Support.swift", - "LeadKit/LeadKit/Sources/Extensions/TableDirector/TableDirector+Extensions.swift", - "LeadKit/LeadKit/Sources/Extensions/UIActivityIndicator/UIActivityIndicator+LoadingIndicator.swift", - "LeadKit/LeadKit/Sources/Extensions/UICollectionView/*", - "LeadKit/LeadKit/Sources/Extensions/UIDevice/*", - "LeadKit/LeadKit/Sources/Extensions/UIImage/*", - "LeadKit/LeadKit/Sources/Extensions/UIStoryboard/*", - "LeadKit/LeadKit/Sources/Extensions/UIView/*", - "LeadKit/LeadKit/Sources/Extensions/UIViewController/*", - "LeadKit/LeadKit/Sources/Extensions/UIWindow/*", - "LeadKit/LeadKit/Sources/Protocols/LoadingIndicator.swift", - "LeadKit/LeadKit/Sources/Protocols/StoryboardProtocol.swift", - "LeadKit/LeadKit/Sources/Structures/Views/AnyLoadingIndicator.swift", - "LeadKit/LeadKit/Sources/Structures/DrawingOperations/CALayerDrawingOperation.swift", + "LeadKit/Sources/Classes/Pagination/PaginationTableViewWrapper.swift", + "LeadKit/Sources/Classes/Views/XibView.swift", + "LeadKit/Sources/Extensions/CGFloat/CGFloat+Pixels.swift", + "LeadKit/Sources/Extensions/NetworkService/NetworkService+ActivityIndicator.swift", + "LeadKit/Sources/Extensions/Observable/Observable+ToastErrorLogging.swift", + "LeadKit/Sources/Extensions/PaginationTableViewWrapperDelegate/PaginationTableViewWrapperDelegate+DefaultImplementation.swift", + "LeadKit/Sources/Extensions/StoryboardProtocol/*", + "LeadKit/Sources/Extensions/Support/UIScrollView+Support.swift", + "LeadKit/Sources/Extensions/TableDirector/TableDirector+Extensions.swift", + "LeadKit/Sources/Extensions/UIActivityIndicator/UIActivityIndicator+LoadingIndicator.swift", + "LeadKit/Sources/Extensions/UICollectionView/*", + "LeadKit/Sources/Extensions/UIDevice/*", + "LeadKit/Sources/Extensions/UIImage/*", + "LeadKit/Sources/Extensions/UIStoryboard/*", + "LeadKit/Sources/Extensions/UIView/*", + "LeadKit/Sources/Extensions/UIViewController/*", + "LeadKit/Sources/Extensions/UIWindow/*", + "LeadKit/Sources/Protocols/LoadingIndicator.swift", + "LeadKit/Sources/Protocols/StoryboardProtocol.swift", + "LeadKit/Sources/Structures/Views/AnyLoadingIndicator.swift", + "LeadKit/Sources/Structures/DrawingOperations/CALayerDrawingOperation.swift", + "LeadKit/Sources/Structures/DrawingOperations/RoundDrawingOperation.swift", + "LeadKit/Sources/Structures/DrawingOperations/BorderDrawingOperation.swift", ] ss.tvos.exclude_files = [ - "LeadKit/LeadKit/Sources/Structures/Drawing/CALayerDrawingOperation.swift", - "LeadKit/LeadKit/Sources/Extensions/NetworkService/NetworkService+ActivityIndicator.swift", - "LeadKit/LeadKit/Sources/Extensions/PaginationTableViewWrapperDelegate/PaginationTableViewWrapperDelegate+DefaultImplementation.swift", - "LeadKit/LeadKit/Sources/Extensions/Support/UIScrollView+Support.swift", - "LeadKit/LeadKit/Sources/Extensions/TableDirector/TableDirector+Extensions.swift", + "LeadKit/Sources/Classes/Pagination/PaginationTableViewWrapper.swift", + "LeadKit/Sources/Structures/Drawing/CALayerDrawingOperation.swift", + "LeadKit/Sources/Extensions/NetworkService/NetworkService+ActivityIndicator.swift", + "LeadKit/Sources/Extensions/Observable/Observable+ToastErrorLogging.swift", + "LeadKit/Sources/Extensions/PaginationTableViewWrapperDelegate/PaginationTableViewWrapperDelegate+DefaultImplementation.swift", + "LeadKit/Sources/Extensions/Support/UIScrollView+Support.swift", + "LeadKit/Sources/Extensions/TableDirector/TableDirector+Extensions.swift", ] ss.dependency "CocoaLumberjack/Swift", '~> 3.1.0' @@ -80,15 +88,18 @@ Pod::Spec.new do |s| s.subspec 'Core-iOS-Extension' do |ss| ss.platform = :ios, '9.0' - ss.source_files = "LeadKit/LeadKit/Sources/**/*.swift" + ss.source_files = "LeadKit/Sources/**/*.swift" ss.exclude_files = [ - "LeadKit/LeadKit/Sources/Classes/Pagination/PaginationTableViewWrapperDelegate.swift", - "LeadKit/LeadKit/Sources/Extensions/NetworkService/NetworkService+ActivityIndicator.swift", - "LeadKit/LeadKit/Sources/Extensions/PaginationTableViewWrapperDelegate/PaginationTableViewWrapperDelegate+DefaultImplementation.swift", - "LeadKit/LeadKit/Sources/Extensions/TableDirector/TableDirector+Extensions.swift", + "LeadKit/Sources/Classes/Pagination/PaginationTableViewWrapper.swift", + "LeadKit/Sources/Extensions/NetworkService/NetworkService+ActivityIndicator.swift", + "LeadKit/Sources/Extensions/Observable/Observable+ToastErrorLogging.swift", + "LeadKit/Sources/Extensions/PaginationTableViewWrapperDelegate/PaginationTableViewWrapperDelegate+DefaultImplementation.swift", + "LeadKit/Sources/Extensions/TableDirector/TableDirector+Extensions.swift", ] + ss.pod_target_xcconfig = { 'SWIFT_ACTIVE_COMPILATION_CONDITIONS' => 'LEADKIT_EXTENSION_TARGET' } + ss.dependency "CocoaLumberjack/Swift", '~> 3.1.0' ss.dependency "RxSwift", '3.2.0' ss.dependency "RxCocoa", '3.2.0' From 64b8bd17e0c8dde232dd71687b685ec3592e3f7a Mon Sep 17 00:00:00 2001 From: Ivan Smolin Date: Fri, 28 Apr 2017 20:01:17 +0300 Subject: [PATCH 3/6] import fixes --- .../Sources/Protocols/StaticEstimatedViewHeightProtocol.swift | 2 +- LeadKit/Sources/Protocols/StaticViewHeightProtocol.swift | 2 +- LeadKit/Sources/Protocols/ViewHeightProtocol.swift | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/LeadKit/Sources/Protocols/StaticEstimatedViewHeightProtocol.swift b/LeadKit/Sources/Protocols/StaticEstimatedViewHeightProtocol.swift index 1e9844f4..8ac52b15 100644 --- a/LeadKit/Sources/Protocols/StaticEstimatedViewHeightProtocol.swift +++ b/LeadKit/Sources/Protocols/StaticEstimatedViewHeightProtocol.swift @@ -20,7 +20,7 @@ // THE SOFTWARE. // -import Foundation +import CoreGraphics /** * protocol which ensures that specific type can return estimated height of view diff --git a/LeadKit/Sources/Protocols/StaticViewHeightProtocol.swift b/LeadKit/Sources/Protocols/StaticViewHeightProtocol.swift index c1e441eb..27bad418 100644 --- a/LeadKit/Sources/Protocols/StaticViewHeightProtocol.swift +++ b/LeadKit/Sources/Protocols/StaticViewHeightProtocol.swift @@ -20,7 +20,7 @@ // THE SOFTWARE. // -import Foundation +import CoreGraphics /** * protocol which ensures that specific type can return height of view diff --git a/LeadKit/Sources/Protocols/ViewHeightProtocol.swift b/LeadKit/Sources/Protocols/ViewHeightProtocol.swift index 3c29c7bc..f0c92573 100644 --- a/LeadKit/Sources/Protocols/ViewHeightProtocol.swift +++ b/LeadKit/Sources/Protocols/ViewHeightProtocol.swift @@ -20,7 +20,7 @@ // THE SOFTWARE. // -import Foundation +import CoreGraphics /** * protocol which ensures that specific type can return height of view for view model From 81f9a4fa532f1cf1e805e0adfc9c6e8195269f3b Mon Sep 17 00:00:00 2001 From: Ivan Smolin Date: Fri, 28 Apr 2017 20:06:35 +0300 Subject: [PATCH 4/6] exclude rxLoadImage from watchOS --- LeadKit.podspec | 1 + LeadKit/LeadKit.xcodeproj/project.pbxproj | 8 +++ .../Classes/Services/NetworkService.swift | 25 --------- .../NetworkService+RxLoadImage.swift | 53 +++++++++++++++++++ 4 files changed, 62 insertions(+), 25 deletions(-) create mode 100644 LeadKit/Sources/Extensions/NetworkService/NetworkService+RxLoadImage.swift diff --git a/LeadKit.podspec b/LeadKit.podspec index 8b01854f..4172e937 100644 --- a/LeadKit.podspec +++ b/LeadKit.podspec @@ -44,6 +44,7 @@ Pod::Spec.new do |s| "LeadKit/Sources/Classes/Views/XibView.swift", "LeadKit/Sources/Extensions/CGFloat/CGFloat+Pixels.swift", "LeadKit/Sources/Extensions/NetworkService/NetworkService+ActivityIndicator.swift", + "LeadKit/Sources/Extensions/NetworkService/NetworkService+RxLoadImage.swift", "LeadKit/Sources/Extensions/Observable/Observable+ToastErrorLogging.swift", "LeadKit/Sources/Extensions/PaginationTableViewWrapperDelegate/PaginationTableViewWrapperDelegate+DefaultImplementation.swift", "LeadKit/Sources/Extensions/StoryboardProtocol/*", diff --git a/LeadKit/LeadKit.xcodeproj/project.pbxproj b/LeadKit/LeadKit.xcodeproj/project.pbxproj index badea439..4ccfe7a5 100644 --- a/LeadKit/LeadKit.xcodeproj/project.pbxproj +++ b/LeadKit/LeadKit.xcodeproj/project.pbxproj @@ -352,6 +352,9 @@ 67952DCE1EB327B500B3BA1A /* LeadKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 67952DC51EB327B400B3BA1A /* LeadKit.framework */; }; 67952DDD1EB3281300B3BA1A /* LeadKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 67186B201EB247A200CFAFFB /* LeadKit.h */; settings = {ATTRIBUTES = (Public, ); }; }; 67CDEE401EB369BF00895905 /* ConfigurableController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462241EB3396E00EAB194 /* ConfigurableController.swift */; }; + 67CDEE421EB3AD1C00895905 /* NetworkService+RxLoadImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67CDEE411EB3AD1C00895905 /* NetworkService+RxLoadImage.swift */; }; + 67CDEE431EB3AD1C00895905 /* NetworkService+RxLoadImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67CDEE411EB3AD1C00895905 /* NetworkService+RxLoadImage.swift */; }; + 67CDEE441EB3AD1C00895905 /* NetworkService+RxLoadImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67CDEE411EB3AD1C00895905 /* NetworkService+RxLoadImage.swift */; }; BA6C6DB45950382041948FC5 /* Pods_LeadKit_LeadKit_iOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CFE9323150A9760008093F73 /* Pods_LeadKit_LeadKit_iOS.framework */; }; D6EE55093E404DEA62B03DDF /* Pods_LeadKit_LeadKit_watchOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8590CA7831555C295C5DC572 /* Pods_LeadKit_LeadKit_watchOS.framework */; }; DEE25FE98D40ED1C168F384A /* Pods_LeadKit_LeadKit_iOS_Extensions.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 887F99C5326BD220C2811BD6 /* Pods_LeadKit_LeadKit_iOS_Extensions.framework */; }; @@ -509,6 +512,7 @@ 67952DCD1EB327B400B3BA1A /* LeadKit iOS ExtensionsTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "LeadKit iOS ExtensionsTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; 67952DDC1EB3280900B3BA1A /* Info-iOS-Extensions.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Info-iOS-Extensions.plist"; sourceTree = ""; }; 67952DDE1EB3285A00B3BA1A /* Info-iOS-Extensions.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Info-iOS-Extensions.plist"; sourceTree = ""; }; + 67CDEE411EB3AD1C00895905 /* NetworkService+RxLoadImage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NetworkService+RxLoadImage.swift"; sourceTree = ""; }; 78405D3B3D3C3E17456877FF /* Pods_LeadKit_iOSTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_LeadKit_iOSTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 8590CA7831555C295C5DC572 /* Pods_LeadKit_LeadKit_watchOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_LeadKit_LeadKit_watchOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 887F99C5326BD220C2811BD6 /* Pods_LeadKit_LeadKit_iOS_Extensions.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_LeadKit_LeadKit_iOS_Extensions.framework; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -1009,6 +1013,7 @@ isa = PBXGroup; children = ( 6714639D1EB33AEB00EAB194 /* NetworkService+ActivityIndicator.swift */, + 67CDEE411EB3AD1C00895905 /* NetworkService+RxLoadImage.swift */, ); path = NetworkService; sourceTree = ""; @@ -1887,6 +1892,7 @@ 6714626C1EB3396E00EAB194 /* XibView.swift in Sources */, 6714637C1EB3396E00EAB194 /* ImageDrawingOperation.swift in Sources */, 6714631C1EB3396E00EAB194 /* UserDefaults+MappableDataTypes.swift in Sources */, + 67CDEE421EB3AD1C00895905 /* NetworkService+RxLoadImage.swift in Sources */, 671463341EB3396E00EAB194 /* DrawingOperation.swift in Sources */, 671462C01EB3396E00EAB194 /* StoryboardProtocol+Extensions.swift in Sources */, 671462701EB3396E00EAB194 /* CursorError.swift in Sources */, @@ -2015,6 +2021,7 @@ 671463631EB3396E00EAB194 /* SupportProtocol.swift in Sources */, 671462DF1EB3396E00EAB194 /* UIActivityIndicator+LoadingIndicator.swift in Sources */, 671462871EB3396E00EAB194 /* CGContext+Initializers.swift in Sources */, + 67CDEE441EB3AD1C00895905 /* NetworkService+RxLoadImage.swift in Sources */, 671463231EB3396E00EAB194 /* Any+Cast.swift in Sources */, 6714634F1EB3396E00EAB194 /* ReuseIdentifierProtocol.swift in Sources */, 671462F31EB3396E00EAB194 /* UIImage+SupportExtensions.swift in Sources */, @@ -2184,6 +2191,7 @@ 6714632D1EB3396E00EAB194 /* ConfigurableController.swift in Sources */, 6714628D1EB3396E00EAB194 /* CGImage+Alpha.swift in Sources */, 671462751EB3396E00EAB194 /* LeadKitError.swift in Sources */, + 67CDEE431EB3AD1C00895905 /* NetworkService+RxLoadImage.swift in Sources */, 671462D91EB3396E00EAB194 /* TimeInterval+DateComponents.swift in Sources */, 6714638D1EB3396E00EAB194 /* SolidFillDrawingOperation.swift in Sources */, 671463A31EB33FF600EAB194 /* Animatable.swift in Sources */, diff --git a/LeadKit/Sources/Classes/Services/NetworkService.swift b/LeadKit/Sources/Classes/Services/NetworkService.swift index a8482f31..32538669 100644 --- a/LeadKit/Sources/Classes/Services/NetworkService.swift +++ b/LeadKit/Sources/Classes/Services/NetworkService.swift @@ -88,31 +88,6 @@ open class NetworkService { #endif } - /// Perform reactive request to get UIImage and http response - /// - /// - Parameter url: An object adopting `URLConvertible` - /// - Returns: Observable of tuple containing (HTTPURLResponse, UIImage?) - public func rxLoadImage(url: String) -> Observable<(HTTPURLResponse, UIImage?)> { - let request = RxAlamofire.requestData(.get, url, headers: [:]) - - let requestObservable = request - .observeOn(ConcurrentDispatchQueueScheduler(qos: .background)) - .map { (response, data) -> (HTTPURLResponse, UIImage?) in - (response, UIImage(data: data)) - } - .counterTracking(for: self) - - #if os(iOS) - #if LEADKIT_EXTENSION_TARGET - return requestObservable - #else - return requestObservable.showErrorsInToastInDebugMode() - #endif - #else - return requestObservable - #endif - } - fileprivate func increaseRequestCounter() { requestCountVariable.value += 1 } diff --git a/LeadKit/Sources/Extensions/NetworkService/NetworkService+RxLoadImage.swift b/LeadKit/Sources/Extensions/NetworkService/NetworkService+RxLoadImage.swift new file mode 100644 index 00000000..9c042a7d --- /dev/null +++ b/LeadKit/Sources/Extensions/NetworkService/NetworkService+RxLoadImage.swift @@ -0,0 +1,53 @@ +// +// Copyright (c) 2017 Touch Instinct +// +// 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. +// + +import RxSwift +import RxAlamofire + +public extension NetworkService { + + /// Perform reactive request to get UIImage and http response + /// + /// - Parameter url: An object adopting `URLConvertible` + /// - Returns: Observable of tuple containing (HTTPURLResponse, UIImage?) + public func rxLoadImage(url: String) -> Observable<(HTTPURLResponse, UIImage?)> { + let request = RxAlamofire.requestData(.get, url, headers: [:]) + + let requestObservable = request + .observeOn(ConcurrentDispatchQueueScheduler(qos: .background)) + .map { (response, data) -> (HTTPURLResponse, UIImage?) in + (response, UIImage(data: data)) + } + .counterTracking(for: self) + + #if os(iOS) + #if LEADKIT_EXTENSION_TARGET + return requestObservable + #else + return requestObservable.showErrorsInToastInDebugMode() + #endif + #else + return requestObservable + #endif + } + +} From 0bb7c41cc2d5652d90785813e4819a0d4f12a74a Mon Sep 17 00:00:00 2001 From: Ivan Smolin Date: Fri, 28 Apr 2017 20:22:02 +0300 Subject: [PATCH 5/6] one more import fix --- LeadKit/Sources/Protocols/EstimatedViewHeightProtocol.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LeadKit/Sources/Protocols/EstimatedViewHeightProtocol.swift b/LeadKit/Sources/Protocols/EstimatedViewHeightProtocol.swift index a09dda1e..a65fea20 100644 --- a/LeadKit/Sources/Protocols/EstimatedViewHeightProtocol.swift +++ b/LeadKit/Sources/Protocols/EstimatedViewHeightProtocol.swift @@ -20,7 +20,7 @@ // THE SOFTWARE. // -import Foundation +import CoreGraphics /** * protocol which ensures that specific type can return estimated height of view for view model From f0320d13ea29966a12b406272857fdf3c1b4da3d Mon Sep 17 00:00:00 2001 From: Ivan Smolin Date: Thu, 4 May 2017 12:37:52 +0300 Subject: [PATCH 6/6] update dependencies --- LeadKit.podspec | 16 ++++++++-------- LeadKit/Podfile | 8 ++++---- LeadKit/Podfile.lock | 28 ++++++++++++++-------------- 3 files changed, 26 insertions(+), 26 deletions(-) diff --git a/LeadKit.podspec b/LeadKit.podspec index 4172e937..d6c93c04 100644 --- a/LeadKit.podspec +++ b/LeadKit.podspec @@ -76,10 +76,10 @@ Pod::Spec.new do |s| ] ss.dependency "CocoaLumberjack/Swift", '~> 3.1.0' - ss.dependency "RxSwift", '3.2.0' - ss.dependency "RxCocoa", '3.2.0' - ss.dependency "RxAlamofire", '3.0.0' - ss.dependency "ObjectMapper", '~> 2.1' + ss.dependency "RxSwift", '3.4.0' + ss.dependency "RxCocoa", '3.4.0' + ss.dependency "RxAlamofire", '3.0.2' + ss.dependency "ObjectMapper", '~> 2.2' ss.ios.dependency "Toast-Swift", '~> 2.0.0' ss.ios.dependency "TableKit", '~> 2.3.1' @@ -102,10 +102,10 @@ Pod::Spec.new do |s| ss.pod_target_xcconfig = { 'SWIFT_ACTIVE_COMPILATION_CONDITIONS' => 'LEADKIT_EXTENSION_TARGET' } ss.dependency "CocoaLumberjack/Swift", '~> 3.1.0' - ss.dependency "RxSwift", '3.2.0' - ss.dependency "RxCocoa", '3.2.0' - ss.dependency "RxAlamofire", '3.0.0' - ss.dependency "ObjectMapper", '~> 2.1' + ss.dependency "RxSwift", '3.4.0' + ss.dependency "RxCocoa", '3.4.0' + ss.dependency "RxAlamofire", '3.0.2' + ss.dependency "ObjectMapper", '~> 2.2' end s.default_subspec = 'Core' diff --git a/LeadKit/Podfile b/LeadKit/Podfile index 5f2525b7..8c45902f 100644 --- a/LeadKit/Podfile +++ b/LeadKit/Podfile @@ -1,9 +1,9 @@ abstract_target 'LeadKit' do pod "CocoaLumberjack/Swift", '~> 3.1.0' - pod "RxSwift", '3.2.0' - pod "RxCocoa", '3.2.0' - pod "RxAlamofire", '3.0.0' - pod "ObjectMapper", '~> 2.1' + pod "RxSwift", '3.4.0' + pod "RxCocoa", '3.4.0' + pod "RxAlamofire", '3.0.2' + pod "ObjectMapper", '~> 2.2' inhibit_all_warnings! diff --git a/LeadKit/Podfile.lock b/LeadKit/Podfile.lock index 886cccc6..39e2a76d 100644 --- a/LeadKit/Podfile.lock +++ b/LeadKit/Podfile.lock @@ -4,24 +4,24 @@ PODS: - CocoaLumberjack/Swift (3.1.0): - CocoaLumberjack/Default - ObjectMapper (2.2.6) - - RxAlamofire (3.0.0): - - RxAlamofire/Core (= 3.0.0) - - RxAlamofire/Core (3.0.0): + - RxAlamofire (3.0.2): + - RxAlamofire/Core (= 3.0.2) + - RxAlamofire/Core (3.0.2): - Alamofire (~> 4.0) - RxSwift (~> 3.0) - - RxCocoa (3.2.0): - - RxSwift (~> 3.1) - - RxSwift (3.2.0) + - RxCocoa (3.4.0): + - RxSwift (~> 3.4) + - RxSwift (3.4.0) - TableKit (2.3.1) - Toast-Swift (2.0.0) - UIScrollView-InfiniteScroll (1.0.1) DEPENDENCIES: - CocoaLumberjack/Swift (~> 3.1.0) - - ObjectMapper (~> 2.1) - - RxAlamofire (= 3.0.0) - - RxCocoa (= 3.2.0) - - RxSwift (= 3.2.0) + - ObjectMapper (~> 2.2) + - RxAlamofire (= 3.0.2) + - RxCocoa (= 3.4.0) + - RxSwift (= 3.4.0) - TableKit (~> 2.3.1) - Toast-Swift (~> 2.0.0) - UIScrollView-InfiniteScroll (~> 1.0.0) @@ -30,13 +30,13 @@ SPEC CHECKSUMS: Alamofire: dc44b1600b800eb63da6a19039a0083d62a6a62d CocoaLumberjack: 8311463ddf9ee86a06ef92a071dd656c89244500 ObjectMapper: 042708195cc46c20871cbcbec0453826398273fd - RxAlamofire: 0b1fa48f545fffe7f7a28af2086bcaa3b5946cc9 - RxCocoa: ccdf43101a70407097a29082f648ba1676075b30 - RxSwift: 46574f70d416b7923c237195939cc488a7fbf3a0 + RxAlamofire: bc53604b29fd2d220cfaa490c736cc4500819f34 + RxCocoa: d14ef6b6029e1ddc6e966508c09289090de68ff9 + RxSwift: 3789a1af753002a14edecdb698a2424624296a9c TableKit: 02e041b443f75fa3e9f1ee6024d4b256305bd904 Toast-Swift: 5b2f8f720f7e78e48511f693df1f9c9a6e38a25a UIScrollView-InfiniteScroll: a90df4ba4a7ca1926128ade34a850ddbdf74c564 -PODFILE CHECKSUM: d7408d68115444050a82a2967e73f2921b9f7490 +PODFILE CHECKSUM: cf6dcd073cc362b0d897b5b68e5c2c16c982d072 COCOAPODS: 1.2.1