From e15360177d32dbb82d7f1cba97dc9127ae7d1947 Mon Sep 17 00:00:00 2001 From: hrscy <15399070815@163.com> Date: Wed, 11 Apr 2018 22:01:32 +0800 Subject: [PATCH] =?UTF-8?q?0411=20=E6=9B=B4=E6=96=B0=20pod=20=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- News/News.xcodeproj/project.pbxproj | 20 +- .../Home/Controller/HomeViewController.swift | 2 +- .../Controller/HuoshanViewController.swift | 2 +- .../Main/Controller/MyTabBarController.swift | 3 +- .../Classes/Mine/View/NoLoginHeaderView.xib | 4 +- .../Controller/VideoViewController.swift | 2 +- News/Podfile | 2 +- News/Podfile.lock | 42 +- News/Pods/Alamofire/LICENSE | 2 +- News/Pods/Alamofire/README.md | 27 +- News/Pods/Alamofire/Source/AFError.swift | 2 +- News/Pods/Alamofire/Source/Alamofire.swift | 2 +- .../Source/DispatchQueue+Alamofire.swift | 2 +- .../Alamofire/Source/MultipartFormData.swift | 2 +- .../Source/NetworkReachabilityManager.swift | 24 +- .../Pods/Alamofire/Source/Notifications.swift | 5 +- .../Alamofire/Source/ParameterEncoding.swift | 67 +- News/Pods/Alamofire/Source/Request.swift | 5 +- News/Pods/Alamofire/Source/Response.swift | 2 +- .../Source/ResponseSerialization.swift | 6 +- News/Pods/Alamofire/Source/Result.swift | 2 +- .../Alamofire/Source/ServerTrustPolicy.swift | 2 +- .../Alamofire/Source/SessionDelegate.swift | 10 +- .../Alamofire/Source/SessionManager.swift | 2 +- News/Pods/Alamofire/Source/TaskDelegate.swift | 2 +- News/Pods/Alamofire/Source/Timeline.swift | 2 +- News/Pods/Alamofire/Source/Validation.swift | 2 +- News/Pods/HandyJSON/README.md | 6 +- .../HandyJSON/Source/BuiltInBasicType.swift | 10 +- .../HandyJSON/Source/HexColorTransform.swift | 4 +- News/Pods/HandyJSON/Source/NominalType.swift | 2 +- News/Pods/Kingfisher/LICENSE | 2 +- News/Pods/Kingfisher/README.md | 2 + .../Sources/AnimatedImageView.swift | 24 +- News/Pods/Kingfisher/Sources/Box.swift | 34 + .../Kingfisher/Sources/CacheSerializer.swift | 2 +- News/Pods/Kingfisher/Sources/Filter.swift | 2 +- .../FormatIndicatedCacheSerializer.swift | 2 +- News/Pods/Kingfisher/Sources/Image.swift | 2 +- News/Pods/Kingfisher/Sources/ImageCache.swift | 2 +- .../Kingfisher/Sources/ImageDownloader.swift | 51 +- .../Kingfisher/Sources/ImageModifier.swift | 2 +- .../Kingfisher/Sources/ImagePrefetcher.swift | 18 +- .../Kingfisher/Sources/ImageProcessor.swift | 2 +- .../Kingfisher/Sources/ImageTransition.swift | 2 +- .../Sources/ImageView+Kingfisher.swift | 11 +- News/Pods/Kingfisher/Sources/Indicator.swift | 2 +- News/Pods/Kingfisher/Sources/Kingfisher.h | 2 +- News/Pods/Kingfisher/Sources/Kingfisher.swift | 2 +- .../Sources/KingfisherManager.swift | 2 +- .../Sources/KingfisherOptionsInfo.swift | 2 +- .../Pods/Kingfisher/Sources/Placeholder.swift | 2 +- .../Kingfisher/Sources/RequestModifier.swift | 2 +- News/Pods/Kingfisher/Sources/Resource.swift | 2 +- News/Pods/Kingfisher/Sources/String+MD5.swift | 5 + .../Kingfisher/Sources/ThreadHelper.swift | 2 +- .../Sources/UIButton+Kingfisher.swift | 2 +- .../MJRefresh/Base/MJRefreshAutoFooter.h | 3 + .../MJRefresh/Base/MJRefreshAutoFooter.m | 23 +- .../MJRefresh/UIScrollView+MJExtension.m | 19 +- News/Pods/Manifest.lock | 42 +- News/Pods/Pods.xcodeproj/project.pbxproj | 7164 +++++++++-------- .../RxCocoa/Platform/DeprecationWarner.swift | 43 + News/Pods/RxCocoa/README.md | 2 +- .../RxSwift/Platform/DeprecationWarner.swift | 43 + News/Pods/RxSwift/README.md | 2 +- News/Pods/RxSwift/RxSwift/Deprecated.swift | 4 + News/Pods/RxSwift/RxSwift/Traits/Single.swift | 2 +- News/Pods/SGPagingView/README.md | 21 +- .../SGPageContent/SGPageContentScrollView.h | 2 +- .../SGPageContent/SGPageContentScrollView.m | 10 +- .../SGPageContent/SGPageContentView.h | 2 +- .../SGPageContent/SGPageContentView.m | 13 +- .../SGPageTitle/SGPageTitleView.h | 2 - .../SGPageTitle/SGPageTitleView.m | 13 +- .../SGPageTitle/SGPageTitleViewConfigure.h | 2 + .../SGPageTitle/SGPageTitleViewConfigure.m | 7 + .../SGPagingView/SGPagingView/SGPagingView.h | 2 +- News/Pods/SVProgressHUD/LICENSE | 21 + News/Pods/SVProgressHUD/LICENSE.txt | 9 - News/Pods/SVProgressHUD/README.md | 17 +- .../SVProgressHUD/SVIndefiniteAnimatedView.h | 2 +- .../SVProgressHUD/SVIndefiniteAnimatedView.m | 2 +- .../SVProgressHUD/SVProgressAnimatedView.h | 2 +- .../SVProgressHUD/SVProgressAnimatedView.m | 2 +- .../SVProgressHUD/SVProgressHUD.h | 10 +- .../SVProgressHUD/SVProgressHUD.m | 154 +- .../SVProgressHUD/SVRadialGradientLayer.h | 2 +- .../SVProgressHUD/SVRadialGradientLayer.m | 2 +- .../Alamofire/Alamofire.xcconfig | 6 +- .../Target Support Files/Alamofire/Info.plist | 2 +- .../BMPlayer/BMPlayer.xcconfig | 8 +- .../FDFullscreenPopGesture.xcconfig | 6 +- .../HandyJSON/HandyJSON.xcconfig | 8 +- .../Target Support Files/HandyJSON/Info.plist | 2 +- .../IBAnimatable/IBAnimatable.xcconfig | 6 +- .../Kingfisher/Info.plist | 2 +- .../Kingfisher/Kingfisher.xcconfig | 7 +- .../MJRefresh/MJRefresh.xcconfig | 6 +- .../NVActivityIndicatorView.xcconfig | 6 +- .../Pods-News-acknowledgements.markdown | 29 +- .../Pods-News-acknowledgements.plist | 31 +- .../Pods-News/Pods-News-frameworks.sh | 44 +- .../Pods-News/Pods-News.debug.xcconfig | 8 +- .../Pods-News/Pods-News.release.xcconfig | 8 +- .../Target Support Files/RxCocoa/Info.plist | 2 +- .../RxCocoa/RxCocoa.xcconfig | 8 +- .../Target Support Files/RxSwift/Info.plist | 2 +- .../RxSwift/RxSwift.xcconfig | 6 +- .../SGPagingView/Info.plist | 2 +- .../SGPagingView/SGPagingView.xcconfig | 6 +- .../SQLite.swift/SQLite.swift.xcconfig | 6 +- .../SVProgressHUD/Info.plist | 2 +- .../SVProgressHUD/SVProgressHUD.xcconfig | 6 +- .../SnapKit/SnapKit.xcconfig | 6 +- .../SwiftTheme/SwiftTheme.xcconfig | 6 +- .../SwiftyJSON/SwiftyJSON.xcconfig | 6 +- .../lottie-ios/Info.plist | 2 +- .../lottie-ios/lottie-ios-umbrella.h | 5 + .../lottie-ios/lottie-ios.xcconfig | 6 +- News/Pods/lottie-ios/LICENSE | 4 +- .../LOTCompositionContainer.h | 26 +- .../LOTCompositionContainer.m | 186 +- .../AnimatableLayers/LOTLayerContainer.h | 16 +- .../AnimatableLayers/LOTLayerContainer.m | 128 +- .../Extensions/CGGeometry+LOTAdditions.h | 9 +- .../Extensions/CGGeometry+LOTAdditions.m | 49 - .../Classes/Extensions/LOTBezierPath.h | 2 + .../Classes/Extensions/LOTBezierPath.m | 56 +- .../Extensions/LOTRadialGradientLayer.m | 15 +- .../Classes/MacCompatability/CALayer+Compat.h | 2 + .../Classes/MacCompatability/CALayer+Compat.m | 2 + .../MacCompatability/LOTPlatformCompat.h | 3 +- .../Classes/MacCompatability/NSValue+Compat.h | 2 + .../Classes/MacCompatability/NSValue+Compat.m | 2 + .../Classes/MacCompatability/UIBezierPath.h | 80 + .../Classes/MacCompatability/UIBezierPath.m | 312 + .../Classes/MacCompatability/UIColor.h | 2 + .../Classes/MacCompatability/UIColor.m | 2 + .../lottie-ios/Classes/Models/LOTAsset.h | 3 +- .../lottie-ios/Classes/Models/LOTAsset.m | 12 +- .../lottie-ios/Classes/Models/LOTAssetGroup.h | 7 +- .../lottie-ios/Classes/Models/LOTAssetGroup.m | 13 +- .../lottie-ios/Classes/Models/LOTLayer.h | 5 +- .../lottie-ios/Classes/Models/LOTLayer.m | 29 +- .../lottie-ios/Classes/Models/LOTLayerGroup.h | 3 +- .../lottie-ios/Classes/Models/LOTLayerGroup.m | 12 +- .../Classes/Models/LOTShapeRepeater.m | 2 +- .../Classes/Models/LOTShapeTransform.m | 2 +- .../Classes/Private/LOTAnimatedSwitch.m | 12 +- .../LOTAnimationTransitionController.m | 18 +- .../Classes/Private/LOTAnimationView.m | 206 +- .../Classes/Private/LOTBlockCallback.m | 80 + .../Classes/Private/LOTComposition.m | 13 +- .../Classes/Private/LOTInterpolatorCallback.m | 56 + .../lottie-ios/Classes/Private/LOTKeypath.m | 140 + .../Classes/Private/LOTValueCallback.m | 79 + .../Classes/PublicHeaders/LOTAnimationView.h | 143 +- .../Classes/PublicHeaders/LOTBlockCallback.h | 160 + .../PublicHeaders/LOTInterpolatorCallback.h | 71 + .../Classes/PublicHeaders/LOTKeypath.h | 83 + .../Classes/PublicHeaders/LOTValueCallback.h | 76 + .../Classes/PublicHeaders/LOTValueDelegate.h | 144 + .../lottie-ios/Classes/PublicHeaders/Lottie.h | 6 +- .../InterpolatorNodes/LOTColorInterpolator.h | 5 +- .../InterpolatorNodes/LOTColorInterpolator.m | 37 +- .../InterpolatorNodes/LOTNumberInterpolator.h | 3 + .../InterpolatorNodes/LOTNumberInterpolator.m | 32 +- .../InterpolatorNodes/LOTPathInterpolator.h | 3 + .../InterpolatorNodes/LOTPathInterpolator.m | 18 +- .../InterpolatorNodes/LOTPointInterpolator.h | 3 + .../InterpolatorNodes/LOTPointInterpolator.m | 41 +- .../InterpolatorNodes/LOTSizeInterpolator.h | 3 + .../InterpolatorNodes/LOTSizeInterpolator.m | 33 +- .../InterpolatorNodes/LOTValueInterpolator.h | 8 +- .../InterpolatorNodes/LOTValueInterpolator.m | 62 +- .../Classes/RenderSystem/LOTAnimatorNode.h | 17 +- .../Classes/RenderSystem/LOTAnimatorNode.m | 56 +- .../RenderNodes/LOTFillRenderer.m | 4 +- .../RenderSystem/RenderNodes/LOTRenderGroup.m | 73 +- .../RenderNodes/LOTStrokeRenderer.m | 2 +- 181 files changed, 6518 insertions(+), 4499 deletions(-) create mode 100644 News/Pods/Kingfisher/Sources/Box.swift create mode 100644 News/Pods/RxCocoa/Platform/DeprecationWarner.swift create mode 100644 News/Pods/RxSwift/Platform/DeprecationWarner.swift create mode 100644 News/Pods/SVProgressHUD/LICENSE delete mode 100644 News/Pods/SVProgressHUD/LICENSE.txt create mode 100755 News/Pods/lottie-ios/lottie-ios/Classes/MacCompatability/UIBezierPath.h create mode 100755 News/Pods/lottie-ios/lottie-ios/Classes/MacCompatability/UIBezierPath.m create mode 100644 News/Pods/lottie-ios/lottie-ios/Classes/Private/LOTBlockCallback.m create mode 100644 News/Pods/lottie-ios/lottie-ios/Classes/Private/LOTInterpolatorCallback.m create mode 100644 News/Pods/lottie-ios/lottie-ios/Classes/Private/LOTKeypath.m create mode 100644 News/Pods/lottie-ios/lottie-ios/Classes/Private/LOTValueCallback.m create mode 100644 News/Pods/lottie-ios/lottie-ios/Classes/PublicHeaders/LOTBlockCallback.h create mode 100644 News/Pods/lottie-ios/lottie-ios/Classes/PublicHeaders/LOTInterpolatorCallback.h create mode 100644 News/Pods/lottie-ios/lottie-ios/Classes/PublicHeaders/LOTKeypath.h create mode 100644 News/Pods/lottie-ios/lottie-ios/Classes/PublicHeaders/LOTValueCallback.h create mode 100644 News/Pods/lottie-ios/lottie-ios/Classes/PublicHeaders/LOTValueDelegate.h diff --git a/News/News.xcodeproj/project.pbxproj b/News/News.xcodeproj/project.pbxproj index bf8dc263..1348ebd5 100644 --- a/News/News.xcodeproj/project.pbxproj +++ b/News/News.xcodeproj/project.pbxproj @@ -1122,7 +1122,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0830; - LastUpgradeCheck = 0900; + LastUpgradeCheck = 0930; ORGANIZATIONNAME = hrscy; TargetAttributes = { 942DCF071F6010E1001AD160 = { @@ -1138,12 +1138,14 @@ 942DCF1B1F6010E1001AD160 = { CreatedOnToolsVersion = 8.3.3; DevelopmentTeam = CK4C7KZJ97; + LastSwiftMigration = 0930; ProvisioningStyle = Automatic; TestTargetID = 942DCF071F6010E1001AD160; }; 942DCF261F6010E1001AD160 = { CreatedOnToolsVersion = 8.3.3; DevelopmentTeam = CK4C7KZJ97; + LastSwiftMigration = 0930; ProvisioningStyle = Automatic; TestTargetID = 942DCF071F6010E1001AD160; }; @@ -1558,6 +1560,7 @@ CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_EMPTY_BODY = YES; @@ -1565,6 +1568,7 @@ CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; @@ -1613,6 +1617,7 @@ CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_EMPTY_BODY = YES; @@ -1620,6 +1625,7 @@ CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; @@ -1698,7 +1704,8 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.hrscy.NewsTests; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 3.0; + SWIFT_SWIFT3_OBJC_INFERENCE = On; + SWIFT_VERSION = 4.0; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/News.app/News"; }; name = Debug; @@ -1713,7 +1720,8 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.hrscy.NewsTests; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 3.0; + SWIFT_SWIFT3_OBJC_INFERENCE = On; + SWIFT_VERSION = 4.0; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/News.app/News"; }; name = Release; @@ -1727,7 +1735,8 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.hrscy.NewsUITests; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 3.0; + SWIFT_SWIFT3_OBJC_INFERENCE = On; + SWIFT_VERSION = 4.0; TEST_TARGET_NAME = News; }; name = Debug; @@ -1741,7 +1750,8 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.hrscy.NewsUITests; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 3.0; + SWIFT_SWIFT3_OBJC_INFERENCE = On; + SWIFT_VERSION = 4.0; TEST_TARGET_NAME = News; }; name = Release; diff --git a/News/News/Classes/Home/Controller/HomeViewController.swift b/News/News/Classes/Home/Controller/HomeViewController.swift index a3eef1e3..98075aaa 100644 --- a/News/News/Classes/Home/Controller/HomeViewController.swift +++ b/News/News/Classes/Home/Controller/HomeViewController.swift @@ -143,7 +143,7 @@ extension HomeViewController { extension HomeViewController: SGPageTitleViewDelegate, SGPageContentViewDelegate { /// 联动 pageContent 的方法 func pageTitleView(_ pageTitleView: SGPageTitleView!, selectedIndex: Int) { - self.pageContentView!.setPageCententViewCurrentIndex(selectedIndex) + self.pageContentView!.setPageContentViewCurrentIndex(selectedIndex) } /// 联动 SGPageTitleView 的方法 diff --git a/News/News/Classes/Huoshan/Controller/HuoshanViewController.swift b/News/News/Classes/Huoshan/Controller/HuoshanViewController.swift index 94316dcf..74c658ca 100644 --- a/News/News/Classes/Huoshan/Controller/HuoshanViewController.swift +++ b/News/News/Classes/Huoshan/Controller/HuoshanViewController.swift @@ -51,7 +51,7 @@ extension HuoshanViewController { // 点击了 标题 navigationBar.pageTitleViewSelected = { [weak self] in - self!.pageContentView!.setPageCententViewCurrentIndex($0) + self!.pageContentView!.setPageContentViewCurrentIndex($0) } } diff --git a/News/News/Classes/Main/Controller/MyTabBarController.swift b/News/News/Classes/Main/Controller/MyTabBarController.swift index 4a4d21b6..a6a515fe 100644 --- a/News/News/Classes/Main/Controller/MyTabBarController.swift +++ b/News/News/Classes/Main/Controller/MyTabBarController.swift @@ -94,8 +94,7 @@ class MyTabBarController: UITabBarController { } childController.title = title // 添加导航控制器为 TabBarController 的子控制器 - let navVc = MyNavigationController(rootViewController: childController) - addChildViewController(navVc) + addChildViewController(MyNavigationController(rootViewController: childController)) } deinit { diff --git a/News/News/Classes/Mine/View/NoLoginHeaderView.xib b/News/News/Classes/Mine/View/NoLoginHeaderView.xib index c9a0cd70..4db24904 100644 --- a/News/News/Classes/Mine/View/NoLoginHeaderView.xib +++ b/News/News/Classes/Mine/View/NoLoginHeaderView.xib @@ -1,11 +1,11 @@ - + - + diff --git a/News/News/Classes/Video/Controller/VideoViewController.swift b/News/News/Classes/Video/Controller/VideoViewController.swift index eceefbfa..c436eab8 100644 --- a/News/News/Classes/Video/Controller/VideoViewController.swift +++ b/News/News/Classes/Video/Controller/VideoViewController.swift @@ -81,7 +81,7 @@ extension VideoViewController { extension VideoViewController: SGPageTitleViewDelegate, SGPageContentViewDelegate { /// 联动 pageContent 的方法 func pageTitleView(_ pageTitleView: SGPageTitleView!, selectedIndex: Int) { - self.pageContentView!.setPageCententViewCurrentIndex(selectedIndex) + self.pageContentView!.setPageContentViewCurrentIndex(selectedIndex) } /// 联动 SGPageTitleView 的方法 diff --git a/News/Podfile b/News/Podfile index 06a8e4cc..09499375 100644 --- a/News/Podfile +++ b/News/Podfile @@ -7,7 +7,7 @@ target 'News' do pod 'Alamofire' pod 'SwiftyJSON' - pod 'HandyJSON', '~>4.0.0-beta.1' + pod 'HandyJSON', '~> 4.1.1' pod 'Kingfisher' pod 'IBAnimatable' pod 'SwiftTheme' diff --git a/News/Podfile.lock b/News/Podfile.lock index 257731ab..4edcf795 100644 --- a/News/Podfile.lock +++ b/News/Podfile.lock @@ -1,5 +1,5 @@ PODS: - - Alamofire (4.6.0) + - Alamofire (4.7.1) - BMPlayer (1.0.1): - BMPlayer/Full (= 1.0.1) - BMPlayer/Core (1.0.1) @@ -8,23 +8,23 @@ PODS: - NVActivityIndicatorView (~> 4.0.0) - SnapKit (~> 4.0.0) - FDFullscreenPopGesture (1.1) - - HandyJSON (4.0.0-beta.1) + - HandyJSON (4.1.1) - IBAnimatable (5.0.0) - - Kingfisher (4.6.1) - - lottie-ios (2.1.5) - - MJRefresh (3.1.15.1) + - Kingfisher (4.7.0) + - lottie-ios (2.5.0) + - MJRefresh (3.1.15.3) - NVActivityIndicatorView (4.0.1): - NVActivityIndicatorView/Presenter (= 4.0.1) - NVActivityIndicatorView/Presenter (4.0.1) - - RxCocoa (4.1.1): + - RxCocoa (4.1.2): - RxSwift (~> 4.0) - - RxSwift (4.1.1) - - SGPagingView (1.3.5) + - RxSwift (4.1.2) + - SGPagingView (1.3.6) - SnapKit (4.0.0) - SQLite.swift (0.11.4): - SQLite.swift/standard (= 0.11.4) - SQLite.swift/standard (0.11.4) - - SVProgressHUD (2.2.2) + - SVProgressHUD (2.2.5) - SwiftTheme (0.4.1) - SwiftyJSON (4.0.0) @@ -32,7 +32,7 @@ DEPENDENCIES: - Alamofire - BMPlayer - FDFullscreenPopGesture - - HandyJSON (~> 4.0.0-beta.1) + - HandyJSON (~> 4.1.1) - IBAnimatable - Kingfisher - lottie-ios @@ -46,24 +46,24 @@ DEPENDENCIES: - SwiftyJSON SPEC CHECKSUMS: - Alamofire: f41a599bd63041760b26d393ec1069d9d7b917f4 + Alamofire: 68d7d521118d49c615a8d2214d87cdf525599d30 BMPlayer: 44eebf06eb01450dd14ea74b27d07c5222f0eed1 FDFullscreenPopGesture: a8a620179e3d9c40e8e00256dcee1c1a27c6d0f0 - HandyJSON: 428bb18e2c34c2a77361accebf90cf64e4f74118 + HandyJSON: 3a3de917c4118767ffe41c29b5acba23409649f4 IBAnimatable: aa2286a9cf8fb4ae2e1be85c5287ae56143b024f - Kingfisher: 1f9157d9c02b380cbd0b7cc890161195164eb634 - lottie-ios: 836cdbba92f62f3c6a00e37a4ce485321fe317cf - MJRefresh: 5f8552bc25ca8751c010f621c1098dbdaacbccd6 + Kingfisher: da6b005aa96d37698e3e4f1ccfe96a5b9bbf27d6 + lottie-ios: d699fdee68d7b63e721d949388b015fef1aaa4ac + MJRefresh: b48380ae2b927b46c4ef000de9adb8dc748e1df7 NVActivityIndicatorView: 77ed6d7b571643e24899e7858bf9ae2ee4c21f31 - RxCocoa: fd0862fd2df95fa55562ad28ffd2522c25eb4a85 - RxSwift: c6e3b1c7b325c7d121cd4327e9d98b7ed746b570 - SGPagingView: b001e3c761386ac6f33be9ff073bcf250b394874 + RxCocoa: d88ba0f1f6abf040011a9eb4b539324fc426843a + RxSwift: e49536837d9901277638493ea537394d4b55f570 + SGPagingView: 4e9204cc62e4b63b269fbf48b4e8c9333adcd071 SnapKit: a42d492c16e80209130a3379f73596c3454b7694 SQLite.swift: 3e3bee21da701b5b9f87c4a672cb54f233505692 - SVProgressHUD: 59b2d3dabacbd051576d21d32293ca7228dc18b0 + SVProgressHUD: 1428aafac632c1f86f62aa4243ec12008d7a51d6 SwiftTheme: 36d71c4eed4b2c401c782cf036e4586c749a8173 SwiftyJSON: 070dabdcb1beb81b247c65ffa3a79dbbfb3b48aa -PODFILE CHECKSUM: 64ae2a22acd8a7d014ecc833c553f61e4bdd7185 +PODFILE CHECKSUM: efac193b2b9675dbb674415cb571da4c2e67f8cf -COCOAPODS: 1.3.1 +COCOAPODS: 1.4.0 diff --git a/News/Pods/Alamofire/LICENSE b/News/Pods/Alamofire/LICENSE index 16546027..2ec3cb14 100644 --- a/News/Pods/Alamofire/LICENSE +++ b/News/Pods/Alamofire/LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2014-2017 Alamofire Software Foundation (http://alamofire.org/) +Copyright (c) 2014-2018 Alamofire Software Foundation (http://alamofire.org/) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/News/Pods/Alamofire/README.md b/News/Pods/Alamofire/README.md index eb5a522f..3b04d712 100644 --- a/News/Pods/Alamofire/README.md +++ b/News/Pods/Alamofire/README.md @@ -15,16 +15,16 @@ Alamofire is an HTTP networking library written in Swift. - [Migration Guides](#migration-guides) - [Communication](#communication) - [Installation](#installation) -- [Usage](Documentation/Usage.md) - - **Intro -** [Making a Request](Documentation/Usage.md#making-a-request), [Response Handling](Documentation/Usage.md#response-handling), [Response Validation](Documentation/Usage.md#response-validation), [Response Caching](Documentation/Usage.md#response-caching) - - **HTTP -** [HTTP Methods](Documentation/Usage.md#http-methods), [Parameter Encoding](Documentation/Usage.md#parameter-encoding), [HTTP Headers](Documentation/Usage.md#http-headers), [Authentication](Documentation/Usage.md#authentication) - - **Large Data -** [Downloading Data to a File](Documentation/Usage.md#downloading-data-to-a-file), [Uploading Data to a Server](Documentation/Usage.md#uploading-data-to-a-server) - - **Tools -** [Statistical Metrics](Documentation/Usage.md#statistical-metrics), [cURL Command Output](Documentation/Usage.md#curl-command-output) -- [Advanced Usage](Documentation/AdvancedUsage.md) - - **URL Session -** [Session Manager](Documentation/AdvancedUsage.md#session-manager), [Session Delegate](Documentation/AdvancedUsage.md#session-delegate), [Request](Documentation/AdvancedUsage.md#request) - - **Routing -** [Routing Requests](Documentation/AdvancedUsage.md#routing-requests), [Adapting and Retrying Requests](Documentation/AdvancedUsage.md#adapting-and-retrying-requests) - - **Model Objects -** [Custom Response Serialization](Documentation/AdvancedUsage.md#custom-response-serialization) - - **Connection -** [Security](Documentation/AdvancedUsage.md#security), [Network Reachability](Documentation/AdvancedUsage.md#network-reachability) +- [Usage](https://github.com/Alamofire/Alamofire/blob/master/Documentation/Usage.md) + - **Intro -** [Making a Request](https://github.com/Alamofire/Alamofire/blob/master/Documentation/Usage.md#making-a-request), [Response Handling](https://github.com/Alamofire/Alamofire/blob/master/Documentation/Usage.md#response-handling), [Response Validation](https://github.com/Alamofire/Alamofire/blob/master/Documentation/Usage.md#response-validation), [Response Caching](https://github.com/Alamofire/Alamofire/blob/master/Documentation/Usage.md#response-caching) + - **HTTP -** [HTTP Methods](https://github.com/Alamofire/Alamofire/blob/master/Documentation/Usage.md#http-methods), [Parameter Encoding](https://github.com/Alamofire/Alamofire/blob/master/Documentation/Usage.md#parameter-encoding), [HTTP Headers](https://github.com/Alamofire/Alamofire/blob/master/Documentation/Usage.md#http-headers), [Authentication](https://github.com/Alamofire/Alamofire/blob/master/Documentation/Usage.md#authentication) + - **Large Data -** [Downloading Data to a File](https://github.com/Alamofire/Alamofire/blob/master/Documentation/Usage.md#downloading-data-to-a-file), [Uploading Data to a Server](https://github.com/Alamofire/Alamofire/blob/master/Documentation/Usage.md#uploading-data-to-a-server) + - **Tools -** [Statistical Metrics](https://github.com/Alamofire/Alamofire/blob/master/Documentation/Usage.md#statistical-metrics), [cURL Command Output](https://github.com/Alamofire/Alamofire/blob/master/Documentation/Usage.md#curl-command-output) +- [Advanced Usage](https://github.com/Alamofire/Alamofire/blob/master/Documentation/AdvancedUsage.md) + - **URL Session -** [Session Manager](https://github.com/Alamofire/Alamofire/blob/master/Documentation/AdvancedUsage.md#session-manager), [Session Delegate](https://github.com/Alamofire/Alamofire/blob/master/Documentation/AdvancedUsage.md#session-delegate), [Request](https://github.com/Alamofire/Alamofire/blob/master/Documentation/AdvancedUsage.md#request) + - **Routing -** [Routing Requests](https://github.com/Alamofire/Alamofire/blob/master/Documentation/AdvancedUsage.md#routing-requests), [Adapting and Retrying Requests](https://github.com/Alamofire/Alamofire/blob/master/Documentation/AdvancedUsage.md#adapting-and-retrying-requests) + - **Model Objects -** [Custom Response Serialization](https://github.com/Alamofire/Alamofire/blob/master/Documentation/AdvancedUsage.md#custom-response-serialization) + - **Connection -** [Security](https://github.com/Alamofire/Alamofire/blob/master/Documentation/AdvancedUsage.md#security), [Network Reachability](https://github.com/Alamofire/Alamofire/blob/master/Documentation/AdvancedUsage.md#network-reachability) - [Open Radars](#open-radars) - [FAQ](#faq) - [Credits](#credits) @@ -94,7 +94,7 @@ platform :ios, '10.0' use_frameworks! target '' do - pod 'Alamofire', '~> 4.5' + pod 'Alamofire', '~> 4.7' end ``` @@ -118,7 +118,7 @@ $ brew install carthage To integrate Alamofire into your Xcode project using Carthage, specify it in your `Cartfile`: ```ogdl -github "Alamofire/Alamofire" ~> 4.5 +github "Alamofire/Alamofire" ~> 4.7 ``` Run `carthage update` to build the framework and drag the built `Alamofire.framework` into your Xcode project. @@ -190,6 +190,7 @@ The following radars have some effect on the current implementation of Alamofire - [`rdar://21349340`](http://www.openradar.me/radar?id=5517037090635776) - Compiler throwing warning due to toll-free bridging issue in test case - `rdar://26870455` - Background URL Session Configurations do not work in the simulator - `rdar://26849668` - Some URLProtocol APIs do not properly handle `URLRequest` +- [`rdar://36082113`](http://openradar.appspot.com/radar?id=4942308441063424) - `URLSessionTaskMetrics` failing to link on watchOS 3.0+ ## Resolved Radars @@ -229,8 +230,6 @@ The [ASF](https://github.com/Alamofire/Foundation#members) is looking to raise m The community adoption of the ASF libraries has been amazing. We are greatly humbled by your enthusiasm around the projects, and want to continue to do everything we can to move the needle forward. With your continued support, the ASF will be able to improve its reach and also provide better legal safety for the core members. If you use any of our libraries for work, see if your employers would be interested in donating. Our initial goal is to raise $1000 to get all our legal ducks in a row and kickstart this campaign. Any amount you can donate today to help us reach our goal would be greatly appreciated. -Click here to lend your support to: Alamofire Software Foundation and make a donation at pledgie.com ! - ## License Alamofire is released under the MIT license. [See LICENSE](https://github.com/Alamofire/Alamofire/blob/master/LICENSE) for details. diff --git a/News/Pods/Alamofire/Source/AFError.swift b/News/Pods/Alamofire/Source/AFError.swift index 585ae145..8b90d847 100644 --- a/News/Pods/Alamofire/Source/AFError.swift +++ b/News/Pods/Alamofire/Source/AFError.swift @@ -1,7 +1,7 @@ // // AFError.swift // -// Copyright (c) 2014-2017 Alamofire Software Foundation (http://alamofire.org/) +// Copyright (c) 2014-2018 Alamofire Software Foundation (http://alamofire.org/) // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/News/Pods/Alamofire/Source/Alamofire.swift b/News/Pods/Alamofire/Source/Alamofire.swift index e9716131..2fcc05ca 100644 --- a/News/Pods/Alamofire/Source/Alamofire.swift +++ b/News/Pods/Alamofire/Source/Alamofire.swift @@ -1,7 +1,7 @@ // // Alamofire.swift // -// Copyright (c) 2014-2017 Alamofire Software Foundation (http://alamofire.org/) +// Copyright (c) 2014-2018 Alamofire Software Foundation (http://alamofire.org/) // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/News/Pods/Alamofire/Source/DispatchQueue+Alamofire.swift b/News/Pods/Alamofire/Source/DispatchQueue+Alamofire.swift index 90313956..dea3ebc1 100644 --- a/News/Pods/Alamofire/Source/DispatchQueue+Alamofire.swift +++ b/News/Pods/Alamofire/Source/DispatchQueue+Alamofire.swift @@ -1,7 +1,7 @@ // // DispatchQueue+Alamofire.swift // -// Copyright (c) 2014-2017 Alamofire Software Foundation (http://alamofire.org/) +// Copyright (c) 2014-2018 Alamofire Software Foundation (http://alamofire.org/) // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/News/Pods/Alamofire/Source/MultipartFormData.swift b/News/Pods/Alamofire/Source/MultipartFormData.swift index ba02d24f..057e68b9 100644 --- a/News/Pods/Alamofire/Source/MultipartFormData.swift +++ b/News/Pods/Alamofire/Source/MultipartFormData.swift @@ -1,7 +1,7 @@ // // MultipartFormData.swift // -// Copyright (c) 2014-2017 Alamofire Software Foundation (http://alamofire.org/) +// Copyright (c) 2014-2018 Alamofire Software Foundation (http://alamofire.org/) // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/News/Pods/Alamofire/Source/NetworkReachabilityManager.swift b/News/Pods/Alamofire/Source/NetworkReachabilityManager.swift index cdb5a02d..3ff2e7fc 100644 --- a/News/Pods/Alamofire/Source/NetworkReachabilityManager.swift +++ b/News/Pods/Alamofire/Source/NetworkReachabilityManager.swift @@ -1,7 +1,7 @@ // // NetworkReachabilityManager.swift // -// Copyright (c) 2014-2017 Alamofire Software Foundation (http://alamofire.org/) +// Copyright (c) 2014-2018 Alamofire Software Foundation (http://alamofire.org/) // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal @@ -33,7 +33,7 @@ import SystemConfiguration /// Reachability can be used to determine background information about why a network operation failed, or to retry /// network requests when a connection is established. It should not be used to prevent a user from initiating a network /// request, as it's possible that an initial request may be required to establish reachability. -public class NetworkReachabilityManager { +open class NetworkReachabilityManager { /// Defines the various states of network reachability. /// /// - unknown: It is unknown whether the network is reachable. @@ -61,27 +61,27 @@ public class NetworkReachabilityManager { // MARK: - Properties /// Whether the network is currently reachable. - public var isReachable: Bool { return isReachableOnWWAN || isReachableOnEthernetOrWiFi } + open var isReachable: Bool { return isReachableOnWWAN || isReachableOnEthernetOrWiFi } /// Whether the network is currently reachable over the WWAN interface. - public var isReachableOnWWAN: Bool { return networkReachabilityStatus == .reachable(.wwan) } + open var isReachableOnWWAN: Bool { return networkReachabilityStatus == .reachable(.wwan) } /// Whether the network is currently reachable over Ethernet or WiFi interface. - public var isReachableOnEthernetOrWiFi: Bool { return networkReachabilityStatus == .reachable(.ethernetOrWiFi) } + open var isReachableOnEthernetOrWiFi: Bool { return networkReachabilityStatus == .reachable(.ethernetOrWiFi) } /// The current network reachability status. - public var networkReachabilityStatus: NetworkReachabilityStatus { + open var networkReachabilityStatus: NetworkReachabilityStatus { guard let flags = self.flags else { return .unknown } return networkReachabilityStatusForFlags(flags) } /// The dispatch queue to execute the `listener` closure on. - public var listenerQueue: DispatchQueue = DispatchQueue.main + open var listenerQueue: DispatchQueue = DispatchQueue.main /// A closure executed when the network reachability status changes. - public var listener: Listener? + open var listener: Listener? - private var flags: SCNetworkReachabilityFlags? { + open var flags: SCNetworkReachabilityFlags? { var flags = SCNetworkReachabilityFlags() if SCNetworkReachabilityGetFlags(reachability, &flags) { @@ -92,7 +92,7 @@ public class NetworkReachabilityManager { } private let reachability: SCNetworkReachability - private var previousFlags: SCNetworkReachabilityFlags + open var previousFlags: SCNetworkReachabilityFlags // MARK: - Initialization @@ -141,7 +141,7 @@ public class NetworkReachabilityManager { /// /// - returns: `true` if listening was started successfully, `false` otherwise. @discardableResult - public func startListening() -> Bool { + open func startListening() -> Bool { var context = SCNetworkReachabilityContext(version: 0, info: nil, retain: nil, release: nil, copyDescription: nil) context.info = Unmanaged.passUnretained(self).toOpaque() @@ -165,7 +165,7 @@ public class NetworkReachabilityManager { } /// Stops listening for changes in network reachability status. - public func stopListening() { + open func stopListening() { SCNetworkReachabilitySetCallback(reachability, nil, nil) SCNetworkReachabilitySetDispatchQueue(reachability, nil) } diff --git a/News/Pods/Alamofire/Source/Notifications.swift b/News/Pods/Alamofire/Source/Notifications.swift index df41505d..e1b61204 100644 --- a/News/Pods/Alamofire/Source/Notifications.swift +++ b/News/Pods/Alamofire/Source/Notifications.swift @@ -1,7 +1,7 @@ // // Notifications.swift // -// Copyright (c) 2014-2017 Alamofire Software Foundation (http://alamofire.org/) +// Copyright (c) 2014-2018 Alamofire Software Foundation (http://alamofire.org/) // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal @@ -48,5 +48,8 @@ extension Notification { public struct Key { /// User info dictionary key representing the `URLSessionTask` associated with the notification. public static let Task = "org.alamofire.notification.key.task" + + /// User info dictionary key representing the responseData associated with the notification. + public static let ResponseData = "org.alamofire.notification.key.responseData" } } diff --git a/News/Pods/Alamofire/Source/ParameterEncoding.swift b/News/Pods/Alamofire/Source/ParameterEncoding.swift index dabb5622..4a54f2dd 100644 --- a/News/Pods/Alamofire/Source/ParameterEncoding.swift +++ b/News/Pods/Alamofire/Source/ParameterEncoding.swift @@ -1,7 +1,7 @@ // // ParameterEncoding.swift // -// Copyright (c) 2014-2017 Alamofire Software Foundation (http://alamofire.org/) +// Copyright (c) 2014-2018 Alamofire Software Foundation (http://alamofire.org/) // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal @@ -64,9 +64,15 @@ public protocol ParameterEncoding { /// the HTTP body depends on the destination of the encoding. /// /// The `Content-Type` HTTP header field of an encoded request with HTTP body is set to -/// `application/x-www-form-urlencoded; charset=utf-8`. Since there is no published specification for how to encode -/// collection types, the convention of appending `[]` to the key for array values (`foo[]=1&foo[]=2`), and appending -/// the key surrounded by square brackets for nested dictionary values (`foo[bar]=baz`). +/// `application/x-www-form-urlencoded; charset=utf-8`. +/// +/// There is no published specification for how to encode collection types. By default the convention of appending +/// `[]` to the key for array values (`foo[]=1&foo[]=2`), and appending the key surrounded by square brackets for +/// nested dictionary values (`foo[bar]=baz`) is used. Optionally, `ArrayEncoding` can be used to omit the +/// square brackets appended to array keys. +/// +/// `BoolEncoding` can be used to configure how boolean values are encoded. The default behavior is to encode +/// `true` as 1 and `false` as 0. public struct URLEncoding: ParameterEncoding { // MARK: Helper Types @@ -82,6 +88,41 @@ public struct URLEncoding: ParameterEncoding { case methodDependent, queryString, httpBody } + /// Configures how `Array` parameters are encoded. + /// + /// - brackets: An empty set of square brackets is appended to the key for every value. + /// This is the default behavior. + /// - noBrackets: No brackets are appended. The key is encoded as is. + public enum ArrayEncoding { + case brackets, noBrackets + + func encode(key: String) -> String { + switch self { + case .brackets: + return "\(key)[]" + case .noBrackets: + return key + } + } + } + + /// Configures how `Bool` parameters are encoded. + /// + /// - numeric: Encode `true` as `1` and `false` as `0`. This is the default behavior. + /// - literal: Encode `true` and `false` as string literals. + public enum BoolEncoding { + case numeric, literal + + func encode(value: Bool) -> String { + switch self { + case .numeric: + return value ? "1" : "0" + case .literal: + return value ? "true" : "false" + } + } + } + // MARK: Properties /// Returns a default `URLEncoding` instance. @@ -99,15 +140,25 @@ public struct URLEncoding: ParameterEncoding { /// The destination defining where the encoded query string is to be applied to the URL request. public let destination: Destination + /// The encoding to use for `Array` parameters. + public let arrayEncoding: ArrayEncoding + + /// The encoding to use for `Bool` parameters. + public let boolEncoding: BoolEncoding + // MARK: Initialization /// Creates a `URLEncoding` instance using the specified destination. /// /// - parameter destination: The destination defining where the encoded query string is to be applied. + /// - parameter arrayEncoding: The encoding to use for `Array` parameters. + /// - parameter boolEncoding: The encoding to use for `Bool` parameters. /// /// - returns: The new `URLEncoding` instance. - public init(destination: Destination = .methodDependent) { + public init(destination: Destination = .methodDependent, arrayEncoding: ArrayEncoding = .brackets, boolEncoding: BoolEncoding = .numeric) { self.destination = destination + self.arrayEncoding = arrayEncoding + self.boolEncoding = boolEncoding } // MARK: Encoding @@ -161,16 +212,16 @@ public struct URLEncoding: ParameterEncoding { } } else if let array = value as? [Any] { for value in array { - components += queryComponents(fromKey: "\(key)[]", value: value) + components += queryComponents(fromKey: arrayEncoding.encode(key: key), value: value) } } else if let value = value as? NSNumber { if value.isBool { - components.append((escape(key), escape((value.boolValue ? "1" : "0")))) + components.append((escape(key), escape(boolEncoding.encode(value: value.boolValue)))) } else { components.append((escape(key), escape("\(value)"))) } } else if let bool = value as? Bool { - components.append((escape(key), escape((bool ? "1" : "0")))) + components.append((escape(key), escape(boolEncoding.encode(value: bool)))) } else { components.append((escape(key), escape("\(value)"))) } diff --git a/News/Pods/Alamofire/Source/Request.swift b/News/Pods/Alamofire/Source/Request.swift index d93c52d1..94e7b6e4 100644 --- a/News/Pods/Alamofire/Source/Request.swift +++ b/News/Pods/Alamofire/Source/Request.swift @@ -1,7 +1,7 @@ // // Request.swift // -// Copyright (c) 2014-2017 Alamofire Software Foundation (http://alamofire.org/) +// Copyright (c) 2014-2018 Alamofire Software Foundation (http://alamofire.org/) // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal @@ -333,7 +333,8 @@ extension Request: CustomDebugStringConvertible { } for (field, value) in headers { - components.append("-H \"\(field): \(value)\"") + let escapedValue = String(describing: value).replacingOccurrences(of: "\"", with: "\\\"") + components.append("-H \"\(field): \(escapedValue)\"") } if let httpBodyData = request.httpBody, let httpBody = String(data: httpBodyData, encoding: .utf8) { diff --git a/News/Pods/Alamofire/Source/Response.swift b/News/Pods/Alamofire/Source/Response.swift index 814662ca..74b1ef54 100644 --- a/News/Pods/Alamofire/Source/Response.swift +++ b/News/Pods/Alamofire/Source/Response.swift @@ -1,7 +1,7 @@ // // Response.swift // -// Copyright (c) 2014-2017 Alamofire Software Foundation (http://alamofire.org/) +// Copyright (c) 2014-2018 Alamofire Software Foundation (http://alamofire.org/) // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/News/Pods/Alamofire/Source/ResponseSerialization.swift b/News/Pods/Alamofire/Source/ResponseSerialization.swift index 1f29ed85..3333726d 100644 --- a/News/Pods/Alamofire/Source/ResponseSerialization.swift +++ b/News/Pods/Alamofire/Source/ResponseSerialization.swift @@ -1,7 +1,7 @@ // // ResponseSerialization.swift // -// Copyright (c) 2014-2017 Alamofire Software Foundation (http://alamofire.org/) +// Copyright (c) 2014-2018 Alamofire Software Foundation (http://alamofire.org/) // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal @@ -368,13 +368,13 @@ extension Request { var convertedEncoding = encoding - if let encodingName = response?.textEncodingName as CFString!, convertedEncoding == nil { + if let encodingName = response?.textEncodingName as CFString?, convertedEncoding == nil { convertedEncoding = String.Encoding(rawValue: CFStringConvertEncodingToNSStringEncoding( CFStringConvertIANACharSetNameToEncoding(encodingName)) ) } - let actualEncoding = convertedEncoding ?? String.Encoding.isoLatin1 + let actualEncoding = convertedEncoding ?? .isoLatin1 if let string = String(data: validData, encoding: actualEncoding) { return .success(string) diff --git a/News/Pods/Alamofire/Source/Result.swift b/News/Pods/Alamofire/Source/Result.swift index bbd3c618..df62e12c 100644 --- a/News/Pods/Alamofire/Source/Result.swift +++ b/News/Pods/Alamofire/Source/Result.swift @@ -1,7 +1,7 @@ // // Result.swift // -// Copyright (c) 2014-2017 Alamofire Software Foundation (http://alamofire.org/) +// Copyright (c) 2014-2018 Alamofire Software Foundation (http://alamofire.org/) // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/News/Pods/Alamofire/Source/ServerTrustPolicy.swift b/News/Pods/Alamofire/Source/ServerTrustPolicy.swift index 1ad3530b..a644ad85 100644 --- a/News/Pods/Alamofire/Source/ServerTrustPolicy.swift +++ b/News/Pods/Alamofire/Source/ServerTrustPolicy.swift @@ -1,7 +1,7 @@ // // ServerTrustPolicy.swift // -// Copyright (c) 2014-2017 Alamofire Software Foundation (http://alamofire.org/) +// Copyright (c) 2014-2018 Alamofire Software Foundation (http://alamofire.org/) // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/News/Pods/Alamofire/Source/SessionDelegate.swift b/News/Pods/Alamofire/Source/SessionDelegate.swift index d38c253b..7e06b0eb 100644 --- a/News/Pods/Alamofire/Source/SessionDelegate.swift +++ b/News/Pods/Alamofire/Source/SessionDelegate.swift @@ -1,7 +1,7 @@ // // SessionDelegate.swift // -// Copyright (c) 2014-2017 Alamofire Software Foundation (http://alamofire.org/) +// Copyright (c) 2014-2018 Alamofire Software Foundation (http://alamofire.org/) // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal @@ -442,10 +442,16 @@ extension SessionDelegate: URLSessionTaskDelegate { strongSelf[task]?.delegate.urlSession(session, task: task, didCompleteWithError: error) + var userInfo: [String: Any] = [Notification.Key.Task: task] + + if let data = (strongSelf[task]?.delegate as? DataTaskDelegate)?.data { + userInfo[Notification.Key.ResponseData] = data + } + NotificationCenter.default.post( name: Notification.Name.Task.DidComplete, object: strongSelf, - userInfo: [Notification.Key.Task: task] + userInfo: userInfo ) strongSelf[task] = nil diff --git a/News/Pods/Alamofire/Source/SessionManager.swift b/News/Pods/Alamofire/Source/SessionManager.swift index 0ff677b7..321672ff 100644 --- a/News/Pods/Alamofire/Source/SessionManager.swift +++ b/News/Pods/Alamofire/Source/SessionManager.swift @@ -1,7 +1,7 @@ // // SessionManager.swift // -// Copyright (c) 2014-2017 Alamofire Software Foundation (http://alamofire.org/) +// Copyright (c) 2014-2018 Alamofire Software Foundation (http://alamofire.org/) // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/News/Pods/Alamofire/Source/TaskDelegate.swift b/News/Pods/Alamofire/Source/TaskDelegate.swift index 06077587..1d537eaa 100644 --- a/News/Pods/Alamofire/Source/TaskDelegate.swift +++ b/News/Pods/Alamofire/Source/TaskDelegate.swift @@ -1,7 +1,7 @@ // // TaskDelegate.swift // -// Copyright (c) 2014-2017 Alamofire Software Foundation (http://alamofire.org/) +// Copyright (c) 2014-2018 Alamofire Software Foundation (http://alamofire.org/) // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/News/Pods/Alamofire/Source/Timeline.swift b/News/Pods/Alamofire/Source/Timeline.swift index c5dabd14..181c9883 100644 --- a/News/Pods/Alamofire/Source/Timeline.swift +++ b/News/Pods/Alamofire/Source/Timeline.swift @@ -1,7 +1,7 @@ // // Timeline.swift // -// Copyright (c) 2014-2017 Alamofire Software Foundation (http://alamofire.org/) +// Copyright (c) 2014-2018 Alamofire Software Foundation (http://alamofire.org/) // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/News/Pods/Alamofire/Source/Validation.swift b/News/Pods/Alamofire/Source/Validation.swift index 989ac200..ec2c5c35 100644 --- a/News/Pods/Alamofire/Source/Validation.swift +++ b/News/Pods/Alamofire/Source/Validation.swift @@ -1,7 +1,7 @@ // // Validation.swift // -// Copyright (c) 2014-2017 Alamofire Software Foundation (http://alamofire.org/) +// Copyright (c) 2014-2018 Alamofire Software Foundation (http://alamofire.org/) // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/News/Pods/HandyJSON/README.md b/News/Pods/HandyJSON/README.md index 475f5abc..e0561b62 100644 --- a/News/Pods/HandyJSON/README.md +++ b/News/Pods/HandyJSON/README.md @@ -110,7 +110,7 @@ An overview of types supported can be found at file: [BasicTypes.swift](./HandyJ **To use with Swift 3.x using >= 1.8.0** -**To use with Swift 4.0 using == 4.0.0-beta.1** +**To use with Swift 4.0 using == 4.1.1** For Legacy Swift2.x support, take a look at the [swift2 branch](https://github.com/alibaba/HandyJSON/tree/master_for_swift_2x). @@ -119,7 +119,7 @@ For Legacy Swift2.x support, take a look at the [swift2 branch](https://github.c Add the following line to your `Podfile`: ``` -pod 'HandyJSON', '~> 1.8.0' +pod 'HandyJSON', '~> 4.1.1' ``` Then, run the following command: @@ -133,7 +133,7 @@ $ pod install You can add a dependency on `HandyJSON` by adding the following line to your `Cartfile`: ``` -github "alibaba/HandyJSON" ~> 1.8.0 +github "alibaba/HandyJSON" ~> 4.1.1 ``` ## Manually diff --git a/News/Pods/HandyJSON/Source/BuiltInBasicType.swift b/News/Pods/HandyJSON/Source/BuiltInBasicType.swift index 57d56cfe..47fa886c 100644 --- a/News/Pods/HandyJSON/Source/BuiltInBasicType.swift +++ b/News/Pods/HandyJSON/Source/BuiltInBasicType.swift @@ -113,6 +113,14 @@ extension FloatPropertyProtocol { extension Float: FloatPropertyProtocol {} extension Double: FloatPropertyProtocol {} +fileprivate let formatter: NumberFormatter = { + let formatter = NumberFormatter() + formatter.usesGroupingSeparator = false + formatter.numberStyle = .decimal + formatter.maximumFractionDigits = 16 + return formatter +}() + extension String: _BuiltInBasicType { static func _transform(from object: Any) -> String? { @@ -128,7 +136,7 @@ extension String: _BuiltInBasicType { return "false" } } - return num.stringValue + return formatter.string(from: num) case _ as NSNull: return nil default: diff --git a/News/Pods/HandyJSON/Source/HexColorTransform.swift b/News/Pods/HandyJSON/Source/HexColorTransform.swift index 21b0b60f..11fbc1d6 100644 --- a/News/Pods/HandyJSON/Source/HexColorTransform.swift +++ b/News/Pods/HandyJSON/Source/HexColorTransform.swift @@ -34,7 +34,7 @@ open class HexColorTransform: TransformType { open func transformFromJSON(_ value: Any?) -> Object? { if let rgba = value as? String { if rgba.hasPrefix("#") { - let index = rgba.characters.index(rgba.startIndex, offsetBy: 1) + let index = rgba.index(rgba.startIndex, offsetBy: 1) let hex = String(rgba[index...]) return getColor(hex: hex) } else { @@ -78,7 +78,7 @@ open class HexColorTransform: TransformType { let scanner = Scanner(string: hex) var hexValue: CUnsignedLongLong = 0 if scanner.scanHexInt64(&hexValue) { - switch (hex.characters.count) { + switch (hex.count) { case 3: red = CGFloat((hexValue & 0xF00) >> 8) / 15.0 green = CGFloat((hexValue & 0x0F0) >> 4) / 15.0 diff --git a/News/Pods/HandyJSON/Source/NominalType.swift b/News/Pods/HandyJSON/Source/NominalType.swift index 21da9e37..690d9b35 100644 --- a/News/Pods/HandyJSON/Source/NominalType.swift +++ b/News/Pods/HandyJSON/Source/NominalType.swift @@ -31,7 +31,7 @@ extension NominalType { // swift class created dynamically in objc-runtime didn't have valid nominalTypeDescriptor return nil } - #if swift(>=4.1) + #if swift(>=4.1) || (swift(>=3.3) && !swift(>=4.0)) return NominalTypeDescriptor(pointer: relativePointer(base: base, offset: base.pointee - base.hashValue)) #else return NominalTypeDescriptor(pointer: relativePointer(base: base, offset: base.pointee)) diff --git a/News/Pods/Kingfisher/LICENSE b/News/Pods/Kingfisher/LICENSE index 79da75d6..5023261a 100644 --- a/News/Pods/Kingfisher/LICENSE +++ b/News/Pods/Kingfisher/LICENSE @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2017 Wei Wang +Copyright (c) 2018 Wei Wang Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/News/Pods/Kingfisher/README.md b/News/Pods/Kingfisher/README.md index 434fa650..fa38fc18 100644 --- a/News/Pods/Kingfisher/README.md +++ b/News/Pods/Kingfisher/README.md @@ -39,6 +39,8 @@ imageView.kf.setImage(with: url) Kingfisher will download the image from `url`, send it to both the memory cache and the disk cache, and display it in `imageView`. When you use the same code later, the image will be retrieved from cache and shown immediately. +For more examples of using Kingfisher, take a look at the [Cheat Sheet](https://github.com/onevcat/Kingfisher/wiki/Cheat-Sheet). + ## Requirements - iOS 8.0+ / macOS 10.10+ / tvOS 9.0+ / watchOS 2.0+ diff --git a/News/Pods/Kingfisher/Sources/AnimatedImageView.swift b/News/Pods/Kingfisher/Sources/AnimatedImageView.swift index 7c40992e..58cfa15d 100755 --- a/News/Pods/Kingfisher/Sources/AnimatedImageView.swift +++ b/News/Pods/Kingfisher/Sources/AnimatedImageView.swift @@ -9,7 +9,7 @@ // // The MIT License (MIT) // -// Copyright (c) 2017 Reda Lemeden. +// Copyright (c) 2018 Reda Lemeden. // // 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 @@ -305,6 +305,7 @@ class Animator { fileprivate let maxTimeStep: TimeInterval = 1.0 fileprivate var frameCount = 0 fileprivate var currentFrameIndex = 0 + fileprivate var currentFrameIndexInBuffer = 0 fileprivate var currentPreloadIndex = 0 fileprivate var timeSinceLastFrameChange: TimeInterval = 0.0 fileprivate var needsPrescaling = true @@ -315,7 +316,7 @@ class Animator { private var loopCount = 0 var currentFrame: UIImage? { - return frame(at: currentFrameIndex) + return frame(at: currentFrameIndexInBuffer) } var isReachMaxRepeatCount: Bool { @@ -380,7 +381,7 @@ class Animator { let frameToProcess = min(frameCount, maxFrameCount) animatedFrames.reserveCapacity(frameToProcess) animatedFrames = (0.. AnimatedFrame { @@ -426,21 +427,24 @@ class Animator { */ func updateCurrentFrame(duration: CFTimeInterval) -> Bool { timeSinceLastFrameChange += min(maxTimeStep, duration) - guard let frameDuration = animatedFrames[safe: currentFrameIndex]?.duration, frameDuration <= timeSinceLastFrameChange else { + guard let frameDuration = animatedFrames[safe: currentFrameIndexInBuffer]?.duration, frameDuration <= timeSinceLastFrameChange else { return false } timeSinceLastFrameChange -= frameDuration - let lastFrameIndex = currentFrameIndex - currentFrameIndex += 1 - currentFrameIndex = currentFrameIndex % animatedFrames.count - + let lastFrameIndex = currentFrameIndexInBuffer + currentFrameIndexInBuffer += 1 + currentFrameIndexInBuffer = currentFrameIndexInBuffer % animatedFrames.count + if animatedFrames.count < frameCount { preloadFrameAsynchronously(at: lastFrameIndex) } - - if currentFrameIndex == 0 { + + currentFrameIndex += 1 + + if currentFrameIndex == frameCount { + currentFrameIndex = 0 currentRepeatCount += 1 delegate?.animator(self, didPlayAnimationLoops: currentRepeatCount) diff --git a/News/Pods/Kingfisher/Sources/Box.swift b/News/Pods/Kingfisher/Sources/Box.swift new file mode 100644 index 00000000..7714a68a --- /dev/null +++ b/News/Pods/Kingfisher/Sources/Box.swift @@ -0,0 +1,34 @@ +// +// Box.swift +// Kingfisher +// +// Created by Wei Wang on 2018/3/17. +// Copyright (c) 2018 Wei Wang +// +// 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 + +class Box { + let value: T + + init(_ value: T) { + self.value = value + } +} diff --git a/News/Pods/Kingfisher/Sources/CacheSerializer.swift b/News/Pods/Kingfisher/Sources/CacheSerializer.swift index 9d4ec7d8..c3b6a275 100644 --- a/News/Pods/Kingfisher/Sources/CacheSerializer.swift +++ b/News/Pods/Kingfisher/Sources/CacheSerializer.swift @@ -4,7 +4,7 @@ // // Created by Wei Wang on 2016/09/02. // -// Copyright (c) 2017 Wei Wang +// Copyright (c) 2018 Wei Wang // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/News/Pods/Kingfisher/Sources/Filter.swift b/News/Pods/Kingfisher/Sources/Filter.swift index b2f4504b..22a85b9a 100644 --- a/News/Pods/Kingfisher/Sources/Filter.swift +++ b/News/Pods/Kingfisher/Sources/Filter.swift @@ -4,7 +4,7 @@ // // Created by Wei Wang on 2016/08/31. // -// Copyright (c) 2017 Wei Wang +// Copyright (c) 2018 Wei Wang // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/News/Pods/Kingfisher/Sources/FormatIndicatedCacheSerializer.swift b/News/Pods/Kingfisher/Sources/FormatIndicatedCacheSerializer.swift index 9014e378..71f5856a 100644 --- a/News/Pods/Kingfisher/Sources/FormatIndicatedCacheSerializer.swift +++ b/News/Pods/Kingfisher/Sources/FormatIndicatedCacheSerializer.swift @@ -4,7 +4,7 @@ // // Created by Junyu Kuang on 5/28/17. // -// Copyright (c) 2017 Wei Wang +// Copyright (c) 2018 Wei Wang // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/News/Pods/Kingfisher/Sources/Image.swift b/News/Pods/Kingfisher/Sources/Image.swift index 76d1e3c0..c6286cb0 100755 --- a/News/Pods/Kingfisher/Sources/Image.swift +++ b/News/Pods/Kingfisher/Sources/Image.swift @@ -4,7 +4,7 @@ // // Created by Wei Wang on 16/1/6. // -// Copyright (c) 2017 Wei Wang +// Copyright (c) 2018 Wei Wang // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/News/Pods/Kingfisher/Sources/ImageCache.swift b/News/Pods/Kingfisher/Sources/ImageCache.swift index e2d59edb..a29fe82f 100755 --- a/News/Pods/Kingfisher/Sources/ImageCache.swift +++ b/News/Pods/Kingfisher/Sources/ImageCache.swift @@ -4,7 +4,7 @@ // // Created by Wei Wang on 15/4/6. // -// Copyright (c) 2017 Wei Wang +// Copyright (c) 2018 Wei Wang // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/News/Pods/Kingfisher/Sources/ImageDownloader.swift b/News/Pods/Kingfisher/Sources/ImageDownloader.swift index c8c67d2b..7ee7578a 100755 --- a/News/Pods/Kingfisher/Sources/ImageDownloader.swift +++ b/News/Pods/Kingfisher/Sources/ImageDownloader.swift @@ -4,7 +4,7 @@ // // Created by Wei Wang on 15/4/6. // -// Copyright (c) 2017 Wei Wang +// Copyright (c) 2018 Wei Wang // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal @@ -43,11 +43,11 @@ public struct RetrieveImageDownloadTask { /// Downloader by which this task is intialized. public private(set) weak var ownerDownloader: ImageDownloader? - /** - Cancel this download task. It will trigger the completion handler with an NSURLErrorCancelled error. - */ + + /// Cancel this download task. It will trigger the completion handler with an NSURLErrorCancelled error. + /// If you want to cancel all downloading tasks, call `cancelAll()` of `ImageDownloader` instance. public func cancel() { - ownerDownloader?.cancelDownloadingTask(self) + ownerDownloader?.cancel(self) } /// The original request URL of this download task. @@ -402,13 +402,42 @@ extension ImageDownloader { } } - func cancelDownloadingTask(_ task: RetrieveImageDownloadTask) { + private func cancelTaskImpl(_ task: RetrieveImageDownloadTask, fetchLoad: ImageFetchLoad? = nil, ignoreTaskCount: Bool = false) { + + func getFetchLoad(from task: RetrieveImageDownloadTask) -> ImageFetchLoad? { + guard let URL = task.internalTask.originalRequest?.url, + let imageFetchLoad = self.fetchLoads[URL] else + { + return nil + } + return imageFetchLoad + } + + guard let imageFetchLoad = fetchLoad ?? getFetchLoad(from: task) else { + return + } + + imageFetchLoad.downloadTaskCount -= 1 + if ignoreTaskCount || imageFetchLoad.downloadTaskCount == 0 { + task.internalTask.cancel() + } + } + + func cancel(_ task: RetrieveImageDownloadTask) { + barrierQueue.sync(flags: .barrier) { cancelTaskImpl(task) } + } + + /// Cancel all downloading tasks. It will trigger the completion handlers for all not-yet-finished + /// downloading tasks with an NSURLErrorCancelled error. + /// + /// If you need to only cancel a certain task, call `cancel()` on the `RetrieveImageDownloadTask` + /// returned by the downloading methods. + public func cancelAll() { barrierQueue.sync(flags: .barrier) { - if let URL = task.internalTask.originalRequest?.url, let imageFetchLoad = self.fetchLoads[URL] { - imageFetchLoad.downloadTaskCount -= 1 - if imageFetchLoad.downloadTaskCount == 0 { - task.internalTask.cancel() - } + fetchLoads.forEach { v in + let fetchLoad = v.value + guard let task = fetchLoad.downloadTask else { return } + cancelTaskImpl(task, fetchLoad: fetchLoad, ignoreTaskCount: true) } } } diff --git a/News/Pods/Kingfisher/Sources/ImageModifier.swift b/News/Pods/Kingfisher/Sources/ImageModifier.swift index 73de0e23..bb50211e 100644 --- a/News/Pods/Kingfisher/Sources/ImageModifier.swift +++ b/News/Pods/Kingfisher/Sources/ImageModifier.swift @@ -4,7 +4,7 @@ // // Created by Ethan Gill on 2017/11/28. // -// Copyright (c) 2017 Ethan Gill +// Copyright (c) 2018 Ethan Gill // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/News/Pods/Kingfisher/Sources/ImagePrefetcher.swift b/News/Pods/Kingfisher/Sources/ImagePrefetcher.swift index e299f516..5c450142 100755 --- a/News/Pods/Kingfisher/Sources/ImagePrefetcher.swift +++ b/News/Pods/Kingfisher/Sources/ImagePrefetcher.swift @@ -4,7 +4,7 @@ // // Created by Claire Knight on 24/02/2016 // -// Copyright (c) 2017 Wei Wang +// Copyright (c) 2018 Wei Wang // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal @@ -204,9 +204,7 @@ public class ImagePrefetcher { self.handleComplete() } } else { - DispatchQueue.main.async { - self.reportCompletionOrStartNext() - } + self.reportCompletionOrStartNext() } } @@ -250,11 +248,13 @@ public class ImagePrefetcher { } func reportCompletionOrStartNext() { - if let resource = pendingResources.popFirst() { - startPrefetching(resource) - } else { - guard tasks.isEmpty else { return } - handleComplete() + DispatchQueue.main.async { + if let resource = self.pendingResources.popFirst() { + self.startPrefetching(resource) + } else { + guard self.tasks.isEmpty else { return } + self.handleComplete() + } } } diff --git a/News/Pods/Kingfisher/Sources/ImageProcessor.swift b/News/Pods/Kingfisher/Sources/ImageProcessor.swift index fcb44ac1..3e1458e1 100644 --- a/News/Pods/Kingfisher/Sources/ImageProcessor.swift +++ b/News/Pods/Kingfisher/Sources/ImageProcessor.swift @@ -4,7 +4,7 @@ // // Created by Wei Wang on 2016/08/26. // -// Copyright (c) 2017 Wei Wang +// Copyright (c) 2018 Wei Wang // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/News/Pods/Kingfisher/Sources/ImageTransition.swift b/News/Pods/Kingfisher/Sources/ImageTransition.swift index 8ce42e8a..413c2c54 100755 --- a/News/Pods/Kingfisher/Sources/ImageTransition.swift +++ b/News/Pods/Kingfisher/Sources/ImageTransition.swift @@ -4,7 +4,7 @@ // // Created by Wei Wang on 15/9/18. // -// Copyright (c) 2017 Wei Wang +// Copyright (c) 2018 Wei Wang // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/News/Pods/Kingfisher/Sources/ImageView+Kingfisher.swift b/News/Pods/Kingfisher/Sources/ImageView+Kingfisher.swift index 0106151d..cb230fbf 100755 --- a/News/Pods/Kingfisher/Sources/ImageView+Kingfisher.swift +++ b/News/Pods/Kingfisher/Sources/ImageView+Kingfisher.swift @@ -4,7 +4,7 @@ // // Created by Wei Wang on 15/4/6. // -// Copyright (c) 2017 Wei Wang +// Copyright (c) 2018 Wei Wang // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal @@ -198,7 +198,10 @@ extension Kingfisher where Base: ImageView { /// It will be `nil` if `indicatorType` is `.none`. public fileprivate(set) var indicator: Indicator? { get { - return objc_getAssociatedObject(base, &indicatorKey) as? Indicator + guard let box = objc_getAssociatedObject(base, &indicatorKey) as? Box else { + return nil + } + return box.value } set { @@ -219,7 +222,9 @@ extension Kingfisher where Base: ImageView { } // Save in associated object - objc_setAssociatedObject(base, &indicatorKey, newValue, .OBJC_ASSOCIATION_RETAIN_NONATOMIC) + // Wrap newValue with Box to workaround an issue that Swift does not recognize + // and casting protocol for associate object correctly. https://github.com/onevcat/Kingfisher/issues/872 + objc_setAssociatedObject(base, &indicatorKey, newValue.map(Box.init), .OBJC_ASSOCIATION_RETAIN_NONATOMIC) } } diff --git a/News/Pods/Kingfisher/Sources/Indicator.swift b/News/Pods/Kingfisher/Sources/Indicator.swift index 66b149d0..e67c96fa 100644 --- a/News/Pods/Kingfisher/Sources/Indicator.swift +++ b/News/Pods/Kingfisher/Sources/Indicator.swift @@ -4,7 +4,7 @@ // // Created by João D. Moreira on 30/08/16. // -// Copyright (c) 2017 Wei Wang +// Copyright (c) 2018 Wei Wang // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/News/Pods/Kingfisher/Sources/Kingfisher.h b/News/Pods/Kingfisher/Sources/Kingfisher.h index aed591db..0e11d430 100644 --- a/News/Pods/Kingfisher/Sources/Kingfisher.h +++ b/News/Pods/Kingfisher/Sources/Kingfisher.h @@ -4,7 +4,7 @@ // // Created by Wei Wang on 15/4/6. // -// Copyright (c) 2017 Wei Wang +// Copyright (c) 2018 Wei Wang // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/News/Pods/Kingfisher/Sources/Kingfisher.swift b/News/Pods/Kingfisher/Sources/Kingfisher.swift index c97818e8..75450db1 100644 --- a/News/Pods/Kingfisher/Sources/Kingfisher.swift +++ b/News/Pods/Kingfisher/Sources/Kingfisher.swift @@ -4,7 +4,7 @@ // // Created by Wei Wang on 16/9/14. // -// Copyright (c) 2017 Wei Wang +// Copyright (c) 2018 Wei Wang // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/News/Pods/Kingfisher/Sources/KingfisherManager.swift b/News/Pods/Kingfisher/Sources/KingfisherManager.swift index 471b417a..1f8a8f40 100755 --- a/News/Pods/Kingfisher/Sources/KingfisherManager.swift +++ b/News/Pods/Kingfisher/Sources/KingfisherManager.swift @@ -4,7 +4,7 @@ // // Created by Wei Wang on 15/4/6. // -// Copyright (c) 2017 Wei Wang +// Copyright (c) 2018 Wei Wang // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/News/Pods/Kingfisher/Sources/KingfisherOptionsInfo.swift b/News/Pods/Kingfisher/Sources/KingfisherOptionsInfo.swift index 133a5dd5..ebe4b316 100755 --- a/News/Pods/Kingfisher/Sources/KingfisherOptionsInfo.swift +++ b/News/Pods/Kingfisher/Sources/KingfisherOptionsInfo.swift @@ -4,7 +4,7 @@ // // Created by Wei Wang on 15/4/23. // -// Copyright (c) 2017 Wei Wang +// Copyright (c) 2018 Wei Wang // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/News/Pods/Kingfisher/Sources/Placeholder.swift b/News/Pods/Kingfisher/Sources/Placeholder.swift index b6076b5b..3ebaf0b1 100755 --- a/News/Pods/Kingfisher/Sources/Placeholder.swift +++ b/News/Pods/Kingfisher/Sources/Placeholder.swift @@ -4,7 +4,7 @@ // // Created by Tieme van Veen on 28/08/2017. // -// Copyright (c) 2017 Wei Wang +// Copyright (c) 2018 Wei Wang // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/News/Pods/Kingfisher/Sources/RequestModifier.swift b/News/Pods/Kingfisher/Sources/RequestModifier.swift index 13d655ad..1e099bf1 100644 --- a/News/Pods/Kingfisher/Sources/RequestModifier.swift +++ b/News/Pods/Kingfisher/Sources/RequestModifier.swift @@ -4,7 +4,7 @@ // // Created by Wei Wang on 2016/09/05. // -// Copyright (c) 2017 Wei Wang +// Copyright (c) 2018 Wei Wang // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/News/Pods/Kingfisher/Sources/Resource.swift b/News/Pods/Kingfisher/Sources/Resource.swift index c95691a7..c71f24d6 100755 --- a/News/Pods/Kingfisher/Sources/Resource.swift +++ b/News/Pods/Kingfisher/Sources/Resource.swift @@ -4,7 +4,7 @@ // // Created by Wei Wang on 15/4/6. // -// Copyright (c) 2017 Wei Wang +// Copyright (c) 2018 Wei Wang // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/News/Pods/Kingfisher/Sources/String+MD5.swift b/News/Pods/Kingfisher/Sources/String+MD5.swift index 5563fa13..e07168c2 100755 --- a/News/Pods/Kingfisher/Sources/String+MD5.swift +++ b/News/Pods/Kingfisher/Sources/String+MD5.swift @@ -74,8 +74,13 @@ func arrayOfBytes(_ value: T, length: Int? = nil) -> [UInt8] { return bytes } + #if swift(>=4.1) + valuePointer.deinitialize(count: 1) + valuePointer.deallocate() + #else valuePointer.deinitialize() valuePointer.deallocate(capacity: 1) + #endif return bytes } diff --git a/News/Pods/Kingfisher/Sources/ThreadHelper.swift b/News/Pods/Kingfisher/Sources/ThreadHelper.swift index f0742cdc..a737b6e3 100755 --- a/News/Pods/Kingfisher/Sources/ThreadHelper.swift +++ b/News/Pods/Kingfisher/Sources/ThreadHelper.swift @@ -4,7 +4,7 @@ // // Created by Wei Wang on 15/10/9. // -// Copyright (c) 2017 Wei Wang +// Copyright (c) 2018 Wei Wang // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/News/Pods/Kingfisher/Sources/UIButton+Kingfisher.swift b/News/Pods/Kingfisher/Sources/UIButton+Kingfisher.swift index c9a5e0e1..a06bb119 100755 --- a/News/Pods/Kingfisher/Sources/UIButton+Kingfisher.swift +++ b/News/Pods/Kingfisher/Sources/UIButton+Kingfisher.swift @@ -4,7 +4,7 @@ // // Created by Wei Wang on 15/4/13. // -// Copyright (c) 2017 Wei Wang +// Copyright (c) 2018 Wei Wang // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/News/Pods/MJRefresh/MJRefresh/Base/MJRefreshAutoFooter.h b/News/Pods/MJRefresh/MJRefresh/Base/MJRefreshAutoFooter.h index 82a02497..71ea4782 100644 --- a/News/Pods/MJRefresh/MJRefresh/Base/MJRefreshAutoFooter.h +++ b/News/Pods/MJRefresh/MJRefresh/Base/MJRefreshAutoFooter.h @@ -17,4 +17,7 @@ /** 当底部控件出现多少时就自动刷新(默认为1.0,也就是底部控件完全出现时,才会自动刷新) */ @property (assign, nonatomic) CGFloat triggerAutomaticallyRefreshPercent; + +/** 是否每一次拖拽只发一次请求 */ +@property (assign, nonatomic, getter=isOnlyRefreshPerDrag) BOOL onlyRefreshPerDrag; @end diff --git a/News/Pods/MJRefresh/MJRefresh/Base/MJRefreshAutoFooter.m b/News/Pods/MJRefresh/MJRefresh/Base/MJRefreshAutoFooter.m index 7327096b..207df047 100644 --- a/News/Pods/MJRefresh/MJRefresh/Base/MJRefreshAutoFooter.m +++ b/News/Pods/MJRefresh/MJRefresh/Base/MJRefreshAutoFooter.m @@ -9,6 +9,8 @@ #import "MJRefreshAutoFooter.h" @interface MJRefreshAutoFooter() +/** 一个新的拖拽 */ +@property (assign, nonatomic, getter=isOneNewPan) BOOL oneNewPan; @end @implementation MJRefreshAutoFooter @@ -53,6 +55,9 @@ - (void)prepare // 设置为默认状态 self.automaticallyRefresh = YES; + + // 默认是当offset达到条件就发送请求(可连续) + self.onlyRefreshPerDrag = NO; } - (void)scrollViewContentSizeDidChange:(NSDictionary *)change @@ -89,7 +94,8 @@ - (void)scrollViewPanStateDidChange:(NSDictionary *)change if (self.state != MJRefreshStateIdle) return; - if (_scrollView.panGestureRecognizer.state == UIGestureRecognizerStateEnded) {// 手松开 + UIGestureRecognizerState panState = _scrollView.panGestureRecognizer.state; + if (panState == UIGestureRecognizerStateEnded) {// 手松开 if (_scrollView.mj_insetT + _scrollView.mj_contentH <= _scrollView.mj_h) { // 不够一个屏幕 if (_scrollView.mj_offsetY >= - _scrollView.mj_insetT) { // 向上拽 [self beginRefreshing]; @@ -99,17 +105,26 @@ - (void)scrollViewPanStateDidChange:(NSDictionary *)change [self beginRefreshing]; } } + } else if (panState == UIGestureRecognizerStateBegan) { + self.oneNewPan = YES; } } +- (void)beginRefreshing +{ + if (!self.isOneNewPan && self.isOnlyRefreshPerDrag) return; + + [super beginRefreshing]; + + self.oneNewPan = NO; +} + - (void)setState:(MJRefreshState)state { MJRefreshCheckState if (state == MJRefreshStateRefreshing) { - dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ - [self executeRefreshingCallback]; - }); + [self executeRefreshingCallback]; } else if (state == MJRefreshStateNoMoreData || state == MJRefreshStateIdle) { if (MJRefreshStateRefreshing == oldState) { if (self.endRefreshingCompletionBlock) { diff --git a/News/Pods/MJRefresh/MJRefresh/UIScrollView+MJExtension.m b/News/Pods/MJRefresh/MJRefresh/UIScrollView+MJExtension.m index c1fd9cc8..045c1b3b 100644 --- a/News/Pods/MJRefresh/MJRefresh/UIScrollView+MJExtension.m +++ b/News/Pods/MJRefresh/MJRefresh/UIScrollView+MJExtension.m @@ -10,17 +10,22 @@ #import "UIScrollView+MJExtension.h" #import -#define SYSTEM_VERSION_GREATER_NOT_LESS_THAN(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending) - #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wunguarded-availability-new" @implementation UIScrollView (MJExtension) +static BOOL gt_ios_11_; ++ (void)load +{ + // 缓存判断值 + gt_ios_11_ = [[[UIDevice currentDevice] systemVersion] compare:@"11.0" options:NSNumericSearch] != NSOrderedAscending; +} + - (UIEdgeInsets)mj_inset { #ifdef __IPHONE_11_0 - if (SYSTEM_VERSION_GREATER_NOT_LESS_THAN(@"11.0")) { + if (gt_ios_11_) { return self.adjustedContentInset; } #endif @@ -32,7 +37,7 @@ - (void)setMj_insetT:(CGFloat)mj_insetT UIEdgeInsets inset = self.contentInset; inset.top = mj_insetT; #ifdef __IPHONE_11_0 - if (SYSTEM_VERSION_GREATER_NOT_LESS_THAN(@"11.0")) { + if (gt_ios_11_) { inset.top -= (self.adjustedContentInset.top - self.contentInset.top); } #endif @@ -49,7 +54,7 @@ - (void)setMj_insetB:(CGFloat)mj_insetB UIEdgeInsets inset = self.contentInset; inset.bottom = mj_insetB; #ifdef __IPHONE_11_0 - if (SYSTEM_VERSION_GREATER_NOT_LESS_THAN(@"11.0")) { + if (gt_ios_11_) { inset.bottom -= (self.adjustedContentInset.bottom - self.contentInset.bottom); } #endif @@ -66,7 +71,7 @@ - (void)setMj_insetL:(CGFloat)mj_insetL UIEdgeInsets inset = self.contentInset; inset.left = mj_insetL; #ifdef __IPHONE_11_0 - if (SYSTEM_VERSION_GREATER_NOT_LESS_THAN(@"11.0")) { + if (gt_ios_11_) { inset.left -= (self.adjustedContentInset.left - self.contentInset.left); } #endif @@ -83,7 +88,7 @@ - (void)setMj_insetR:(CGFloat)mj_insetR UIEdgeInsets inset = self.contentInset; inset.right = mj_insetR; #ifdef __IPHONE_11_0 - if (SYSTEM_VERSION_GREATER_NOT_LESS_THAN(@"11.0")) { + if (gt_ios_11_) { inset.right -= (self.adjustedContentInset.right - self.contentInset.right); } #endif diff --git a/News/Pods/Manifest.lock b/News/Pods/Manifest.lock index 257731ab..4edcf795 100644 --- a/News/Pods/Manifest.lock +++ b/News/Pods/Manifest.lock @@ -1,5 +1,5 @@ PODS: - - Alamofire (4.6.0) + - Alamofire (4.7.1) - BMPlayer (1.0.1): - BMPlayer/Full (= 1.0.1) - BMPlayer/Core (1.0.1) @@ -8,23 +8,23 @@ PODS: - NVActivityIndicatorView (~> 4.0.0) - SnapKit (~> 4.0.0) - FDFullscreenPopGesture (1.1) - - HandyJSON (4.0.0-beta.1) + - HandyJSON (4.1.1) - IBAnimatable (5.0.0) - - Kingfisher (4.6.1) - - lottie-ios (2.1.5) - - MJRefresh (3.1.15.1) + - Kingfisher (4.7.0) + - lottie-ios (2.5.0) + - MJRefresh (3.1.15.3) - NVActivityIndicatorView (4.0.1): - NVActivityIndicatorView/Presenter (= 4.0.1) - NVActivityIndicatorView/Presenter (4.0.1) - - RxCocoa (4.1.1): + - RxCocoa (4.1.2): - RxSwift (~> 4.0) - - RxSwift (4.1.1) - - SGPagingView (1.3.5) + - RxSwift (4.1.2) + - SGPagingView (1.3.6) - SnapKit (4.0.0) - SQLite.swift (0.11.4): - SQLite.swift/standard (= 0.11.4) - SQLite.swift/standard (0.11.4) - - SVProgressHUD (2.2.2) + - SVProgressHUD (2.2.5) - SwiftTheme (0.4.1) - SwiftyJSON (4.0.0) @@ -32,7 +32,7 @@ DEPENDENCIES: - Alamofire - BMPlayer - FDFullscreenPopGesture - - HandyJSON (~> 4.0.0-beta.1) + - HandyJSON (~> 4.1.1) - IBAnimatable - Kingfisher - lottie-ios @@ -46,24 +46,24 @@ DEPENDENCIES: - SwiftyJSON SPEC CHECKSUMS: - Alamofire: f41a599bd63041760b26d393ec1069d9d7b917f4 + Alamofire: 68d7d521118d49c615a8d2214d87cdf525599d30 BMPlayer: 44eebf06eb01450dd14ea74b27d07c5222f0eed1 FDFullscreenPopGesture: a8a620179e3d9c40e8e00256dcee1c1a27c6d0f0 - HandyJSON: 428bb18e2c34c2a77361accebf90cf64e4f74118 + HandyJSON: 3a3de917c4118767ffe41c29b5acba23409649f4 IBAnimatable: aa2286a9cf8fb4ae2e1be85c5287ae56143b024f - Kingfisher: 1f9157d9c02b380cbd0b7cc890161195164eb634 - lottie-ios: 836cdbba92f62f3c6a00e37a4ce485321fe317cf - MJRefresh: 5f8552bc25ca8751c010f621c1098dbdaacbccd6 + Kingfisher: da6b005aa96d37698e3e4f1ccfe96a5b9bbf27d6 + lottie-ios: d699fdee68d7b63e721d949388b015fef1aaa4ac + MJRefresh: b48380ae2b927b46c4ef000de9adb8dc748e1df7 NVActivityIndicatorView: 77ed6d7b571643e24899e7858bf9ae2ee4c21f31 - RxCocoa: fd0862fd2df95fa55562ad28ffd2522c25eb4a85 - RxSwift: c6e3b1c7b325c7d121cd4327e9d98b7ed746b570 - SGPagingView: b001e3c761386ac6f33be9ff073bcf250b394874 + RxCocoa: d88ba0f1f6abf040011a9eb4b539324fc426843a + RxSwift: e49536837d9901277638493ea537394d4b55f570 + SGPagingView: 4e9204cc62e4b63b269fbf48b4e8c9333adcd071 SnapKit: a42d492c16e80209130a3379f73596c3454b7694 SQLite.swift: 3e3bee21da701b5b9f87c4a672cb54f233505692 - SVProgressHUD: 59b2d3dabacbd051576d21d32293ca7228dc18b0 + SVProgressHUD: 1428aafac632c1f86f62aa4243ec12008d7a51d6 SwiftTheme: 36d71c4eed4b2c401c782cf036e4586c749a8173 SwiftyJSON: 070dabdcb1beb81b247c65ffa3a79dbbfb3b48aa -PODFILE CHECKSUM: 64ae2a22acd8a7d014ecc833c553f61e4bdd7185 +PODFILE CHECKSUM: efac193b2b9675dbb674415cb571da4c2e67f8cf -COCOAPODS: 1.3.1 +COCOAPODS: 1.4.0 diff --git a/News/Pods/Pods.xcodeproj/project.pbxproj b/News/Pods/Pods.xcodeproj/project.pbxproj index f4bff11a..a586e901 100644 --- a/News/Pods/Pods.xcodeproj/project.pbxproj +++ b/News/Pods/Pods.xcodeproj/project.pbxproj @@ -7,866 +7,880 @@ objects = { /* Begin PBXBuildFile section */ - 002BF5D301FE5BE051F64E7B485D1B00 /* UICollectionView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 975547BDB8D96ADE2D28FD4072CF4E7F /* UICollectionView+Rx.swift */; }; - 0047720EB7F5CEFAFBB82F52B0E9C14C /* RxTabBarControllerDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 939BDAE09B14603EB43B3AA67A490066 /* RxTabBarControllerDelegateProxy.swift */; }; - 0055EFBAB8E316F420C32FBB91047E87 /* NVActivityIndicatorAnimationLineScalePulseOut.swift in Sources */ = {isa = PBXBuildFile; fileRef = 855763F935A0CF731CAEB100ABD1EA0C /* NVActivityIndicatorAnimationLineScalePulseOut.swift */; }; - 00A561648C57088AB951D42B7739DA5B /* ActivityIndicatorAnimationSemiCircleSpin.swift in Sources */ = {isa = PBXBuildFile; fileRef = 490E7A7E6E8C953995635D555462FDDF /* ActivityIndicatorAnimationSemiCircleSpin.swift */; }; - 00DB2C19BF88C0B7C32DE7E992EFCD47 /* Statement.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E3DBB03DC2FD2A57DA6B443968FD381 /* Statement.swift */; }; - 01E2BB31FE13C0A596B9F4EA164B9BF0 /* UISearchController+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C20B6AD13FECFD31CD266BD1BC496C4 /* UISearchController+Rx.swift */; }; - 021D6C85E81A69A6BCAE70C21436EA3E /* BuiltInBasicType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4156FD87E027B3E933D077FFEF82422C /* BuiltInBasicType.swift */; }; - 023324C398EB2E472571B8508547E175 /* Producer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 97670459E9DFB20904A35F7E1F069F1B /* Producer.swift */; }; - 02B3EE00639FF8B6565F4F95923D119B /* LOTAnimationView_Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 7111860DD463939B4D2B036339267998 /* LOTAnimationView_Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 02D3A06037603557B0DC297D152A5A2F /* DataTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8383879EDAC4DB4260E546371357F5D /* DataTransform.swift */; }; - 035451EC8D0CF6A73D93AE9ED728139C /* LOTShapeRectangle.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B35A17D547D38DF6F81BDD7BADD2B0B /* LOTShapeRectangle.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 03781D2A3A71180078B66012A3D16BD8 /* LOTComposition.m in Sources */ = {isa = PBXBuildFile; fileRef = A966FF5A357A608E54DC561E485A1743 /* LOTComposition.m */; }; - 0439094C4F4EDBC4922BE4FF4673C92E /* BehaviorRelay.swift in Sources */ = {isa = PBXBuildFile; fileRef = 396F75833DD78440A2BD8887E9580436 /* BehaviorRelay.swift */; }; - 047C4D945343F46AFF1273DE29F8A290 /* ImageView+Kingfisher.swift in Sources */ = {isa = PBXBuildFile; fileRef = A0B6434494D90B07C16E64B05DA0514C /* ImageView+Kingfisher.swift */; }; + 002F27B83A2647B53B60D6CF6A6CDFD3 /* LOTKeyframe.m in Sources */ = {isa = PBXBuildFile; fileRef = 0873D918FC28C38DA186B6731642D4DC /* LOTKeyframe.m */; }; + 0055EFBAB8E316F420C32FBB91047E87 /* NVActivityIndicatorAnimationLineScalePulseOut.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7D00B074B676C8E67D364B74F5A607F /* NVActivityIndicatorAnimationLineScalePulseOut.swift */; }; + 0096C6816AC3D92834AB65C49518C177 /* ImageView+Kingfisher.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8491638D221CA46DADADC2520D74D95 /* ImageView+Kingfisher.swift */; }; + 00A561648C57088AB951D42B7739DA5B /* ActivityIndicatorAnimationSemiCircleSpin.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8DF20C59F654534E595AD84A0C644F16 /* ActivityIndicatorAnimationSemiCircleSpin.swift */; }; + 00A56849FE50A9E1C5C4E28BD9BE5263 /* UIActivityIndicatorView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE50B6C4290B2D5897AF9636CC0F7DDA /* UIActivityIndicatorView+Rx.swift */; }; + 00DB2C19BF88C0B7C32DE7E992EFCD47 /* Statement.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7DEC5DC1E2C7C61003E96718524415A7 /* Statement.swift */; }; + 017B054EAA54B0781C899ADB46BF48A2 /* RecursiveLock.swift in Sources */ = {isa = PBXBuildFile; fileRef = E034BBDFE7DE02CEA5B58C3FC2EDBF99 /* RecursiveLock.swift */; }; + 021D6C85E81A69A6BCAE70C21436EA3E /* BuiltInBasicType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CBAAEE6A7AB4408C7EC85281D751F50 /* BuiltInBasicType.swift */; }; + 02B1A8D30DF83D01CCBA1F75DA997C4F /* SynchronizedOnType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 258A91D2958638FE967E1286F561FD6D /* SynchronizedOnType.swift */; }; + 02D3A06037603557B0DC297D152A5A2F /* DataTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = A131E6D890E33AFC4C124300457606A8 /* DataTransform.swift */; }; + 03E0A134F1DDF33EA16F004F1A230CA1 /* FormatIndicatedCacheSerializer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9AD31AE7EB118AC4EFF6AF68994115CF /* FormatIndicatedCacheSerializer.swift */; }; 048E7AD9584BE49AB221948FA0C0D5EC /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A30CB0D659F22DAD584691CF85EEE3C5 /* QuartzCore.framework */; }; - 0561B0EA4EEC6F13AB375D71A07776B0 /* SwiftTheme-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 81DD2E35494B127C5FDBEE06E4808AD8 /* SwiftTheme-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0564D554B9FAA81ABCA512F534FB9C05 /* LOTArrayInterpolator.m in Sources */ = {isa = PBXBuildFile; fileRef = 650C44A85769DCC3DA68ECFE1F390F20 /* LOTArrayInterpolator.m */; }; - 05AE13A5446782A150DF1DC2F6740329 /* RecursiveScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8EB6D464697C64BAFFBADA07BF7123BA /* RecursiveScheduler.swift */; }; - 06235C169E3D8F14074B46FC75C24360 /* SGPageContentScrollView.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D34B1C9BC775313499256BDC5AF99B2 /* SGPageContentScrollView.m */; }; - 07159A933B3C47A02FE2B2744ABAAC89 /* MJRefreshStateHeader.m in Sources */ = {isa = PBXBuildFile; fileRef = BCD4ABEE89BECAC34779DB4870B85803 /* MJRefreshStateHeader.m */; }; - 076F923B9297B01FA1ED088A9566DDAE /* DistinctUntilChanged.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F7B15358A6A5A05D801B2BBE80DE087 /* DistinctUntilChanged.swift */; }; + 050FAE9B242F64072741D502BE358065 /* DefaultIfEmpty.swift in Sources */ = {isa = PBXBuildFile; fileRef = 579E6B368FBF8EE3FE5CA9A4281FDA4C /* DefaultIfEmpty.swift */; }; + 0561B0EA4EEC6F13AB375D71A07776B0 /* SwiftTheme-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 3CE8935D811FD62C8FA1CF6256AF37BA /* SwiftTheme-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 05F6602182FB29B045715C0BD99A93B6 /* ConnectableObservableType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A89E26253C0892218B4CF62CD853131 /* ConnectableObservableType.swift */; }; + 06235C169E3D8F14074B46FC75C24360 /* SGPageContentScrollView.m in Sources */ = {isa = PBXBuildFile; fileRef = B9869DBCD1EE81144646357A8BCB763D /* SGPageContentScrollView.m */; }; + 062C1FC74BAFFC34232B79C71AA01C32 /* LOTAnimatorNode.h in Headers */ = {isa = PBXBuildFile; fileRef = B7AAB2720C1E80E869F58A8C2A6B4EF5 /* LOTAnimatorNode.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 06CD0DEA855D181BC470D41FDD0FC24A /* Platform.Darwin.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E335372A697A443893A255691E26A43 /* Platform.Darwin.swift */; }; + 07159A933B3C47A02FE2B2744ABAAC89 /* MJRefreshStateHeader.m in Sources */ = {isa = PBXBuildFile; fileRef = 6AF24E615320E73ABD5F76ECD64C9CE6 /* MJRefreshStateHeader.m */; }; + 0736E8EFFE0953BF427D7947E1A18A0C /* LOTPathInterpolator.h in Headers */ = {isa = PBXBuildFile; fileRef = 0583D968A57FDB5C589049A6953402C8 /* LOTPathInterpolator.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0878328AFCF26061F2D6337BD8655736 /* LOTTransformInterpolator.h in Headers */ = {isa = PBXBuildFile; fileRef = A757CFB83E86528A10326485AA25BF6C /* LOTTransformInterpolator.h */; settings = {ATTRIBUTES = (Project, ); }; }; 0888303F8C99E00C15D659DE830FF080 /* SnapKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2ED90AAF9B72D43DDC3BEC1B96C18CC2 /* SnapKit.framework */; }; - 09A0DDE1726C527699A0C0F53482505B /* AnimatedImageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7DE4CD975C2B28EEC3FEC3879E0DFEB /* AnimatedImageView.swift */; }; - 09AD2AAB36BDC6F7A0CD0D7B3924F96D /* DateAndTimeFunctions.swift in Sources */ = {isa = PBXBuildFile; fileRef = DA0D618A4FC401F6AA7C474803ED3AD1 /* DateAndTimeFunctions.swift */; }; - 0A1BD30AD9DDAB732D93AD60DA3B3BA1 /* BuiltInBridgeType.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5F6D72E418A50740D0AEA0D76E1AD70 /* BuiltInBridgeType.swift */; }; - 0A1E34B4A27DCD62A914F3B028A07E6C /* UIView+MJExtension.m in Sources */ = {isa = PBXBuildFile; fileRef = 7341C47DB244C2DFD49E11E8136F4808 /* UIView+MJExtension.m */; }; - 0A4BF3A639B77FEABC7E4064359DC02F /* LOTAnimatorNode.m in Sources */ = {isa = PBXBuildFile; fileRef = B2B3ECA6710F480C7B799BC6F3ABCEDD /* LOTAnimatorNode.m */; }; - 0A74D6AD28354E466076E681F328CC06 /* ScheduledItemType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5044484F325158003CF6DA89CC8D42BE /* ScheduledItemType.swift */; }; - 0AC33FD02B6E6714B6DDFC7593438C66 /* LOTTrimPathNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 5E9D73DBE32638FE50BE31D807F1BF79 /* LOTTrimPathNode.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0AC6F180A051670E37F5B3439F79A061 /* NSObject+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6DA87874F3C01DE3EA9AA52E21FA617C /* NSObject+Rx.swift */; }; - 0BA3B547B9BC864AD56950FD475613C2 /* LOTPointInterpolator.h in Headers */ = {isa = PBXBuildFile; fileRef = 96C47A48B9284956BEE4DF952EE7A25D /* LOTPointInterpolator.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0BC36426CBF56A82FD50EB4E0D1EB444 /* Logging.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAC0FEC41CE007BD5D60A897E599F18F /* Logging.swift */; }; - 0C0385083950B02A320C55FE3BE34669 /* ObservableConvertibleType+SharedSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 16F689B2CBE9D1BDE47D284F80C23BE6 /* ObservableConvertibleType+SharedSequence.swift */; }; - 0C30113371420677B071552E90424C4A /* AnimatableCheckBox.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53F20DBB287710299D39997E90AB7137 /* AnimatableCheckBox.swift */; }; - 0C38854291BBA0B21B6015DB95BF02C1 /* LOTRoundedRectAnimator.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EF7BE0063439F2E7B754090040D6090 /* LOTRoundedRectAnimator.m */; }; - 0C40F6BB8157645D5C7D2979EFFC7F39 /* NSObject+Rx+KVORepresentable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 867A7B5F03FCDDC85BFD92DFEC2A5AE9 /* NSObject+Rx+KVORepresentable.swift */; }; - 0CA6357476373C221D44C498AA1D65FE /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 233D9DA986ACE8F0A8734B129D658506 /* Foundation.framework */; }; - 0CCBD6086A164DDD54D28D1698BE4E90 /* BarButtonItemDesignable.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7F3868949265ED7556810E94A5B34FB /* BarButtonItemDesignable.swift */; }; - 0EFB524EFDF2F8712A2F5067817A672E /* UIScrollView+MJRefresh.h in Headers */ = {isa = PBXBuildFile; fileRef = 10DADE548950E2183AEF492669FC6181 /* UIScrollView+MJRefresh.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0F6D6A34EAEC775753BC19DC40324D1D /* ConstraintPriorityTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFE5D5F55CCF711F270511F9C4C676C0 /* ConstraintPriorityTarget.swift */; }; - 0F755ADCEAA8BF40FF7BECCBD8B5310B /* ImageDownloader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 00E2D1CF190C677489B8F7AB63480C8A /* ImageDownloader.swift */; }; - 0FE3E8AD7C52B1083B86ACD16BAC78CD /* SharedSequence+Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08C33EBCE60951B3237246905E0057A5 /* SharedSequence+Operators.swift */; }; - 101CFD36D449F31D99FEFDF6CB29878E /* UIApplication+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = E014C49F423291E2E39E117AF7301824 /* UIApplication+Rx.swift */; }; - 101F836F887C01B45F4DCF351EBC28D1 /* MJRefreshBackNormalFooter.m in Sources */ = {isa = PBXBuildFile; fileRef = C7FBE4E3AF2B856E401875C06CABB3FF /* MJRefreshBackNormalFooter.m */; }; - 10EB23E9ECC4B33E16933BB1EA560B6A /* Timeline.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5C63B9D7906C7F2C7AAF980FA108A01 /* Timeline.swift */; }; - 118ACD111D29B0AEEAC92AE0460F13A2 /* ZoomAnimator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 22153E7966A48BB16DC3908648693E73 /* ZoomAnimator.swift */; }; - 11E6F3EC3B7ED04D32A5E7CEE192CF1A /* UITableView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = FAD3DDEB40FBC2D97042AC705E09F25C /* UITableView+Rx.swift */; }; - 11ECC5C9BE0D9AE6AE8079882CB5AF75 /* Image.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9AADAE4E81050D53BB8968F84B257420 /* Image.swift */; }; - 1206DF61D24740E73467D986945A699C /* LOTAnimationView.m in Sources */ = {isa = PBXBuildFile; fileRef = C8CC09FDBA52BC87E973C5F994B2F109 /* LOTAnimationView.m */; }; - 12219EDD45C4279C52CCD6FE39D5F768 /* LOTStrokeRenderer.m in Sources */ = {isa = PBXBuildFile; fileRef = 23F9D1C890AF80AEC93D124A6A137364 /* LOTStrokeRenderer.m */; }; - 12364F9FD0A0D5FA66C23F3BA197560C /* AsSingle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8BE2D4D474E369DFF9ED04445DBB90EB /* AsSingle.swift */; }; - 12A2739535666E1F5F584BEBC11123D0 /* ActivityIndicatorAnimationLineScalePulseOutRapid.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64147F57AA02FBD13A59EED1EFB7540A /* ActivityIndicatorAnimationLineScalePulseOutRapid.swift */; }; - 12AAB8B4DE541E7D151450732458C2E4 /* ActivityIndicatorAnimationAudioEqualizer.swift in Sources */ = {isa = PBXBuildFile; fileRef = DA7C22CC2FB7F54ABA43172CC8809211 /* ActivityIndicatorAnimationAudioEqualizer.swift */; }; - 12B004AE0DE5C29CF9E945FB9D0A6EDF /* NSTextStorage+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74BEF5B274FE1F92D4A31639B21FF380 /* NSTextStorage+Rx.swift */; }; - 12CF563678704ED1369F793FA30AAEA9 /* Resource.swift in Sources */ = {isa = PBXBuildFile; fileRef = FAFF2CE14AF6D4795A112A5779E1AABE /* Resource.swift */; }; - 12E665F0A1CEA463E26E5B7F5F339A11 /* ObservableConvertibleType+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = C1202CB18C4EDD774F1F19ED94D44A5A /* ObservableConvertibleType+Driver.swift */; }; - 13FBD60A9C08E40CFFA41948E7E596D5 /* TakeWhile.swift in Sources */ = {isa = PBXBuildFile; fileRef = 21C40A2C11D30BB3BE186568CCC4E59C /* TakeWhile.swift */; }; - 13FDFCE5E8DF1BCDE128292B9839BA0E /* SGPageContentView.m in Sources */ = {isa = PBXBuildFile; fileRef = 96ABFB58D44EDFB93EA7ACCF8A40B668 /* SGPageContentView.m */; }; - 143B37879AC7F9803E42B9629228F952 /* DefaultIfEmpty.swift in Sources */ = {isa = PBXBuildFile; fileRef = 299A2401484C06AFF142211737979A42 /* DefaultIfEmpty.swift */; }; - 145EA8D15BA928C9BD3B362264F45B31 /* HexColorTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = F9D8896B72FA207034C116EAB8EDFA04 /* HexColorTransform.swift */; }; - 14C15F8FF8A3D2115099F06B2B610FC6 /* ObservableType+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A1CD3D434D6242B96BE95DD1D184A20 /* ObservableType+Extensions.swift */; }; - 14CBA924E36D7C9F85395A5E3B3EBA05 /* PointerType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8F48D5E75AA04622212BEA429CB0FA67 /* PointerType.swift */; }; - 1545C47D86A4F278E9FD773DA035E21B /* SnapKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = BA4B4F81BACC7810D0A56625F99612A4 /* SnapKit-dummy.m */; }; - 15C7C9E2FEA1E3BFF099FDCA197138D9 /* IBAnimatable-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 0F252607A15F344A64C86C7A4B130B13 /* IBAnimatable-dummy.m */; }; - 15C918C8B1E55FA42880BEA0DF94FD4B /* DesignableNavigationBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8F849A2D5C7BBA5D954BCB31C0D8EC8 /* DesignableNavigationBar.swift */; }; - 15FB827CE06F8E03C0A60BF7FD50C50B /* StatusBarDesignable.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1C9D5DEB02CD8A0EF562A3F54FE4C52 /* StatusBarDesignable.swift */; }; - 16A9D898F32CFCED09B6D6A5DE957111 /* UIViewControllerExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88B9D773F77B8E056D239FBD45C1048D /* UIViewControllerExtension.swift */; }; - 16B91A8C54C9E0BE0301BC3CA5466D2A /* CornerDesignable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 452D9C44174565B4683C6B322253CE26 /* CornerDesignable.swift */; }; - 171D92BAB767E217703001B86CAF5E9E /* FormatIndicatedCacheSerializer.swift in Sources */ = {isa = PBXBuildFile; fileRef = C617368E835CFF3AC1EE69A7FA9593BF /* FormatIndicatedCacheSerializer.swift */; }; - 1739419279119EB3437BC73E5F4E0273 /* InfiniteSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = A382E112ACCE5B12023F29678013CE51 /* InfiniteSequence.swift */; }; - 175F901C9A7B1100EE11BB00E632C21F /* Coding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4DE5FB3C11805E3EED9E75FC2DC65D9A /* Coding.swift */; }; - 17F033046E658F3BFD0011DCB768CF54 /* MJRefreshBackNormalFooter.h in Headers */ = {isa = PBXBuildFile; fileRef = EABD61F45BF77349EAE19B84ED9D8FEC /* MJRefreshBackNormalFooter.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1843E6DF520A5EFE9C83C38E18578E42 /* MJRefreshAutoStateFooter.m in Sources */ = {isa = PBXBuildFile; fileRef = D8AB319F41741A2FCDA127717BF47999 /* MJRefreshAutoStateFooter.m */; }; - 186B284423D6DA8B48DCC9FEC1E28743 /* RxCollectionViewDataSourceProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 276A948295C315F75EEDDC0B100B6D52 /* RxCollectionViewDataSourceProxy.swift */; }; - 18919F4458D40A888696BB60E1EC02D8 /* Enumerated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 38B7ECDFBCA53EAB96B521E626A78EF0 /* Enumerated.swift */; }; - 18CC9DDC84793D2749CE47CEE6C0462D /* NSObject+Theme.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5AF3695F0EE72094A95E128FD82CBCF /* NSObject+Theme.swift */; }; - 191E85E73C91CE3D4CDB1D6D17220B05 /* SerialDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 102DF99F3A9757AD6973CC587516700F /* SerialDisposable.swift */; }; - 1957B99A96D86124EAC48D1BD0589CC1 /* BMPlayer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52CAD635E237EB353B4F95B6388EA34A /* BMPlayer.swift */; }; - 19616D85F5FC39F8DEEFEB11F2059571 /* LOTCircleAnimator.h in Headers */ = {isa = PBXBuildFile; fileRef = 7D38CA4F5338AAE06655D32F6682FAD9 /* LOTCircleAnimator.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 19C4A3C1B6C7C21E56A56FBB45D23FB8 /* SVProgressHUD.h in Headers */ = {isa = PBXBuildFile; fileRef = 25BA3118BED66CB487D33E050F78FFC2 /* SVProgressHUD.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1B3A218C92185E881B865FCE5ECBAE2B /* ActivityIndicatorAnimationBallClipRotatePulse.swift in Sources */ = {isa = PBXBuildFile; fileRef = B14704EBB7290C90B3C38365349CC6AE /* ActivityIndicatorAnimationBallClipRotatePulse.swift */; }; - 1B727B18947459AA123840C5B41A351A /* NSObject+Rx+RawRepresentable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2314D12F535DE26AA9FED09C4BD1E9CC /* NSObject+Rx+RawRepresentable.swift */; }; - 1B9EDEDC964E6B08F78920B4F4B9DB84 /* Alamofire-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 51CA37BE0AAD0C68FBED9D90198F2307 /* Alamofire-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1C4F35092211F226DC56EFD272A292BC /* UINavigationController+FDFullscreenPopGesture.h in Headers */ = {isa = PBXBuildFile; fileRef = 4CC76966C3C8173FD7C88EB5E6BBB430 /* UINavigationController+FDFullscreenPopGesture.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1CA2D38D08D6C836B490B9FA54017F62 /* LayoutConstraintItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9B856A978F2393E8D6F559FAA464258 /* LayoutConstraintItem.swift */; }; - 1CA4E543C5A0C9D3A8BE5956BBC5B247 /* PublishRelay.swift in Sources */ = {isa = PBXBuildFile; fileRef = 026DD9F54346568D494DE2135988F500 /* PublishRelay.swift */; }; - 1D013B4CFAF68BDE491BC81B9252C7E4 /* ExplodeAnimator.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7EDBB99313C8F66B78D3802E031580B /* ExplodeAnimator.swift */; }; - 1D5BF7CB1E36440539B017C20E68E86B /* UIProgressView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B39C8A058F93BC134FABB87866CA9F7 /* UIProgressView+Rx.swift */; }; - 1E002E0EFC621A7BBAD43992714ED71E /* RxTableViewDataSourceProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 28F35301943CE6449EC7E839526C839A /* RxTableViewDataSourceProxy.swift */; }; - 1E11CE5AE7F99C8E579EDF1A3A73D4B3 /* Queue.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBCEF0D603219AB54A528E03592FA29A /* Queue.swift */; }; - 1E23F7590A8EC4A78B9A1AEEBD3DE5DA /* String+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42B6B52B79F6ECB61721D453BD37CF3D /* String+Rx.swift */; }; - 1E7F65519376B6C7299BF784CB480616 /* PublishRelay+Signal.swift in Sources */ = {isa = PBXBuildFile; fileRef = D95247E42860E5107A3B7A86AAB8A65A /* PublishRelay+Signal.swift */; }; - 1ED505CC385A149F4DF8F4B94BA4FC0B /* MJRefreshBackStateFooter.h in Headers */ = {isa = PBXBuildFile; fileRef = E7F07DC136F505E5A51FD912036A703F /* MJRefreshBackStateFooter.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1F2884F10820F9B668242AB69029B8F3 /* ThemeStatusBarStylePicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = E51685BF58FEF499CB22A9CE8DDB4213 /* ThemeStatusBarStylePicker.swift */; }; - 1F35F2C56AAC0FADA6B06D1C1B35850C /* Using.swift in Sources */ = {isa = PBXBuildFile; fileRef = 55126916D81A175FA85248B5D4F8BD62 /* Using.swift */; }; - 201A116F2A60DC7A1C2644DEB8C0D391 /* LOTLayerContainer.m in Sources */ = {isa = PBXBuildFile; fileRef = 82411C76F4019797791D0A9DA5263707 /* LOTLayerContainer.m */; }; - 2023FDC1140672A4352DFE62E914E1E7 /* BMPlayerClearityChooseButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39C5A2458E881AB62C54F7166F87E602 /* BMPlayerClearityChooseButton.swift */; }; - 214F00B3809F20181359375AB0B568F9 /* SQLite-Bridging.h in Headers */ = {isa = PBXBuildFile; fileRef = 991836F58640F387472B7B6614359C0B /* SQLite-Bridging.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 21FE6FC272351711F6BD23D07F668A48 /* LOTAssetGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = 33A93A6C9950135EFC0DEEC24117898C /* LOTAssetGroup.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2241163286FC8252861D5503BA2DAC40 /* LOTShapeGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = D893C980107E5B33B9D20605B574531D /* LOTShapeGroup.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 22571E02E758345D0EF4C2FBE2F7DC77 /* RxCocoa-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = EE8AEDC7B7EC2009F51E1E57F738FE15 /* RxCocoa-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 22B993FFE9CA2CBF7B750D3A69E8F83E /* AnimatableButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3583752156FEDCD0EBBA287769C45A06 /* AnimatableButton.swift */; }; - 22F361AD0ACFD92269F5F114A95CCF33 /* ConstraintMakerEditable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5040E9BA39AEB77ABA9E7CBFEC3680BC /* ConstraintMakerEditable.swift */; }; - 23C3475EE992B3F31FEA2FC1E3F2ABCA /* LOTRoundedRectAnimator.h in Headers */ = {isa = PBXBuildFile; fileRef = 0EB9C6C82C51CAA9857CF5D21339B821 /* LOTRoundedRectAnimator.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 09AD2AAB36BDC6F7A0CD0D7B3924F96D /* DateAndTimeFunctions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8B75FE33DD5584A00F40F089BA81C9FE /* DateAndTimeFunctions.swift */; }; + 09DB26ECCB21FD842D2DCF0623F9B318 /* Driver+Subscription.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB26C58FBDB2D9D263156C73AE8AB827 /* Driver+Subscription.swift */; }; + 0A1BD30AD9DDAB732D93AD60DA3B3BA1 /* BuiltInBridgeType.swift in Sources */ = {isa = PBXBuildFile; fileRef = C71F57EBE1CD27C7BCDCE28F20F23A14 /* BuiltInBridgeType.swift */; }; + 0A1E34B4A27DCD62A914F3B028A07E6C /* UIView+MJExtension.m in Sources */ = {isa = PBXBuildFile; fileRef = C37B9D00BC552455CC84403779DAD169 /* UIView+MJExtension.m */; }; + 0A40D703EB925FE3F537742F9CEC10BE /* AnonymousDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = A4F7254AB48D7B9B24E1B28BF4E2846C /* AnonymousDisposable.swift */; }; + 0A76F4166BC9DB8FBB633A9AA2F28463 /* LOTStrokeRenderer.h in Headers */ = {isa = PBXBuildFile; fileRef = 41AF13E332AD0185C3BAE6F45B0B04C3 /* LOTStrokeRenderer.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0B17BEC84FED9E3EE990632483DC3E6A /* LOTHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = 11137643AE8FF51B5B06C48F40390BC1 /* LOTHelpers.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0C13F284FF8C424B9ADA79E3A703C1BC /* LOTShapeGradientFill.m in Sources */ = {isa = PBXBuildFile; fileRef = A79B8FC3A02C8BDCA159A9DE9ACFBEEB /* LOTShapeGradientFill.m */; }; + 0C30113371420677B071552E90424C4A /* AnimatableCheckBox.swift in Sources */ = {isa = PBXBuildFile; fileRef = 140ACCCC61827B42E09980DDEEBCE5D8 /* AnimatableCheckBox.swift */; }; + 0C88C75B71006F8791437E483E425526 /* UIBezierPath.m in Sources */ = {isa = PBXBuildFile; fileRef = 16D9BD3C29DF7BB70825ED4E24BF2487 /* UIBezierPath.m */; }; + 0CCBD6086A164DDD54D28D1698BE4E90 /* BarButtonItemDesignable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 21DB9DD726BC4891A280CCCDB387D234 /* BarButtonItemDesignable.swift */; }; + 0CCD57BB05A842A16412A81909520927 /* LOTCacheProvider.m in Sources */ = {isa = PBXBuildFile; fileRef = D60E49057918E38112715C0D39836BE2 /* LOTCacheProvider.m */; }; + 0D91898FC77A52865ABF6979C962099F /* Observable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D0F54C1F01547815ABBA97005DC89EC /* Observable.swift */; }; + 0E24DB5D4C639CC444CFF22C10E0C843 /* RxPickerViewDataSourceType.swift in Sources */ = {isa = PBXBuildFile; fileRef = F28B756A8F9FCCD3CECDB78EA6F8B74B /* RxPickerViewDataSourceType.swift */; }; + 0E637E19DE1D0A81DF4F4E9FF59BCD23 /* LOTValueCallback.m in Sources */ = {isa = PBXBuildFile; fileRef = C26BB9DBA4BD80CDCF5332DFD5443590 /* LOTValueCallback.m */; }; + 0EFB524EFDF2F8712A2F5067817A672E /* UIScrollView+MJRefresh.h in Headers */ = {isa = PBXBuildFile; fileRef = A075BD3ABFB8756BFB2F44BE84120FA8 /* UIScrollView+MJRefresh.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0F6D6A34EAEC775753BC19DC40324D1D /* ConstraintPriorityTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5AC6A66B088C5B2178F8231384D6EFC /* ConstraintPriorityTarget.swift */; }; + 0FA35D9EA664B6D9510795E7E6FAB54E /* UIWebView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31343B8A2EE4819BBA28362B03ACB7CA /* UIWebView+Rx.swift */; }; + 0FCD971E8D1ADF47505F579AD27BC81B /* LOTKeyframe.h in Headers */ = {isa = PBXBuildFile; fileRef = 07F65ACC3A3AECB45197FF0FDBE92F7A /* LOTKeyframe.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 101F836F887C01B45F4DCF351EBC28D1 /* MJRefreshBackNormalFooter.m in Sources */ = {isa = PBXBuildFile; fileRef = 881AD6EF51DC08EDB67AD42BCF3BD29D /* MJRefreshBackNormalFooter.m */; }; + 103228D906B112AA75562E8B17179127 /* Indicator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7453C4D418ADA0327E5DF087A0E41443 /* Indicator.swift */; }; + 10EB23E9ECC4B33E16933BB1EA560B6A /* Timeline.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23E33F3DFB2801CC2832AAAC0ACC8B57 /* Timeline.swift */; }; + 114397DE4A2DC0204868A79F4BE13769 /* Filter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99BF5E4F237B5ADB4C2DD3034746A82F /* Filter.swift */; }; + 118ACD111D29B0AEEAC92AE0460F13A2 /* ZoomAnimator.swift in Sources */ = {isa = PBXBuildFile; fileRef = A31C947DD35E792803019B4CC74B1F43 /* ZoomAnimator.swift */; }; + 11EE29712000C6A553D637803D088A2F /* RxPickerViewDataSourceProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E649B38675E386F0660BB5FB9A50678 /* RxPickerViewDataSourceProxy.swift */; }; + 1241AAB79DC7E4A5D15E3FBCB805B237 /* AsMaybe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 03666BE69F668E66EFCA983101415022 /* AsMaybe.swift */; }; + 12A2739535666E1F5F584BEBC11123D0 /* ActivityIndicatorAnimationLineScalePulseOutRapid.swift in Sources */ = {isa = PBXBuildFile; fileRef = D07299D7B02F1283B84EAEA07498DBD3 /* ActivityIndicatorAnimationLineScalePulseOutRapid.swift */; }; + 12AAB8B4DE541E7D151450732458C2E4 /* ActivityIndicatorAnimationAudioEqualizer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3EE90EA0775691569CA23DCB7252334A /* ActivityIndicatorAnimationAudioEqualizer.swift */; }; + 12C4CBC65F95140215B08D14132C3100 /* RxTextStorageDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E22E8E23ECEEB5CB946F07D0CA883AE /* RxTextStorageDelegateProxy.swift */; }; + 133ACABA0C62C30E33A13420190DE417 /* Do.swift in Sources */ = {isa = PBXBuildFile; fileRef = C20702C69FC5F3B4495C9C940C6C676D /* Do.swift */; }; + 13FDFCE5E8DF1BCDE128292B9839BA0E /* SGPageContentView.m in Sources */ = {isa = PBXBuildFile; fileRef = AFB0D06E96DE48F7F382ED76A132C249 /* SGPageContentView.m */; }; + 145EA8D15BA928C9BD3B362264F45B31 /* HexColorTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7A2D7BBA6272A6557A5944C9779F563 /* HexColorTransform.swift */; }; + 14CBA924E36D7C9F85395A5E3B3EBA05 /* PointerType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 141660F7A04F7473EB4F2032A7BB1AA2 /* PointerType.swift */; }; + 14E83AFDD337CE917003CB8224C110FE /* LOTRadialGradientLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 033A896FFFA200730CD806B7341F86CF /* LOTRadialGradientLayer.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1545C47D86A4F278E9FD773DA035E21B /* SnapKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 5671DB99E0F63C2BA3010E0AEC7427BC /* SnapKit-dummy.m */; }; + 158D2EE18D0F57A80C41CA80D1229FB5 /* Producer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C6A83961D876DB6B6D1189A8FE8E7DE /* Producer.swift */; }; + 15C7C9E2FEA1E3BFF099FDCA197138D9 /* IBAnimatable-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 6C0B3671ACB4D1B468E5712A68CFB277 /* IBAnimatable-dummy.m */; }; + 15C918C8B1E55FA42880BEA0DF94FD4B /* DesignableNavigationBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 141CE0861745848B89970AACDC0A4476 /* DesignableNavigationBar.swift */; }; + 15FB827CE06F8E03C0A60BF7FD50C50B /* StatusBarDesignable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B44F2A3D41FF7BED212AD727067ACE9 /* StatusBarDesignable.swift */; }; + 168AF670EA18DBF52CD1B90EE50E6745 /* HistoricalScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5A4C50CDC05267F8428C2ECD9B85CD5D /* HistoricalScheduler.swift */; }; + 16A9D898F32CFCED09B6D6A5DE957111 /* UIViewControllerExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = F022073EE604F8175D408FDF6C050806 /* UIViewControllerExtension.swift */; }; + 16B91A8C54C9E0BE0301BC3CA5466D2A /* CornerDesignable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71704ECF16D98E27F099E453EE881A48 /* CornerDesignable.swift */; }; + 17020EBA663C6AA107AD5A314EE4D9BB /* LOTAnimatedControl.h in Headers */ = {isa = PBXBuildFile; fileRef = B54AD13D8803AD8D00070C71B1599A0D /* LOTAnimatedControl.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 175F901C9A7B1100EE11BB00E632C21F /* Coding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 14BA1B3D41415681C5E4DB19C0E6E816 /* Coding.swift */; }; + 17714564F8B6F1C492F8D0CC23E00C9A /* CombineLatest+Collection.swift in Sources */ = {isa = PBXBuildFile; fileRef = E99EBDAA8CBA4846F955B76836152FAA /* CombineLatest+Collection.swift */; }; + 17F033046E658F3BFD0011DCB768CF54 /* MJRefreshBackNormalFooter.h in Headers */ = {isa = PBXBuildFile; fileRef = 6F1F7CBE32DB497A50FCB1331208B807 /* MJRefreshBackNormalFooter.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 183C3BB3DFC00FA2A46F42432D91180F /* RxCollectionViewDataSourceProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2AA649C5DFFB153D26C6473B3E74CBBB /* RxCollectionViewDataSourceProxy.swift */; }; + 1843E6DF520A5EFE9C83C38E18578E42 /* MJRefreshAutoStateFooter.m in Sources */ = {isa = PBXBuildFile; fileRef = EF30CF601F7AB0C59140900FFD222C26 /* MJRefreshAutoStateFooter.m */; }; + 188864AE2B98B14692BA2947BADC11A0 /* lottie-ios-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 13ABACD971570B78C43C6D9151DD855A /* lottie-ios-dummy.m */; }; + 18CC9DDC84793D2749CE47CEE6C0462D /* NSObject+Theme.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD8BB5F15D84FD8E7DC4690D6A285831 /* NSObject+Theme.swift */; }; + 1957B99A96D86124EAC48D1BD0589CC1 /* BMPlayer.swift in Sources */ = {isa = PBXBuildFile; fileRef = F14854C584BB0398EF20718A916ECE72 /* BMPlayer.swift */; }; + 19A52FD5D998349290B654BFFD08E31B /* LOTRenderNode.h in Headers */ = {isa = PBXBuildFile; fileRef = B73956A0042D31E6C4F37104CDDD3A52 /* LOTRenderNode.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 19C4A3C1B6C7C21E56A56FBB45D23FB8 /* SVProgressHUD.h in Headers */ = {isa = PBXBuildFile; fileRef = 603CF9DB9C423BE610F3006EBE59497F /* SVProgressHUD.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 19F3B28FFC0AFE8AE56BD08E114365FF /* UISwitch+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8FC8EDC3476FD96EA790694C31E1E3A /* UISwitch+Rx.swift */; }; + 1B3A218C92185E881B865FCE5ECBAE2B /* ActivityIndicatorAnimationBallClipRotatePulse.swift in Sources */ = {isa = PBXBuildFile; fileRef = F0DE86FBE737E5E95B6C0930F5737B23 /* ActivityIndicatorAnimationBallClipRotatePulse.swift */; }; + 1B9EDEDC964E6B08F78920B4F4B9DB84 /* Alamofire-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 0DAFF40A47602A5811D9F3B3141BB1AD /* Alamofire-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1C4F35092211F226DC56EFD272A292BC /* UINavigationController+FDFullscreenPopGesture.h in Headers */ = {isa = PBXBuildFile; fileRef = 01F7DA439F38212DD0D8929346DEC6D5 /* UINavigationController+FDFullscreenPopGesture.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1C57EEFDB7C6659A5AD629226DB911A7 /* UIButton+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F4821A684BF67B4599A7530D1E3D80D /* UIButton+Rx.swift */; }; + 1CA2D38D08D6C836B490B9FA54017F62 /* LayoutConstraintItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A40DA1BD376E21A8B955044E6A837E3 /* LayoutConstraintItem.swift */; }; + 1CD9306809BD7F489F9F065AE6FFD8D1 /* UILabel+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5AC5A5689E4BBB0E662D396D740556C /* UILabel+Rx.swift */; }; + 1D013B4CFAF68BDE491BC81B9252C7E4 /* ExplodeAnimator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CFD2D2D7D2607D4ED17BFD2631E75BA /* ExplodeAnimator.swift */; }; + 1D2AF09B564CC6BF65FBA7B1C02248C8 /* Platform.Linux.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9229555094C9DF30B98F80BE40CFA3E0 /* Platform.Linux.swift */; }; + 1D669F8A30B4E61F1BAAE396721520C9 /* SwiftSupport.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6FB95960B7FA4BE7A969A4BC668FF6F /* SwiftSupport.swift */; }; + 1DDB12A4E79615DA1D7BAC92FB33A5C1 /* MainScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 29A455405F6206958BE3C9B6F44DB3E0 /* MainScheduler.swift */; }; + 1ED2209AAB5099B77FB00E59C9C4B14E /* UICollectionView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = F456DE8B97D5C6C4328F1D684BB688CF /* UICollectionView+Rx.swift */; }; + 1ED505CC385A149F4DF8F4B94BA4FC0B /* MJRefreshBackStateFooter.h in Headers */ = {isa = PBXBuildFile; fileRef = D7AA86E30D8CABD18497E4D78505B4D6 /* MJRefreshBackStateFooter.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1F2884F10820F9B668242AB69029B8F3 /* ThemeStatusBarStylePicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6667B70E1FC398161C0FA794405ED11D /* ThemeStatusBarStylePicker.swift */; }; + 2023FDC1140672A4352DFE62E914E1E7 /* BMPlayerClearityChooseButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6F5D602D602576CAD1DC374D73E7EFC0 /* BMPlayerClearityChooseButton.swift */; }; + 212AE24D1CD234D3659BEEB18574D07D /* Error.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D6C93DBAE4C3923D340D06E65E189D0 /* Error.swift */; }; + 214F00B3809F20181359375AB0B568F9 /* SQLite-Bridging.h in Headers */ = {isa = PBXBuildFile; fileRef = 11C64C85870504CCFF8142069617C010 /* SQLite-Bridging.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 21BB5C9441894755A88A87DD323F844A /* Window.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1210FAC80CD11D4E0A148DF9967286A /* Window.swift */; }; + 21D856441DF72F3A5061F18CBEDB75C7 /* DeprecationWarner.swift in Sources */ = {isa = PBXBuildFile; fileRef = 483523A5391A8463603A62F5EF91B281 /* DeprecationWarner.swift */; }; + 21E437B2584FD879EDE05C6F0029BB3A /* Logging.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7D406AB9C86DB49D2E63506AFEA9E1AA /* Logging.swift */; }; + 22571E02E758345D0EF4C2FBE2F7DC77 /* RxCocoa-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 0462A13DE352D5015B7954FD0D091B28 /* RxCocoa-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2283375C0C99789CF47EEDA0CE9D3D80 /* ImageProcessor.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1BDBAB9B56F2E8F9C2D56237BB85FDF /* ImageProcessor.swift */; }; + 228878F8915FA75B7F2E64C1C763B0FE /* InfiniteSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD5267A82FD4BE61785F026B5ADC929C /* InfiniteSequence.swift */; }; + 22B993FFE9CA2CBF7B750D3A69E8F83E /* AnimatableButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = AEE2D9D8ED0FBA802BF75B6DD451C277 /* AnimatableButton.swift */; }; + 22D210672129FD13CF593B4070F52589 /* LOTShapeCircle.h in Headers */ = {isa = PBXBuildFile; fileRef = E1647C1EF5CA7FA99A05527E22204928 /* LOTShapeCircle.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 22F361AD0ACFD92269F5F114A95CCF33 /* ConstraintMakerEditable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9E395C01DAD7667EB3F836923CF4620D /* ConstraintMakerEditable.swift */; }; 23C92743D0D2154080836B58896172C9 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 233D9DA986ACE8F0A8734B129D658506 /* Foundation.framework */; }; - 23D82543309C95EED389CEAD90C2F045 /* Range.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1649D48534057ADC59CCB996A4874DB /* Range.swift */; }; - 244470CB974C823AE034C2B28012F0B2 /* DateFormatterTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0091772621F2D2D616DB64C5605C70E7 /* DateFormatterTransform.swift */; }; - 247BA963630EF29EF419BA5B95F2397D /* UIKit+Theme.swift in Sources */ = {isa = PBXBuildFile; fileRef = E3DC5B93846D68FEAFEB9BA396458125 /* UIKit+Theme.swift */; }; - 2524EC4EF024A6C067A0FA082084CFB5 /* MJRefreshBackStateFooter.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FDCE956F4A12C6B92D2309B71AFD544 /* MJRefreshBackStateFooter.m */; }; - 254253BDFF0565F0D329412D90CA4344 /* AnimatableScrollView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6735C7CA4601B2FE4CD748FB4468897E /* AnimatableScrollView.swift */; }; + 244470CB974C823AE034C2B28012F0B2 /* DateFormatterTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88CF19F31DDB49545E709E8EE726E1F5 /* DateFormatterTransform.swift */; }; + 247BA963630EF29EF419BA5B95F2397D /* UIKit+Theme.swift in Sources */ = {isa = PBXBuildFile; fileRef = E972C31E4CE1916277EEC507CEFCC1CE /* UIKit+Theme.swift */; }; + 2524EC4EF024A6C067A0FA082084CFB5 /* MJRefreshBackStateFooter.m in Sources */ = {isa = PBXBuildFile; fileRef = CA5509805A53D9B9D6B5ECC927ABCBA2 /* MJRefreshBackStateFooter.m */; }; + 254253BDFF0565F0D329412D90CA4344 /* AnimatableScrollView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BEA555E87DFB3F807F5CE800D32CA485 /* AnimatableScrollView.swift */; }; + 25E10864376427E1A50E7C2C71FDA233 /* CALayer+Compat.m in Sources */ = {isa = PBXBuildFile; fileRef = 7C9C6AE6B96B39435D0CAF4F3A015B33 /* CALayer+Compat.m */; }; + 2613644FF6D6DEAF789AF468A8614DF3 /* RxTableViewDataSourceType.swift in Sources */ = {isa = PBXBuildFile; fileRef = A080D8B68ECFBF08019B7FCA1F3E2D02 /* RxTableViewDataSourceType.swift */; }; 262DB94856A9DA1F87AE3A0DED971D36 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 233D9DA986ACE8F0A8734B129D658506 /* Foundation.framework */; }; - 270728363BC4B690C40E53B053710684 /* ImageCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = A493C56454669BD1F6AB1668787D9F35 /* ImageCache.swift */; }; - 2831BCD46C574710427B6DC8FA388737 /* NSDecimalNumberTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = FCAB6A14AF92D727602C89E70266783E /* NSDecimalNumberTransform.swift */; }; - 28BF555017994AE2B75CA88934E1B0CD /* ActivityIndicatorShape.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41AA702AB8283ACDF85216A6D93778B1 /* ActivityIndicatorShape.swift */; }; - 28CF8D37DA5664FBC9A326071AEED4A4 /* Observable+Bind.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A58A86CF8653D76C2EBCFF578FDDEE7 /* Observable+Bind.swift */; }; - 29049E562E2161F2F2917F554F68F8CE /* AnimatableTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 920651565700F0045010BDE774C99A8C /* AnimatableTableViewController.swift */; }; - 291E67B4A47AE2984E186D05D58B68AC /* ActivityIndicatorAnimationLineScalePulseOut.swift in Sources */ = {isa = PBXBuildFile; fileRef = A98BEC623607AD42270AE3AD5C823BDC /* ActivityIndicatorAnimationLineScalePulseOut.swift */; }; - 298864AE1F5356AF4C6EAE7027727CB5 /* RxMutableBox.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B99FA02819D274BCFEAE7B2E03CD24D /* RxMutableBox.swift */; }; - 2A2F73579F4471B904A9E1ABB7D78079 /* Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BD42D685004AD66E16A3D24C4D5CA35 /* Driver.swift */; }; - 2A7D2836096CD30596DD893929E4B366 /* Completable+AndThen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 768D7FC0C57A35F2913F51053BCCBE9F /* Completable+AndThen.swift */; }; - 2B48A06F27B03B6E241086C819A07B38 /* TransitionPresenter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CD7151FC455CC23B9ACAB4C8163DAC8 /* TransitionPresenter.swift */; }; - 2BCEA5CAC8BB329638153850EE7B6A96 /* ActivityIndicatorAnimationBallPulseRise.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECE9790D91103D096394A0C270D2D91B /* ActivityIndicatorAnimationBallPulseRise.swift */; }; - 2BE1C9530D5B0FF84426EC1E1775B24C /* ConstraintOffsetTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ABBE4FBC2BA053B1FD0EFF1FABE3D2A /* ConstraintOffsetTarget.swift */; }; - 2BFEE07862743BAF5ED3D7E6CC3CBA06 /* UIDatePicker+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 29E10FAFA813999DDDA3F230474CF067 /* UIDatePicker+Rx.swift */; }; - 2C71B27E7B936D2E3C8ABC11344D91FE /* LOTAnimatedSwitch.m in Sources */ = {isa = PBXBuildFile; fileRef = E7593E0AD872D7C90D63485FDD304FCE /* LOTAnimatedSwitch.m */; }; - 2CDC8AF3D5533D9DE0C938558E3A6F68 /* LOTBezierData.m in Sources */ = {isa = PBXBuildFile; fileRef = 35549E7E3A1AD88152D82982FD6C8FCC /* LOTBezierData.m */; }; - 2CEA12D52F3F7AC0669C99A157E19F62 /* MJRefreshBackGifFooter.h in Headers */ = {isa = PBXBuildFile; fileRef = 43BEAD17B2D9A026AE6D316611C56C62 /* MJRefreshBackGifFooter.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2D1A6CCDA592FF2830DD7B9C44EFD5F6 /* UITabBar+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A9485165E6A088BB2A1499A80DCE815 /* UITabBar+Rx.swift */; }; - 2D74D959BDF8C1D7B69A1505C0FCB4C7 /* NVActivityIndicatorAnimationSemiCircleSpin.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8DEEFE9E92D939909A2F85AC30F5D5E /* NVActivityIndicatorAnimationSemiCircleSpin.swift */; }; - 2DEB5250C87B29F26B5744C8DD5F1977 /* CustomDateFormatTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 640F24FC097E24F184AD7ED2BD0B953C /* CustomDateFormatTransform.swift */; }; - 2E0597CC1C286E122389BE16AF6B6C28 /* ReflectionHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C962DB60D8CE32304F55FCA075AA101 /* ReflectionHelper.swift */; }; - 2E45601C0CD3509361BEBC4D82165DFC /* UISegmentedControl+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C7A1B87E499D8B974E18E1BBE4956A5 /* UISegmentedControl+Rx.swift */; }; - 2E619272CB81595DEE6C7E5314BCC65D /* NotificationCenter+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = B989B1B55B69DD24F57511D419909A76 /* NotificationCenter+Rx.swift */; }; - 2E69C52E001592DD56AE994E02EA4F8E /* NVActivityIndicatorAnimationLineScaleParty.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63AB2CFB827F1D3EF127D591656B4DEC /* NVActivityIndicatorAnimationLineScaleParty.swift */; }; - 2F07A6185648FDF8E2E29F1895800DFB /* _RXObjCRuntime.m in Sources */ = {isa = PBXBuildFile; fileRef = 5BE1349DA1CE384CA435FDF71261223A /* _RXObjCRuntime.m */; }; - 2F12CD5319D34AB46C49A5AA3862E0A4 /* SideImageDesignable.swift in Sources */ = {isa = PBXBuildFile; fileRef = F72F03571E94520F431BB92C41C66DC6 /* SideImageDesignable.swift */; }; - 2F288ED3641B2B4775884C462AE377E6 /* Kingfisher-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 9070843CE20D7F3A369FE4E0335E08BE /* Kingfisher-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2F52C7A1AC29BB5513B0F2AF797C02D0 /* SubscriptionDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7CAEA730BE4995D03D18870CED2B53CE /* SubscriptionDisposable.swift */; }; - 2F749CD01F85FE93294187294178C2B4 /* UILabel+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8D648FC7E62C3A97180A0026A6E70D9 /* UILabel+Rx.swift */; }; - 2FBC142C5B1CF129A4B072525102EE63 /* ThemeColorPicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1FD99C97DD722C593B72387D56F1825 /* ThemeColorPicker.swift */; }; - 2FF2AE901E227BBB2AC6B84C0C63DFB3 /* ThemeManager+Plist.swift in Sources */ = {isa = PBXBuildFile; fileRef = E398685A65D0F7468D3D8E149AF036CE /* ThemeManager+Plist.swift */; }; - 3052DB50FF39D10DC6F1213719676A8D /* Take.swift in Sources */ = {isa = PBXBuildFile; fileRef = BCF4173AC5D07724CFAA6FDFD406E259 /* Take.swift */; }; - 3056FA3EE7E46F6BA1289A2E7726B8A2 /* NVActivityIndicatorAnimationBallScaleRipple.swift in Sources */ = {isa = PBXBuildFile; fileRef = 507BD2CC8311D4C4499664BC6B2AAE8A /* NVActivityIndicatorAnimationBallScaleRipple.swift */; }; - 305B729A7D9422200E8C4993D741110E /* TableViewCellDesignable.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC08B35223146AF7634093115A844EE5 /* TableViewCellDesignable.swift */; }; - 305C5143C18AD85C1821E98DBA2BF08D /* SGPagingView-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 9FB0961156D170AA1576F127DA39EC42 /* SGPagingView-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 30615636C9E87AB6326873D7E4F27A22 /* SynchronizedOnType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 47DE6827D1FBFCE9C5E240260B7DBE8A /* SynchronizedOnType.swift */; }; - 30A5E2A12117DD21057C668C364F377F /* ConstraintLayoutGuide+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = D028ABFE543979DCAB4FEDA8493382F2 /* ConstraintLayoutGuide+Extensions.swift */; }; - 30A74C42E2159C7D6E60BC896B0FEB22 /* LOTCompositionContainer.h in Headers */ = {isa = PBXBuildFile; fileRef = 54C2AEEAF84BC41E1CC31636857311CB /* LOTCompositionContainer.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 30AED4F805D99FE05C25A8E4C940B43E /* BMPlayer-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = B8926019ADDD1C67CB4EDB19F4450337 /* BMPlayer-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 30ECE6A6E1389A0DC82C3756A20DE1D2 /* Schema.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6D75091822982BA7479BB304118B93CC /* Schema.swift */; }; - 31B06D14F7C90028A64B3097294C2AF9 /* AsyncLock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4AD6EC31D3B7AFDF0FC1E67A7F1CB03E /* AsyncLock.swift */; }; - 328AFD2E1098CFFB708CB312E3C9EF76 /* Delay.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2AFC82A05E8234A81CB1506B50376394 /* Delay.swift */; }; - 32EF237441D0DC42F697377AC2230400 /* ContainerTransition.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC715C46131EA38013BC1238CC430AEC /* ContainerTransition.swift */; }; + 26D8A5A8E6C8879AEAF1C4D192649551 /* LOTInterpolatorCallback.h in Headers */ = {isa = PBXBuildFile; fileRef = B535FF67F3DE5894D6590DC38ACE08AD /* LOTInterpolatorCallback.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2782D726D061077DEAF93E64497FBF77 /* ObservableType.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7A2A58721F0C7A27B9623F3138677F1 /* ObservableType.swift */; }; + 27F33BC8A21F47F556577418FFE9B0D1 /* NopDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C2027EBFFCD88D9A6C0F189E0C9B1704 /* NopDisposable.swift */; }; + 2831BCD46C574710427B6DC8FA388737 /* NSDecimalNumberTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3082E7CD0DBB7CBA27011E265AB645D /* NSDecimalNumberTransform.swift */; }; + 283D9F8251D6B4C5B2719939849FC1D6 /* TakeLast.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF30A8F23443A12C05AB33841751B4BF /* TakeLast.swift */; }; + 2846572E7CA0528F8C82CBE89A42D765 /* CGGeometry+LOTAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 61BE91569B66F4FEAA6E6B3690D64ADB /* CGGeometry+LOTAdditions.m */; }; + 28BF555017994AE2B75CA88934E1B0CD /* ActivityIndicatorShape.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CA5F8A15EBC2CFF54C945D571EAFB95 /* ActivityIndicatorShape.swift */; }; + 29049E562E2161F2F2917F554F68F8CE /* AnimatableTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 841C4BC21E9AECDDE37CB0EBE0BCCCE8 /* AnimatableTableViewController.swift */; }; + 291E67B4A47AE2984E186D05D58B68AC /* ActivityIndicatorAnimationLineScalePulseOut.swift in Sources */ = {isa = PBXBuildFile; fileRef = D868BEB0022E6C40008D053B2B38C2FF /* ActivityIndicatorAnimationLineScalePulseOut.swift */; }; + 29964499AA3D1722C9C6BA443244A198 /* RxMutableBox.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4F0D243DFC8F8A3CED9246A28DDA3C90 /* RxMutableBox.swift */; }; + 2ABE0F8940C00BD429E33ED7F7C9EA1D /* KingfisherOptionsInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D56CFAF9082412B8010BB2EBE4AA42B /* KingfisherOptionsInfo.swift */; }; + 2B48A06F27B03B6E241086C819A07B38 /* TransitionPresenter.swift in Sources */ = {isa = PBXBuildFile; fileRef = D75C5A2211D6B3E7702112A325F1F24F /* TransitionPresenter.swift */; }; + 2B5D82D71860757B7C41D27A62800772 /* LOTAsset.m in Sources */ = {isa = PBXBuildFile; fileRef = 35C86A5B40D4274E45F77E2638A2D04A /* LOTAsset.m */; }; + 2BAEA4C90EA90E2C5603EACA9953074E /* UIScrollView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC1778A71D7944300D2D96D8126F65BD /* UIScrollView+Rx.swift */; }; + 2BCEA5CAC8BB329638153850EE7B6A96 /* ActivityIndicatorAnimationBallPulseRise.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2AC5CAB2D863497E8BA212CDB3541B5 /* ActivityIndicatorAnimationBallPulseRise.swift */; }; + 2BE1C9530D5B0FF84426EC1E1775B24C /* ConstraintOffsetTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30170E00E03894389F070F998564D575 /* ConstraintOffsetTarget.swift */; }; + 2BE7838169097C3FC888BD7BC299D21A /* NSObject+Rx+KVORepresentable.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA2AE2DF46387FF3AAA7E8F455CADFD3 /* NSObject+Rx+KVORepresentable.swift */; }; + 2BF19445567CAB53166A191BBE791D19 /* UITabBar+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2DFA8ADEFF83EF6947BC0BF76C0D3EDD /* UITabBar+Rx.swift */; }; + 2C870D34D576D8469624AC1EBFD744E8 /* SchedulerType+SharedSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 035563E120B2280513273C1FA0B42FB7 /* SchedulerType+SharedSequence.swift */; }; + 2C89BB829F8EF648ECC6C384461BC592 /* LOTNumberInterpolator.m in Sources */ = {isa = PBXBuildFile; fileRef = CFBB2C7DEE1826F5F3378E3AE5ACF8C6 /* LOTNumberInterpolator.m */; }; + 2C911E54DE4E4F5A75C195B8F8F627BC /* ShareReplayScope.swift in Sources */ = {isa = PBXBuildFile; fileRef = 657AA0B864645920811F0C6667463998 /* ShareReplayScope.swift */; }; + 2CA1C6B17E72AD4FD0F1E79B4D8DC129 /* LOTMask.m in Sources */ = {isa = PBXBuildFile; fileRef = 407B23110EC61A1182B9A7C213419762 /* LOTMask.m */; }; + 2CEA12D52F3F7AC0669C99A157E19F62 /* MJRefreshBackGifFooter.h in Headers */ = {isa = PBXBuildFile; fileRef = 1F53A262726597D17901E9CE46012AAF /* MJRefreshBackGifFooter.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2D5A9397B0EB73E7367CDE4CE530BB65 /* RxTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 260C2AEFA097C8D34FC604A9352C73FE /* RxTarget.swift */; }; + 2D74D959BDF8C1D7B69A1505C0FCB4C7 /* NVActivityIndicatorAnimationSemiCircleSpin.swift in Sources */ = {isa = PBXBuildFile; fileRef = C322944839B519EF9B753C08237AE066 /* NVActivityIndicatorAnimationSemiCircleSpin.swift */; }; + 2DEB5250C87B29F26B5744C8DD5F1977 /* CustomDateFormatTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E8353411D931BAF23DAE40DFCA4BE7C /* CustomDateFormatTransform.swift */; }; + 2E0597CC1C286E122389BE16AF6B6C28 /* ReflectionHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 309E6E713FA8B233A98FAB2020D8E5FF /* ReflectionHelper.swift */; }; + 2E1D138DFAF77F38B4FEAD6D783C1D20 /* Deferred.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A4D4DC02734A536B99D81F9FAF0933C /* Deferred.swift */; }; + 2E69C52E001592DD56AE994E02EA4F8E /* NVActivityIndicatorAnimationLineScaleParty.swift in Sources */ = {isa = PBXBuildFile; fileRef = E0FF75F31E658F8DA566D36EC805BFB2 /* NVActivityIndicatorAnimationLineScaleParty.swift */; }; + 2F12CD5319D34AB46C49A5AA3862E0A4 /* SideImageDesignable.swift in Sources */ = {isa = PBXBuildFile; fileRef = F7033F2E9E72E978C29658DECE7C8DE3 /* SideImageDesignable.swift */; }; + 2FBC142C5B1CF129A4B072525102EE63 /* ThemeColorPicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F85CF5555D338AB6724D4601E9EF98C /* ThemeColorPicker.swift */; }; + 2FF2AE901E227BBB2AC6B84C0C63DFB3 /* ThemeManager+Plist.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98AB351201F939C9AC448E30AD6E0F54 /* ThemeManager+Plist.swift */; }; + 304397EE2199593A33A0FC2374DBECA3 /* UIPickerView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C68E1169CE66EFE6CF7024A3E96DDAF9 /* UIPickerView+Rx.swift */; }; + 3056FA3EE7E46F6BA1289A2E7726B8A2 /* NVActivityIndicatorAnimationBallScaleRipple.swift in Sources */ = {isa = PBXBuildFile; fileRef = 173C2D449DB38E3218CB457242A8B658 /* NVActivityIndicatorAnimationBallScaleRipple.swift */; }; + 305B729A7D9422200E8C4993D741110E /* TableViewCellDesignable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A2B1DFB263B496B224B17EDFF64693E /* TableViewCellDesignable.swift */; }; + 305C5143C18AD85C1821E98DBA2BF08D /* SGPagingView-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 8C1914B54629351652FF72CD37DE8917 /* SGPagingView-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 30A5E2A12117DD21057C668C364F377F /* ConstraintLayoutGuide+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = B810B1C430BA2E6F5FCD1C68AD10E812 /* ConstraintLayoutGuide+Extensions.swift */; }; + 30AED4F805D99FE05C25A8E4C940B43E /* BMPlayer-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 1C961691A21933D7592F1B9159940EB2 /* BMPlayer-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 30ECE6A6E1389A0DC82C3756A20DE1D2 /* Schema.swift in Sources */ = {isa = PBXBuildFile; fileRef = 667C8D02BE174B947D93ADF7707B087D /* Schema.swift */; }; + 31BFE2A9873440D319E49CEB1E9F8E0F /* SynchronizedUnsubscribeType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 40E19E964245BE5852B4EE7A81A203BA /* SynchronizedUnsubscribeType.swift */; }; + 32EF237441D0DC42F697377AC2230400 /* ContainerTransition.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1D2AD0BE3DDBBD5D4E5D9DAD293FF7FE /* ContainerTransition.swift */; }; + 3335F97EFD45B36BC53D29B646C7F362 /* Enumerated.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAE2C317634A2E00BF12CF926C4D3513 /* Enumerated.swift */; }; 33CC464BAC2A27A44EFA8CD06FB26815 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 233D9DA986ACE8F0A8734B129D658506 /* Foundation.framework */; }; - 33F05FEBE3315E7EDC174677A7AC2A70 /* LOTTrimPathNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F83FEBCAE29B57F50BEB16C1F8B44B8 /* LOTTrimPathNode.m */; }; - 3406BF34CCB2D3401C6A773FC8884CCE /* ActivityIndicatorFactory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2D23B3AB92CCA463334C97F083D4A166 /* ActivityIndicatorFactory.swift */; }; - 3434D06000F1494C822F554C7395078A /* NVActivityIndicatorAnimationBallGridBeat.swift in Sources */ = {isa = PBXBuildFile; fileRef = BE7502BEC1CFDA2E3D6B36ED8E099C8D /* NVActivityIndicatorAnimationBallGridBeat.swift */; }; - 344DB99F8332029C0391F08B6D0E425C /* MJRefreshAutoNormalFooter.m in Sources */ = {isa = PBXBuildFile; fileRef = 030824B9D6A184F2A49F2064A02A2BE1 /* MJRefreshAutoNormalFooter.m */; }; - 353CE29984FE378A10BEF89C983E6F79 /* SGPageTitleView.h in Headers */ = {isa = PBXBuildFile; fileRef = E601F1C0E2FA2ED1E8808DD07344E097 /* SGPageTitleView.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 35D685CF7C6F73A65AD3DD99674CA78F /* MJRefresh.h in Headers */ = {isa = PBXBuildFile; fileRef = 78CA669C149747E5167EF3CD7D3188A8 /* MJRefresh.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3626B94094672CB1C9DEA32B9F9502E1 /* TaskDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 878EC885E2E3E59A3C74784C5969010D /* TaskDelegate.swift */; }; - 36582F9D2F4A427A98B5C8CA84BE830D /* ConstraintMultiplierTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = AF0AC7475C4FE9AF32AD2185590E457B /* ConstraintMultiplierTarget.swift */; }; - 36CA338E4ECCCBC229B0DFEB934736FB /* PaddingDesignable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2FAB7E3B981BA9ACEB0D727A210DE84C /* PaddingDesignable.swift */; }; - 373E9176F5BEEBC1C17936DD87A59EF7 /* Disposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 101D654A5F60FDA6F2BE08E2C47D0359 /* Disposable.swift */; }; - 3743F6FE1649C20D12E99F3B49BCCC75 /* Sequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = A81251AACCC703824883C8DD0BA3440D /* Sequence.swift */; }; - 37A2A3BEA3BD651DC004977CA2299990 /* Driver+Subscription.swift in Sources */ = {isa = PBXBuildFile; fileRef = C01C24279BCC821CBD96C8D052E6CC59 /* Driver+Subscription.swift */; }; - 3829CBCC3598DB13C2AD3B7383D1F24A /* MJRefreshFooter.m in Sources */ = {isa = PBXBuildFile; fileRef = 352FED2A81FB0F84AC203D793E412999 /* MJRefreshFooter.m */; }; - 382C2F8726687CEBCEFE900ABC19DE8B /* Dematerialize.swift in Sources */ = {isa = PBXBuildFile; fileRef = E80708EB29EC2E9864E7AE514F4ADA44 /* Dematerialize.swift */; }; - 3845689DFB2BE4BFAD2D3C2733D7054A /* ImageTransition.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54B23FAB5F2E33BFB7C67CE05AAB4300 /* ImageTransition.swift */; }; - 3857FA2B4BA148BA85E93B4CCB88EB5A /* TransformOf.swift in Sources */ = {isa = PBXBuildFile; fileRef = E477F9488C576ABC02A36A50F2BDBA13 /* TransformOf.swift */; }; - 38BCB710DF8A7DEB34240CB63520F7A0 /* LOTPolystarAnimator.m in Sources */ = {isa = PBXBuildFile; fileRef = 91DB995E8E92CECB468D53167ACBCCD9 /* LOTPolystarAnimator.m */; }; - 38F94020F18E7E473F0B8194A32A4522 /* OtherExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 10305D9ABD2DC366AD35EDC8CBF583BC /* OtherExtension.swift */; }; - 393BC791FEE05DA7359CCA9B778FDE8A /* RxTextViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5106974B32012604F4B1E5CD247CCFAE /* RxTextViewDelegateProxy.swift */; }; - 395EAD2EB032976C623277BDE791C78E /* TransitionAnimatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61CBC6FDD2686CFE54F8966D855B73D9 /* TransitionAnimatable.swift */; }; - 397EDB4456595E9DAD40A146B2B293D7 /* Generate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0933220A8D6CF0AE38A97800A6EFEC28 /* Generate.swift */; }; - 39DFCFB42AA01EFA35072D16BAAD7EF1 /* NVActivityIndicatorView-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = CD3B0F25E6B3A9D0EAC3774E978653DF /* NVActivityIndicatorView-dummy.m */; }; - 3A52A82EE8E9CC1417AE0EA67007A9B7 /* NVActivityIndicatorAnimationBallClipRotatePulse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DE4B0EF0A30685BCB8F3779536AC77F /* NVActivityIndicatorAnimationBallClipRotatePulse.swift */; }; - 3A7A1D5495F61B2D9F9E2A051296C444 /* LOTAnimatorNode.h in Headers */ = {isa = PBXBuildFile; fileRef = D27D41687E50035F8A5050222B48076D /* LOTAnimatorNode.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3A7A6AE51B1B1E21676D41DF7A3104CF /* SVProgressHUD.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 28738AB72A3811020BB17E146C4B9AA3 /* SVProgressHUD.bundle */; }; - 3A7B05FB57419F3D6D70DC8EB5438CCC /* LOTStrokeRenderer.h in Headers */ = {isa = PBXBuildFile; fileRef = E677BFC29DD705F961D34C6AE7CBF127 /* LOTStrokeRenderer.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3A976938482AF47CD3451EB4E41FFCC0 /* _RXDelegateProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = A2854258079A71E6C92D5FC6BA3C953A /* _RXDelegateProxy.m */; }; - 3A99826C88943BE4F02BB246BC07A835 /* UISearchBar+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B64DF65DA85293CF802806E754D7C3B /* UISearchBar+Rx.swift */; }; - 3AF9EA208E27453B2DF2FA313E07EB13 /* ControlEvent+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = A778E58642D68B159C610F241B292543 /* ControlEvent+Driver.swift */; }; - 3B0AF679BEE2ECADF1B32E5E2699B12A /* CurrentThreadScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2B5FF2FAAACBBE7BB0DE875DCACA56BB /* CurrentThreadScheduler.swift */; }; - 3B0D98EE5618194885C1A7509E8CCC7F /* SynchronizedDisposeType.swift in Sources */ = {isa = PBXBuildFile; fileRef = E5F8091E798CFE01A256AD2FD41E06AF /* SynchronizedDisposeType.swift */; }; - 3B27DA13C86E539FADE9611148AC2176 /* RotationDesignable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E176665CF4CDEC57664FD5AAD1B2A46 /* RotationDesignable.swift */; }; - 3B8EB35E8B3FAE88B8F2407618DCE8FE /* SharedSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 29D970BC4A88ADB58933EEE25921B7E6 /* SharedSequence.swift */; }; - 3BD770D0EB162E2EE3503D75AED33BE1 /* PresentFadeWithDismissInteractionSegue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9B2F2974F33FF3BE0DF5054E597FE163 /* PresentFadeWithDismissInteractionSegue.swift */; }; - 3C1D595EF06F4A99CE1D53AD8AE147C3 /* ThemeManager+Index.swift in Sources */ = {isa = PBXBuildFile; fileRef = 031A0A98B751ADE6C79919ADE0ECCBAC /* ThemeManager+Index.swift */; }; - 3C9375C8C7C74D5995E551C4D1784F65 /* SVProgressAnimatedView.h in Headers */ = {isa = PBXBuildFile; fileRef = DD80F1AF8783480F27672DDACB78A0FA /* SVProgressAnimatedView.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3CB94A5AA85DEEBA07F270A5EA4C1D56 /* SQLite.h in Headers */ = {isa = PBXBuildFile; fileRef = 8699C09F715A641BC89BC4ADF1F4A9B6 /* SQLite.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3CE3AA2EE8CE683036E91B7C44C60805 /* AnimationType.swift in Sources */ = {isa = PBXBuildFile; fileRef = C02460B6CCFFA34EC99D327DF6CAC988 /* AnimationType.swift */; }; - 3D47D193CF8CA461CD9911F394A8C138 /* BMPlayer-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 86B6E2EB2A20EC3A39358FE69BF3C6FC /* BMPlayer-dummy.m */; }; - 3D6C07F8C9B32EB2543B8908B2F029E9 /* ActivityIndicatorAnimationBallGridBeat.swift in Sources */ = {isa = PBXBuildFile; fileRef = B89D36CBAB389E947702A2E2388D25FE /* ActivityIndicatorAnimationBallGridBeat.swift */; }; - 3D98152F2F56FA1FE7D09E76807A726C /* ControlTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = ABC3431CBE8D229FCD4081EDA1C412C0 /* ControlTarget.swift */; }; - 3DA9227F3FD83241A4D4BA9DBAE405AD /* ImageModifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7C9A7E4F141E41A9851EC7AF36D34EA5 /* ImageModifier.swift */; }; - 3DAB3B598E2C07584BFF78DDEF47C43F /* Create.swift in Sources */ = {isa = PBXBuildFile; fileRef = E927010B905FDFA7AEC0C40C6AF36853 /* Create.swift */; }; - 3DF410B8E4E16AEFBFC0A6ABA0C97B4D /* lottie-ios-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = BFDD8B256B99FA51B9A5CC378ACF3212 /* lottie-ios-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3DFF05585F855CC610E2D52A48F4E99D /* LOTFillRenderer.m in Sources */ = {isa = PBXBuildFile; fileRef = 29E4ED58F389D2269E7CD54290B3A398 /* LOTFillRenderer.m */; }; - 3E9716F3E4BDBD1A742AC5806839642A /* SVProgressHUD.m in Sources */ = {isa = PBXBuildFile; fileRef = 1DA38988DBA019F3A26551B2BED2B07A /* SVProgressHUD.m */; }; - 3F0FC27C5A2B9680C39CAD4A1BB32ACC /* UIScrollView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4634847E1B5F43F1CD8FF71535B4FE69 /* UIScrollView+Rx.swift */; }; - 3F417CD7272E8C533D16C6390FA52727 /* SGPagingView-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = DB885D307B2E051CA8FD03A5B79A2E8F /* SGPagingView-dummy.m */; }; - 3F7D320528F306187FB12746EF258951 /* Serializer.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED3F8F82B8600E2BC79FFBD685F43506 /* Serializer.swift */; }; - 3F8E8FAE94316CE1C18CF021B2D0105B /* UIBarButtonItem+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 914C9321B049D013657F1124EEE3EABB /* UIBarButtonItem+Rx.swift */; }; - 3FE38CE6A5B611699CDBB6812680683D /* UITabBarController+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = BEC4B1FF8B4365291E9AE0EDF942E272 /* UITabBarController+Rx.swift */; }; - 40076004A45ACA34AF2F42F2B601BC1C /* ObserverType.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7C5DEEBD8C6947BAD24302EF9A9A3B0 /* ObserverType.swift */; }; - 40CD2B603EE44890BD900801CF790768 /* UINavigationItem+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3634E6867D396BCB8E574D0992ACC8BD /* UINavigationItem+Rx.swift */; }; - 414EAB5EDC85F42265F43C4EF5567498 /* Signal+Subscription.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09B4AB1C88F70BA17E7ADD1D8AE89C0C /* Signal+Subscription.swift */; }; - 416E3339B24362B8A32C6652444F6B0C /* DelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3450176F1B308716055F475EC13C316B /* DelegateProxy.swift */; }; - 41BB26280DD3D8A9509E2FC56F093234 /* RefCountDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8FD528629AC282DD4C830341E6C8AF8 /* RefCountDisposable.swift */; }; - 41F8BAE2FACC28ECA28C9D573D8BB53B /* RxCocoa-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 32B8F77A0B48AF0F5F3B344EEB4E41A1 /* RxCocoa-dummy.m */; }; - 426A260950A8CE106E101966993CA606 /* NSLayoutConstraint+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A3EBBD6FE7169C3557CD3AE9A4AA527 /* NSLayoutConstraint+Rx.swift */; }; - 42DF7B0F5BFBD02FDC920DC6C869EE8C /* UIRefreshControl+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8B6B7EA8BBBC7ED0143D83E3F0A539E0 /* UIRefreshControl+Rx.swift */; }; - 4306B9BF507FA5F3E17E9C85F4F50E04 /* ThemeActivityIndicatorViewStylePicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF9FB1B3F7CCB541FA0267781F83F6E5 /* ThemeActivityIndicatorViewStylePicker.swift */; }; - 43B350800465FBF928C740D846BB227D /* PresentationBackgroundView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E769E51044143DF5A6F2D28B2AAFED4 /* PresentationBackgroundView.swift */; }; - 43E8712679F19F06E3DA6ECBF64E48F4 /* LOTShapePath.m in Sources */ = {isa = PBXBuildFile; fileRef = B5E482E0BBB40A4BC1C53792528A4538 /* LOTShapePath.m */; }; - 43F4C65BB55B7B3C95B10C5FA78D1144 /* Debugging.swift in Sources */ = {isa = PBXBuildFile; fileRef = 217558C4544B1F77AA5841C7A35D1B36 /* Debugging.swift */; }; - 441E5FF0EAE0455187595BE7C86DA6A2 /* ObserverBase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 317BAB3D75FB5200C7E8602471ECE78A /* ObserverBase.swift */; }; - 44F9107433F905BB292E19007C869484 /* CombineLatest+Collection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C4C5A85A718955DA33F5062BE018BD3 /* CombineLatest+Collection.swift */; }; - 45B7303F88162E1CEEF523FC5CC7FBBE /* NVActivityIndicatorAnimationBallZigZagDeflect.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0ABBD4A0FD9D5A5318CC16789319A8E6 /* NVActivityIndicatorAnimationBallZigZagDeflect.swift */; }; + 33F68C68D4A67265729F317D9B48593E /* LOTArrayInterpolator.m in Sources */ = {isa = PBXBuildFile; fileRef = 169BDC417E3E8E68F93E89AF317708A7 /* LOTArrayInterpolator.m */; }; + 3406BF34CCB2D3401C6A773FC8884CCE /* ActivityIndicatorFactory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68757E28F2CD15B1CB727F3A9B99EE28 /* ActivityIndicatorFactory.swift */; }; + 3434D06000F1494C822F554C7395078A /* NVActivityIndicatorAnimationBallGridBeat.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8BC73EE0670636F49F762D9F3D904FCA /* NVActivityIndicatorAnimationBallGridBeat.swift */; }; + 344DB99F8332029C0391F08B6D0E425C /* MJRefreshAutoNormalFooter.m in Sources */ = {isa = PBXBuildFile; fileRef = 68BE291526C36EE1D87ED4ECEB10B62F /* MJRefreshAutoNormalFooter.m */; }; + 3464228E4F1F63DBCA803CC848A6A8C0 /* Resource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 096ED65BA30877202082792141B97773 /* Resource.swift */; }; + 34FACE8FB517CC428CE303FDD9588B75 /* Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6532AF9891126032BAA6C7EC838904F3 /* Rx.swift */; }; + 353CE29984FE378A10BEF89C983E6F79 /* SGPageTitleView.h in Headers */ = {isa = PBXBuildFile; fileRef = 68122DDE19B26DF805C32C4BBACB7FDD /* SGPageTitleView.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 35622A486C86877DD1C58148E3271EAF /* BinaryDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61C1C4477B40F13968866137AFF0B4B7 /* BinaryDisposable.swift */; }; + 35D685CF7C6F73A65AD3DD99674CA78F /* MJRefresh.h in Headers */ = {isa = PBXBuildFile; fileRef = D93693DA7A73075F51F45B1F759B2663 /* MJRefresh.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3626B94094672CB1C9DEA32B9F9502E1 /* TaskDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC9328E15CC94F9C88956DA3D739F3A1 /* TaskDelegate.swift */; }; + 36582F9D2F4A427A98B5C8CA84BE830D /* ConstraintMultiplierTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01CA2ACBFBA9681986447CE4D3FA6076 /* ConstraintMultiplierTarget.swift */; }; + 3679764338B3550A4065222F6ADD87A0 /* Reactive.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF0AEEDC4E7F5D56B08807B42918FEF9 /* Reactive.swift */; }; + 36CA338E4ECCCBC229B0DFEB934736FB /* PaddingDesignable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F53744899DC8FD76805AF2C4ADF2E6C /* PaddingDesignable.swift */; }; + 371AF4BB84DC7BA59A0A7775AB309DAF /* Completable+AndThen.swift in Sources */ = {isa = PBXBuildFile; fileRef = BE27955380EB9F1A04E6412A6DAEF144 /* Completable+AndThen.swift */; }; + 378B6216F42EA510A809E15A488C9C41 /* PublishRelay+Signal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7739202509219F676C5741EB52E875F4 /* PublishRelay+Signal.swift */; }; + 3796DED7050BE4D67756871B2858A6E3 /* NSLayoutConstraint+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = F023E599536CD6FCEC210E56916CBB05 /* NSLayoutConstraint+Rx.swift */; }; + 3829CBCC3598DB13C2AD3B7383D1F24A /* MJRefreshFooter.m in Sources */ = {isa = PBXBuildFile; fileRef = 55C4B370871F8B45FFFA79D46F8BE59E /* MJRefreshFooter.m */; }; + 3857FA2B4BA148BA85E93B4CCB88EB5A /* TransformOf.swift in Sources */ = {isa = PBXBuildFile; fileRef = 440C90F3F5C301B9E904658C51B80654 /* TransformOf.swift */; }; + 38F94020F18E7E473F0B8194A32A4522 /* OtherExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C72BACC58D732DB034490E255E72B5 /* OtherExtension.swift */; }; + 392CE01E093C05C4343943A14FD1C1B9 /* LOTBlockCallback.m in Sources */ = {isa = PBXBuildFile; fileRef = 33C72D183DB5C9B9DB91FE57FC626FDB /* LOTBlockCallback.m */; }; + 395EAD2EB032976C623277BDE791C78E /* TransitionAnimatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6D8D81CF5BB20DEC0CF783E5698D1197 /* TransitionAnimatable.swift */; }; + 39CECC60331E8677967900440BA9EFE1 /* RxSwift-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 6ABA735DF69F0869B44E5DBC5CFF4928 /* RxSwift-dummy.m */; }; + 39DFCFB42AA01EFA35072D16BAAD7EF1 /* NVActivityIndicatorView-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = C9D43139503502EB878958814877B668 /* NVActivityIndicatorView-dummy.m */; }; + 3A52A82EE8E9CC1417AE0EA67007A9B7 /* NVActivityIndicatorAnimationBallClipRotatePulse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 507551A21856F938BBF15ED20550DAD9 /* NVActivityIndicatorAnimationBallClipRotatePulse.swift */; }; + 3A7A6AE51B1B1E21676D41DF7A3104CF /* SVProgressHUD.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 00B19D41B5B7644FBCDDEBD6C220699F /* SVProgressHUD.bundle */; }; + 3ADD787A134CCF12CC9B27D0EACA7FAB /* LOTShapePath.h in Headers */ = {isa = PBXBuildFile; fileRef = 4000F3E90F1F086632650C84EB77EDC7 /* LOTShapePath.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3B27DA13C86E539FADE9611148AC2176 /* RotationDesignable.swift in Sources */ = {isa = PBXBuildFile; fileRef = F03C45D2DFDD86741C0C2B75BF3C35F9 /* RotationDesignable.swift */; }; + 3B686D3C5B6B85293CC881A5AE2AE304 /* RxWebViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A57625B2B7FDB9CE8A4BA7EA99F6C8D /* RxWebViewDelegateProxy.swift */; }; + 3BD770D0EB162E2EE3503D75AED33BE1 /* PresentFadeWithDismissInteractionSegue.swift in Sources */ = {isa = PBXBuildFile; fileRef = B4E47D79C606D1F3C6E015DF8E1D947C /* PresentFadeWithDismissInteractionSegue.swift */; }; + 3C1D595EF06F4A99CE1D53AD8AE147C3 /* ThemeManager+Index.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5845DC8F1C128150C5C38B55EEB11C72 /* ThemeManager+Index.swift */; }; + 3C9375C8C7C74D5995E551C4D1784F65 /* SVProgressAnimatedView.h in Headers */ = {isa = PBXBuildFile; fileRef = 846817132336D33D1A4E49618F11480F /* SVProgressAnimatedView.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3CB94A5AA85DEEBA07F270A5EA4C1D56 /* SQLite.h in Headers */ = {isa = PBXBuildFile; fileRef = A9684F1AAB8EE94DA099D1B321FB23FD /* SQLite.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3CE3AA2EE8CE683036E91B7C44C60805 /* AnimationType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5AF6CA7BBB015B276071840A36B65889 /* AnimationType.swift */; }; + 3D47D193CF8CA461CD9911F394A8C138 /* BMPlayer-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = B811915CCA19C09C9CBDA8F7DB584406 /* BMPlayer-dummy.m */; }; + 3D6C07F8C9B32EB2543B8908B2F029E9 /* ActivityIndicatorAnimationBallGridBeat.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B99DFD72B1F0ABD76F9D3D6F6CB4DAD /* ActivityIndicatorAnimationBallGridBeat.swift */; }; + 3D893D4EA8EFDDD8824D6333FE7D1ED4 /* LOTPolystarAnimator.h in Headers */ = {isa = PBXBuildFile; fileRef = 80224992DD9DD9E87D9E53F694E447F7 /* LOTPolystarAnimator.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3D90D81F4CA8F073F29B3C1BBA09FC30 /* RxSearchControllerDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 282A2038CFD0680C2FE07621E576F472 /* RxSearchControllerDelegateProxy.swift */; }; + 3DC66D0709F3034398E1B47F94C6B9F3 /* Sequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7867E06345BDAC93973637103420FE00 /* Sequence.swift */; }; + 3DE9A617976F876BDD98D4865021B090 /* Completable.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9291FEF14513B3E7D18F1727DD5FCB1 /* Completable.swift */; }; + 3E54C666A16FBD9D1047B751FC76BF39 /* ObserverType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 92D8C0D953E982A1E687437C8758DA79 /* ObserverType.swift */; }; + 3E676AC64298B03F3B95C86E6203A704 /* CompositeDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E4DAF209E0D7516F0E460E0D17697DD /* CompositeDisposable.swift */; }; + 3E9716F3E4BDBD1A742AC5806839642A /* SVProgressHUD.m in Sources */ = {isa = PBXBuildFile; fileRef = 53324584453C14CAD59217E3F62BAF2A /* SVProgressHUD.m */; }; + 3EEF1FE5BDDD4BFDCA697914E3BCD104 /* GroupBy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4BFAFF1C82F163C646075C6EE740D720 /* GroupBy.swift */; }; + 3F417CD7272E8C533D16C6390FA52727 /* SGPagingView-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = CEDB7E375F5BB81C7E89E93099C82A0B /* SGPagingView-dummy.m */; }; + 3F7D320528F306187FB12746EF258951 /* Serializer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 823641CD18FC8E8E24BF00235E99058C /* Serializer.swift */; }; + 403E3E170DCF269D5CBA1C530ECA901B /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 233D9DA986ACE8F0A8734B129D658506 /* Foundation.framework */; }; + 4074AA6F2557EF7970DEDE67B04433B6 /* AnimatedImageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5758FA653685018C7D8607C4D8DC9A29 /* AnimatedImageView.swift */; }; + 407B1E039974F2703137195F4E771675 /* LOTPointInterpolator.m in Sources */ = {isa = PBXBuildFile; fileRef = 54C90FC1786ECDF380F0FDBA2111A15D /* LOTPointInterpolator.m */; }; + 40CBDCF9E453EA48422844F2DECAEEAC /* LOTShapeRectangle.h in Headers */ = {isa = PBXBuildFile; fileRef = D3A61B22A5F5F8A2DE1E308474922496 /* LOTShapeRectangle.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 423B0C9E725E47B20DF9F980DF8A2C1D /* RetryWhen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 834D33569CB5B7D7A157208CC70D425B /* RetryWhen.swift */; }; + 425165FAD7A1D389BF00780B37D5E3FA /* HistoricalSchedulerTimeConverter.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC441ACB4FAFE1BF35F614C219CC573E /* HistoricalSchedulerTimeConverter.swift */; }; + 43038E997AE22C5B4BD2ABC9ACADA277 /* LOTValueDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = BE97B2CA124018A6829DB0364924FCF1 /* LOTValueDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4306B9BF507FA5F3E17E9C85F4F50E04 /* ThemeActivityIndicatorViewStylePicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75B1EB4E9E7392954C622C1E44E4C903 /* ThemeActivityIndicatorViewStylePicker.swift */; }; + 4345BE86D4E7FE70BA597285257A5217 /* CurrentThreadScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = C28AD25BE02801A59054C2362C678CD2 /* CurrentThreadScheduler.swift */; }; + 43B350800465FBF928C740D846BB227D /* PresentationBackgroundView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 21F5B2CB19BDF9527AA1C48E583A8B47 /* PresentationBackgroundView.swift */; }; + 43F4C65BB55B7B3C95B10C5FA78D1144 /* Debugging.swift in Sources */ = {isa = PBXBuildFile; fileRef = D31F70AD8ABA26FD491305AF773AB9A6 /* Debugging.swift */; }; + 44CD632F1C450CD1A7E2A38559EF4E64 /* DelaySubscription.swift in Sources */ = {isa = PBXBuildFile; fileRef = 05A5D4711A5A34E365F01EBDC2FF31A3 /* DelaySubscription.swift */; }; + 44D592E581BD1EBB6DCFAE10AE47BEA6 /* Dematerialize.swift in Sources */ = {isa = PBXBuildFile; fileRef = DAA4D00361F83598FCF94AA1125DF7AB /* Dematerialize.swift */; }; + 45481DB9433D267337329718652BE62A /* SharedSequence+Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = 755FD33A78EF7C1B2DD7296DF7C92A62 /* SharedSequence+Operators.swift */; }; + 45677FA3E0B908496AE3E7E085108F55 /* ObservableConvertibleType+Signal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1B47CAA0F8F347E7C131B50195955F76 /* ObservableConvertibleType+Signal.swift */; }; + 459E1F512421D19A10E831340732838F /* RxCollectionViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = B4179336D1D968D6E28FC64080FEDFE9 /* RxCollectionViewDelegateProxy.swift */; }; + 45B7303F88162E1CEEF523FC5CC7FBBE /* NVActivityIndicatorAnimationBallZigZagDeflect.swift in Sources */ = {isa = PBXBuildFile; fileRef = FBBE86634262EBDC819888A0CAC65700 /* NVActivityIndicatorAnimationBallZigZagDeflect.swift */; }; + 460DC326DD17FBE43F014E4AD9668879 /* LOTShapeStar.m in Sources */ = {isa = PBXBuildFile; fileRef = EE1745E920F12C9FA580A11834A80556 /* LOTShapeStar.m */; }; 463B122652242D997B425D62013D0899 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2C7C898F5F650F65008E903708D884F9 /* UIKit.framework */; }; - 46729CBFB75951B7D527F15EEBEE7D95 /* LOTShapeRepeater.h in Headers */ = {isa = PBXBuildFile; fileRef = 686DC854562D039C5B425D792B6E11BF /* LOTShapeRepeater.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 46DDA1BDA6FC90CBA3BF6F1291398229 /* NVActivityIndicatorAnimationBallScaleRippleMultiple.swift in Sources */ = {isa = PBXBuildFile; fileRef = 433DD1FB552D99CCB858D3901575635F /* NVActivityIndicatorAnimationBallScaleRippleMultiple.swift */; }; - 474BC65962980B6B00FC8C491161C167 /* DelaySubscription.swift in Sources */ = {isa = PBXBuildFile; fileRef = 22CCF47BD82A4560E8CF79FA844D089E /* DelaySubscription.swift */; }; - 47A6F2B2CBCD6B219E142956210D3504 /* PropertyInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = B43B445460B045347B346A6D01946C43 /* PropertyInfo.swift */; }; - 481FE6A7D2D17503ECE638D0FEAB0605 /* Zip+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 29A76F0CA92615B2C22FBEE806BD58C2 /* Zip+arity.swift */; }; - 484F91517EBACA04A7A4BFBE36A826DD /* ShareReplayScope.swift in Sources */ = {isa = PBXBuildFile; fileRef = 275E0B1A851A23390848AC14266605B6 /* ShareReplayScope.swift */; }; - 4864C53E73765D124E313DEF00A7FFB2 /* AnimatableBarButtonItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2DEFB69FD90AF7EA92FAB7D4E9D6448 /* AnimatableBarButtonItem.swift */; }; - 48803FFDFE7CA4152865BFF1BF6CEC98 /* ViewControllerAnimatedTransitioning.swift in Sources */ = {isa = PBXBuildFile; fileRef = 710D0B01AA6F1E5DA16DAECF8A661206 /* ViewControllerAnimatedTransitioning.swift */; }; - 48C4DB94C08AB5793BBF9A29DF8F5DA4 /* LOTColorInterpolator.m in Sources */ = {isa = PBXBuildFile; fileRef = B81315CAFF12D116F93A17CADA7C51FC /* LOTColorInterpolator.m */; }; - 490765E41BB79F84D70C178B36C9081C /* BMPlayerLayerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52E575055D33688C23C516E85A8EB7D7 /* BMPlayerLayerView.swift */; }; - 49515127D3479D589D973BE9E2E8D4A7 /* LOTAnimationTransitionController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6DC8F2043D939E2FA4064F50BCBE3A54 /* LOTAnimationTransitionController.m */; }; - 4993D2CB58938034B6F2AB0C9432F7A0 /* SwiftSupport.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68668091E8562051C29EEDA31619E2BB /* SwiftSupport.swift */; }; - 4A09035E2E2F1DBAC774F4FEC5D0DEDC /* CoreFunctions.swift in Sources */ = {isa = PBXBuildFile; fileRef = C52DEF4E1C9B02F53DD65B973213D831 /* CoreFunctions.swift */; }; - 4A1E7537AD4CE1C30B606B4789CABB68 /* ViewControllerDesignable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 101908FF6546070B0F0A7E76B80D5749 /* ViewControllerDesignable.swift */; }; - 4A6803E0A16C4A0EE5F7264C5A962B96 /* PresentNatGeoSegue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 665C27DDDFEB6553E7A273E645165218 /* PresentNatGeoSegue.swift */; }; - 4BBAFC083190D12A8B4B95BF9006E98F /* ObservableType+PrimitiveSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = A0BF37807C32A030BA589DA4324E587F /* ObservableType+PrimitiveSequence.swift */; }; - 4BECA03F4DA152A9B93EC4D87905B3B2 /* lottie-ios-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = FAF5EE40838C21CFE75217CC0444F49A /* lottie-ios-dummy.m */; }; - 4C103D2E7CB2BBDF423F3F66C7C7DB8C /* BorderType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1873B576DE03FC4BD2ED1BC9792A7F88 /* BorderType.swift */; }; - 4C4610E685DA0B67086FD840B5E21639 /* LOTPointInterpolator.m in Sources */ = {isa = PBXBuildFile; fileRef = FCB2083C762822A59B7E20DA0A27EA3B /* LOTPointInterpolator.m */; }; - 4C9BC8452A35257E2F3B64F4F411FD3E /* Navigator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DB90A3CC0D4207647123FC23192D43A /* Navigator.swift */; }; - 4CA990423A983284B278853C9CCB1D80 /* BackgroundImageDesignable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 488C60C738D21716C0AF70587CBFB7DE /* BackgroundImageDesignable.swift */; }; - 4E673C9DE9F5E1640BABEA1B482BA51A /* _RXObjCRuntime.h in Headers */ = {isa = PBXBuildFile; fileRef = A96559C064EF005E79DF1CF3F73E58D5 /* _RXObjCRuntime.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4F313D15268BC2131F204B6F4E545C7E /* IBAnimatable-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E116E12E294301CE62A333D001BD76D /* IBAnimatable-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4F5373DB1CF95D6A912D0B31F4640316 /* Pod_Asset_BMPlayer.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 2241D4DB1F8AF61114D723571EEB34B2 /* Pod_Asset_BMPlayer.xcassets */; }; - 4F85847E6899FE58D9451E26A766F8DA /* Platform.Linux.swift in Sources */ = {isa = PBXBuildFile; fileRef = A6EAE8DBC842461C6658F10396FFAC83 /* Platform.Linux.swift */; }; - 4FE02BAA4546AC1733B4704AF97222FA /* UISlider+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1810B7508D3AFCB929CD970857614D98 /* UISlider+Rx.swift */; }; - 4FE3DE7CBF0BE1318E7A1F6C4D400989 /* LOTShapeFill.h in Headers */ = {isa = PBXBuildFile; fileRef = F28848F69D934234205D7F163A67AF87 /* LOTShapeFill.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5051DED845B9F655D1E249D2FD7C71DA /* PortalAnimator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9FB19168336535E0B969EC489D5BB393 /* PortalAnimator.swift */; }; - 507C418706B1CB34A4AFDE0CE1958535 /* Cancelable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6DB77932F17051F0479A6BA07E55E754 /* Cancelable.swift */; }; - 5091DC02D0E9676AA470A66008D6371B /* LOTShapeCircle.h in Headers */ = {isa = PBXBuildFile; fileRef = E57A65FF584BA4798DC313AF595B5849 /* LOTShapeCircle.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 511B368A7F70BF5C34921429E2DE5583 /* SGPagingView.h in Headers */ = {isa = PBXBuildFile; fileRef = 17090CC49F55E7722F956A4D71474149 /* SGPagingView.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 511B9682B1DD7341DF151084AFB3895B /* SVRadialGradientLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 5AECF07F350A490627BD23C2B2423950 /* SVRadialGradientLayer.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 515318F63FC93FFE112790B6A99DFC1E /* NVActivityIndicatorAnimationCubeTransition.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC50DAFF40940950B879CA17E98DF707 /* NVActivityIndicatorAnimationCubeTransition.swift */; }; - 516F39BA0F75A4F183BC1E97285B2A29 /* UIWebView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 431B1D8F346EEE81BB8417F0C0D7EF45 /* UIWebView+Rx.swift */; }; - 5194E4BB73F008919A096E1EA89773BA /* ActivityIndicatorAnimationBallGridPulse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84649FD6A4894D8DCBC4A1D05667666F /* ActivityIndicatorAnimationBallGridPulse.swift */; }; - 52416A6AC7387ECACCC45596498D96AD /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9DB936E3EFFF5DEA8990B57BF4D59E07 /* CFNetwork.framework */; }; - 529A0376ADFDE756400C51337262E135 /* DispatchQueueConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 26F152EBEF092CABAADB6AF5258BB543 /* DispatchQueueConfiguration.swift */; }; - 52FD2ECFABE74E0C34DDF7BAC4985CCE /* NVActivityIndicatorShape.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A526298B38F701CA729115DD8D4A50E /* NVActivityIndicatorShape.swift */; }; - 531C8AFE0CC46EF27FE422AA2E61469A /* NVActivityIndicatorAnimationAudioEqualizer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 701A594B2C38DF07995B48AC29AD28FE /* NVActivityIndicatorAnimationAudioEqualizer.swift */; }; - 531CAD5B6C267D2C28F8F73D74DDA9C5 /* ConstraintAttributes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F6296EE937FC1B5C6857D1415A43D57 /* ConstraintAttributes.swift */; }; - 5387216E723A3C68E851CA15573CDD71 /* Request.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78021542B45F3EBDAA75FFB4E7BB05E5 /* Request.swift */; }; + 468F33C5C3BE7C3DEA0425AD4008B8EF /* SchedulerType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 97D37362078B98B5A399399E3B5059D3 /* SchedulerType.swift */; }; + 46DDA1BDA6FC90CBA3BF6F1291398229 /* NVActivityIndicatorAnimationBallScaleRippleMultiple.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD70B276EB9710F468EABADAAC933760 /* NVActivityIndicatorAnimationBallScaleRippleMultiple.swift */; }; + 470B2DF3AA4A4F2B9460AAD97CA09D60 /* LOTAnimationTransitionController.m in Sources */ = {isa = PBXBuildFile; fileRef = C5367EBAA085E256AAFF13F949480AAE /* LOTAnimationTransitionController.m */; }; + 47A6F2B2CBCD6B219E142956210D3504 /* PropertyInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 796C88A741D7170AA826E8AF513AF2CC /* PropertyInfo.swift */; }; + 481032F17C4BC2F5879FBB31871A7860 /* CombineLatest+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = A033B2177DA90822C85DC9B0440F6CAE /* CombineLatest+arity.swift */; }; + 482C2D1A6E51CA461CA13DE648621ACF /* ItemEvents.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E2BCFFD36A09538CDBCEC8BA2CB3716 /* ItemEvents.swift */; }; + 4851CCE9EACB588A4FF9B4BECA02FBA4 /* ControlEvent+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = F6CA5ED369F2402A1F3644FC1A7F63E3 /* ControlEvent+Driver.swift */; }; + 4864C53E73765D124E313DEF00A7FFB2 /* AnimatableBarButtonItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D70961927FBAEAE99C4A0BB9A0D93B5 /* AnimatableBarButtonItem.swift */; }; + 48803FFDFE7CA4152865BFF1BF6CEC98 /* ViewControllerAnimatedTransitioning.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3FE36C33D886EF7DC64E6ADE85C40356 /* ViewControllerAnimatedTransitioning.swift */; }; + 48944B52B1C4E109CB7547003577D4A0 /* LOTAssetGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = 01ED90D1644D01C0F7A2766D7D759E2D /* LOTAssetGroup.m */; }; + 48DE7864746CBC129C542FC964F0221E /* LOTMaskContainer.m in Sources */ = {isa = PBXBuildFile; fileRef = D2711EF03BAE14B079FD2EE6FF68C790 /* LOTMaskContainer.m */; }; + 48FC2D1DCD95288A839494A95158868F /* Errors.swift in Sources */ = {isa = PBXBuildFile; fileRef = B514A13E642052BDAB405C7FADEE7DF4 /* Errors.swift */; }; + 490765E41BB79F84D70C178B36C9081C /* BMPlayerLayerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D299F6C69F91D708A0C3B45B23F4FD9D /* BMPlayerLayerView.swift */; }; + 491955E1AAF7899722B127A2A53F073C /* LOTFillRenderer.h in Headers */ = {isa = PBXBuildFile; fileRef = 04DAAE74DF86DF1150A3304F46E679FA /* LOTFillRenderer.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 498DC29155467AC093701C1AF5EE3807 /* Placeholder.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAE25BD299E8315FE7661454EA61092F /* Placeholder.swift */; }; + 49B6F05CDF7ACCC41DD231E3E5AD442D /* UIRefreshControl+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 988C7BEE34D62AB4DFD185B09EACC0AC /* UIRefreshControl+Rx.swift */; }; + 49D3E4CA2AF664BE3F46EB1B7939C7E9 /* SkipWhile.swift in Sources */ = {isa = PBXBuildFile; fileRef = A4B55BE96D63B45A713E70BDAD776585 /* SkipWhile.swift */; }; + 4A09035E2E2F1DBAC774F4FEC5D0DEDC /* CoreFunctions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 83D35003934A48251A4185797082217D /* CoreFunctions.swift */; }; + 4A1E7537AD4CE1C30B606B4789CABB68 /* ViewControllerDesignable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 475FF71B4D6604579384D486E2AF42D1 /* ViewControllerDesignable.swift */; }; + 4A6803E0A16C4A0EE5F7264C5A962B96 /* PresentNatGeoSegue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 20B17F54B12ABE32630E630C2EA56A4D /* PresentNatGeoSegue.swift */; }; + 4C103D2E7CB2BBDF423F3F66C7C7DB8C /* BorderType.swift in Sources */ = {isa = PBXBuildFile; fileRef = E1179D6431554D10179E1D97CF0276E1 /* BorderType.swift */; }; + 4C2BC51AF1D9C015C8714E5FAFCE7138 /* ControlEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8F94C4537F957EEC1178B0CA0492BE21 /* ControlEvent.swift */; }; + 4C9BC8452A35257E2F3B64F4F411FD3E /* Navigator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5293E62D6725229571CEA65DAC9B2DEC /* Navigator.swift */; }; + 4CA990423A983284B278853C9CCB1D80 /* BackgroundImageDesignable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 561F965D3F0B38F15A19711A23EC769F /* BackgroundImageDesignable.swift */; }; + 4CD1DBC3FEC89A3DF333433DCACD7233 /* RxTextViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB9CA43A5386A5DCB42FB719B453ACB0 /* RxTextViewDelegateProxy.swift */; }; + 4D693FB72AC596312C5F126BF26F59AC /* UIBarButtonItem+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A9BBC65DD6452F3985BC905DA010D3C /* UIBarButtonItem+Rx.swift */; }; + 4D7F55C87BD58C6DD10AD87FB7C256A3 /* Lock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9B061CB28DA161D993129B2294339A28 /* Lock.swift */; }; + 4E673C9DE9F5E1640BABEA1B482BA51A /* _RXObjCRuntime.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AEDB8211337E5F41E5AD7372C213775 /* _RXObjCRuntime.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4E8577B8C44109443E0457AD2F8EEAB6 /* DisposeBase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09E557D29F303635D9316E9E64BE0E3A /* DisposeBase.swift */; }; + 4F313D15268BC2131F204B6F4E545C7E /* IBAnimatable-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 64925F2880EA27EFA581E09A99086881 /* IBAnimatable-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4F5373DB1CF95D6A912D0B31F4640316 /* Pod_Asset_BMPlayer.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = A7486C86AE999BB415FF42399CE37A8A /* Pod_Asset_BMPlayer.xcassets */; }; + 4F9245549A41D287F5A01F8E32CC9830 /* NSObject+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 22292FCC9C602EA61750E5D20D1607E3 /* NSObject+Rx.swift */; }; + 5033864D075D23358E92C0B69BB4A129 /* SingleAsync.swift in Sources */ = {isa = PBXBuildFile; fileRef = F03F46D3C7C09988742B5B28F3152848 /* SingleAsync.swift */; }; + 5051DED845B9F655D1E249D2FD7C71DA /* PortalAnimator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 941B3775F774C72A22534641B9C336AF /* PortalAnimator.swift */; }; + 509A5621DAB44B06929B30ACCA7CA598 /* Kingfisher-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = C9251C9B8F7530D153AAD8E9DF5CC420 /* Kingfisher-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 50C6F524134374C84A8390CCAA832F13 /* SwitchIfEmpty.swift in Sources */ = {isa = PBXBuildFile; fileRef = 885B480632C0E61B2C55788D67F29D22 /* SwitchIfEmpty.swift */; }; + 511B368A7F70BF5C34921429E2DE5583 /* SGPagingView.h in Headers */ = {isa = PBXBuildFile; fileRef = 463130A67D3E4014611BEEFB8FCF12BA /* SGPagingView.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 511B9682B1DD7341DF151084AFB3895B /* SVRadialGradientLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 27DA0D32B0211109EEA3009D54F4F3D6 /* SVRadialGradientLayer.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 515318F63FC93FFE112790B6A99DFC1E /* NVActivityIndicatorAnimationCubeTransition.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18C8C585612D3F072EFCEAE381E1B48C /* NVActivityIndicatorAnimationCubeTransition.swift */; }; + 5194E4BB73F008919A096E1EA89773BA /* ActivityIndicatorAnimationBallGridPulse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8B38B0616450950F311D0BB8B741F16E /* ActivityIndicatorAnimationBallGridPulse.swift */; }; + 5222EAFA28D304DE1B8741B6F671FD97 /* SubjectType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75B8293378E075E3D63B9322D6042D8D /* SubjectType.swift */; }; + 5250EFA77BB9E7F092B7AE6420B28E6D /* SubscribeOn.swift in Sources */ = {isa = PBXBuildFile; fileRef = 819BA2D4DECA14751CA157FBCA754174 /* SubscribeOn.swift */; }; + 52667C5DBA87C7DD137E52692E3F3F2D /* LOTKeypath.h in Headers */ = {isa = PBXBuildFile; fileRef = FBAA1213FDA6BD46D5395E584B1A0D3C /* LOTKeypath.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 52D3701C543FDE9B19161BF4B9A09956 /* UIControl+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7D924D9548DCBBE92ABCC28AD8018CD5 /* UIControl+Rx.swift */; }; + 52FD2ECFABE74E0C34DDF7BAC4985CCE /* NVActivityIndicatorShape.swift in Sources */ = {isa = PBXBuildFile; fileRef = 143644EF92A70E4D160C78B819650BCB /* NVActivityIndicatorShape.swift */; }; + 5311A2BC13840CC9E226ECB0F8210E7D /* PrimitiveSequence+Zip+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 098CAAFEDB3E34D5B5FDF3817AF4151C /* PrimitiveSequence+Zip+arity.swift */; }; + 531C8AFE0CC46EF27FE422AA2E61469A /* NVActivityIndicatorAnimationAudioEqualizer.swift in Sources */ = {isa = PBXBuildFile; fileRef = F7B623AEE771F7E65AB059A70330A349 /* NVActivityIndicatorAnimationAudioEqualizer.swift */; }; + 531CAD5B6C267D2C28F8F73D74DDA9C5 /* ConstraintAttributes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3519F83688BAC79D81F96498C52D94AC /* ConstraintAttributes.swift */; }; + 5387216E723A3C68E851CA15573CDD71 /* Request.swift in Sources */ = {isa = PBXBuildFile; fileRef = 46DF21C0EC88B52D36F4B93FC628C4AA /* Request.swift */; }; 53B7DD2F1111D5F0A8F4237808DEBFCD /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 233D9DA986ACE8F0A8734B129D658506 /* Foundation.framework */; }; - 551E854D1EDDEFB8650F8C6E8886422A /* MaskDesignable.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4D90420D4F85FF82E034B705DABF25B /* MaskDesignable.swift */; }; - 5548FC1C254AD7418F10D1440E6B775E /* ThemeManager+OC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02EF30EDB2722368674A603DCFC14E54 /* ThemeManager+OC.swift */; }; - 5553AFEF9E55AA3DEA8D382000EAF532 /* UIPickerView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B8EE07FF4351A72D3EC86DD54283ED5 /* UIPickerView+Rx.swift */; }; - 55C44739BDD38381AFACF82E437E055A /* ActivityIndicatorAnimationBallRotateChase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671B086D8EFF323E947538E018689579 /* ActivityIndicatorAnimationBallRotateChase.swift */; }; - 55E9B2E5FB410D981C2D88387244B104 /* LOTColorInterpolator.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C65D1F86050E6A5BE4B6B53EA5B9C9D /* LOTColorInterpolator.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5602812E611085E9397EF4E8A5F46AC2 /* ConstraintView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2FA7EB31E7506AC8B71C1AC5557E5EA5 /* ConstraintView.swift */; }; - 5682A25DA2CA11089BE0864F2AB47E44 /* ConstraintLayoutGuide.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0F7CEE59118B6BF1A0FB749DC196C7D7 /* ConstraintLayoutGuide.swift */; }; - 568D7F8874CCF32D41A6C22CA2079A72 /* PublishSubject.swift in Sources */ = {isa = PBXBuildFile; fileRef = 638E3C16C3DC057BDFCB188721ABE7C0 /* PublishSubject.swift */; }; - 56A2AFA4387B2E06B4E916273A11B063 /* ConstraintRelatableTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5ABA31BFCDCDCAD234DC73AD4A25660A /* ConstraintRelatableTarget.swift */; }; - 56AF36A290B14FD1135FA96EB1F15449 /* AnimatableActivityIndicatorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5AAEDCBCF4748099F5B160EDAA0858B /* AnimatableActivityIndicatorView.swift */; }; - 57725668C2C2A8906167EAB9E6B70C33 /* UITextField+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB7501D71B6331C42EDD19ADA4038D7C /* UITextField+Rx.swift */; }; + 54A24C7632DAD08E4DC81388F7F900EA /* LOTCompositionContainer.h in Headers */ = {isa = PBXBuildFile; fileRef = 226A5671D1A96ABE4CECB0B87D5506DB /* LOTCompositionContainer.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 551E854D1EDDEFB8650F8C6E8886422A /* MaskDesignable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8072F944BDD81CC42410A29EBCFCF844 /* MaskDesignable.swift */; }; + 5548FC1C254AD7418F10D1440E6B775E /* ThemeManager+OC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43060279B561749EE198E8A67AABA928 /* ThemeManager+OC.swift */; }; + 55C44739BDD38381AFACF82E437E055A /* ActivityIndicatorAnimationBallRotateChase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6DA4BA3E64A85A92723110D96BF08883 /* ActivityIndicatorAnimationBallRotateChase.swift */; }; + 5602812E611085E9397EF4E8A5F46AC2 /* ConstraintView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9B545B7A152AD343D93F7CF0C41AC7C /* ConstraintView.swift */; }; + 56719B7942F204F258BA0FE0A2095D0D /* DisposeBag.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51C847E5B27092E9E1A1C64372FC9A82 /* DisposeBag.swift */; }; + 5682A25DA2CA11089BE0864F2AB47E44 /* ConstraintLayoutGuide.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9E64E7C4F7021F47558470A4FC51069B /* ConstraintLayoutGuide.swift */; }; + 56A2AFA4387B2E06B4E916273A11B063 /* ConstraintRelatableTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 81DEF3FD04E77212885257754C1BF937 /* ConstraintRelatableTarget.swift */; }; + 56AF36A290B14FD1135FA96EB1F15449 /* AnimatableActivityIndicatorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17B022E3DEC0927DD8B9628D76EEF8C7 /* AnimatableActivityIndicatorView.swift */; }; + 56F9F3C8D5B948ED4F70CCF7FE3DFF31 /* LOTShapeStroke.h in Headers */ = {isa = PBXBuildFile; fileRef = 7B0F2C2B4FC2ED6D39BAF5BB0859002D /* LOTShapeStroke.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 57051C490E8DAB127EE44A7258CB6903 /* UIApplication+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23059ADD7F4D5BD124C1D1435019BB88 /* UIApplication+Rx.swift */; }; 57A0A0C72D8DF2E9703DA0328D2CEF85 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 233D9DA986ACE8F0A8734B129D658506 /* Foundation.framework */; }; - 57D0942F81417105242804C1D85354C9 /* LOTMask.m in Sources */ = {isa = PBXBuildFile; fileRef = B6C1B03C44FFF619CD179FC9F401149B /* LOTMask.m */; }; - 5816D7ABAEBCE501890CBF2AB71BE75A /* SkipWhile.swift in Sources */ = {isa = PBXBuildFile; fileRef = D54057AA8F728F7E6837E00583DF553A /* SkipWhile.swift */; }; - 582E90A0DAF7315B9201DF147E461AAB /* Switch.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E71E68BF7B1A461677910CE8E05513F /* Switch.swift */; }; - 58B6ED27CFCF26FC2243E97739852A16 /* Value.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C22487B413EC26513D9199C383D877D /* Value.swift */; }; - 58E6E68D10EF3D64522BD267CC1761A6 /* NSBundle+MJRefresh.h in Headers */ = {isa = PBXBuildFile; fileRef = 52452218F0459D0C675B71F7DA10C024 /* NSBundle+MJRefresh.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 59747A4EBE29DB7C7B57CCC0B461D1B6 /* LOTAnimatedSwitch.h in Headers */ = {isa = PBXBuildFile; fileRef = 96190BFAEE74AAB817D212B29AF3EC89 /* LOTAnimatedSwitch.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 59B02D3ED34AF9B817CAE4753FAB88B2 /* ActivityIndicatorAnimationCubeTransition.swift in Sources */ = {isa = PBXBuildFile; fileRef = 03AF4053EB312EF6B6022AFBA137BC08 /* ActivityIndicatorAnimationCubeTransition.swift */; }; - 59EB36E403C35C62A9401B7E634A358F /* BehaviorRelay+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBFC2355368D31C2531FF43F2A2FBCAF /* BehaviorRelay+Driver.swift */; }; - 5AC063843F5C822D8E0DAD049DB2172C /* Filter.swift in Sources */ = {isa = PBXBuildFile; fileRef = F42D0FEC5A6CE394A8DB40B6770B6E04 /* Filter.swift */; }; - 5ACBD4BD4E9CC583CA91F5D3ED82D58E /* LOTShapeTrimPath.m in Sources */ = {isa = PBXBuildFile; fileRef = 63A250ED9CF50C7BAB45AE9F4998BF68 /* LOTShapeTrimPath.m */; }; - 5B0E0160BF228664582C617CAEBF83B4 /* RxTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B945E390C063AE5D9BBF5C868113CDD /* RxTarget.swift */; }; - 5B14E0E540D7B9A985006AEDA8A900A7 /* _RXDelegateProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 49648BA1479245B587F5C10E23A9E209 /* _RXDelegateProxy.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 5B3AECADE96E978314B3E363C423348B /* LOTLayerContainer.h in Headers */ = {isa = PBXBuildFile; fileRef = EB2BE7C7F6DF8A6756CB80771D308CAB /* LOTLayerContainer.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5B5D8AE167BD8E304CE474A9B8DBA2B4 /* Kingfisher.h in Headers */ = {isa = PBXBuildFile; fileRef = 4DD9B230384B15B44E7EC5E792B52977 /* Kingfisher.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 5BA226AF39BE06D3D012D53D59D3C90D /* SkipUntil.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7E001C7667612713192AB3356937E824 /* SkipUntil.swift */; }; - 5BE49CC3F5825090965A72A00C9D45C3 /* RxCocoaObjCRuntimeError+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = C6BBD37BC8A3637FAED77EAD0B3F7215 /* RxCocoaObjCRuntimeError+Extensions.swift */; }; - 5BFDF3D01A3BEEF619F8000B5E5364EC /* FTS5.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51F7890C7F1D6AD765CBAC0C0F11897E /* FTS5.swift */; }; - 5C096AC0401F6A0EAE45DB005987D4A7 /* LOTCompositionContainer.m in Sources */ = {isa = PBXBuildFile; fileRef = 9D744747067604A65E9DD87E6F7B4388 /* LOTCompositionContainer.m */; }; - 5C52AB71421867CF6066EA2638EE8FB8 /* UINavigationController+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 76956FD244DF6D4EA1EB385E4DE929B7 /* UINavigationController+Rx.swift */; }; - 5D691CACDFA43B17C6CA4A36E11EE800 /* FlipAnimator.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFC28E67861EF1B4CFC61F89C1BED85B /* FlipAnimator.swift */; }; - 5DC98A52976194E5FD861ADB285D89EC /* Constants.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45F438F560F3604DE78D332BF86B1256 /* Constants.swift */; }; - 5E9D11BEACC080376EA6F57C6167B34A /* HandyJSON-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 5A3C4851ABC13AA64F20F6B970A5E4D7 /* HandyJSON-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 5F8135370ED925903BC224A65CD5143E /* UITextView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC8FC151D092BC87AABA6DD700FDB4B4 /* UITextView+Rx.swift */; }; - 5FAC4DB57193055C96C805DCC304A0DE /* InfiniteSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EA14736959AFCC5BFDF804CEF5A073B /* InfiniteSequence.swift */; }; - 5FD6A35ACFA61C98BA8D9413E358EE00 /* PrimitiveSequence+Zip+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61BCC1A5F825B4AC2FAAD97B49C40FFC /* PrimitiveSequence+Zip+arity.swift */; }; - 5FDB8AB6CB1FB16CD5DC912C0BE118C4 /* UIControl+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0205F13F663A2197A5AE557205A7CA71 /* UIControl+Rx.swift */; }; - 605C5C9B3E38735DE1F885AC6AC3AF22 /* RxPickerViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D72E8A7318AE5260826B87B9D1BA194 /* RxPickerViewDelegateProxy.swift */; }; - 61200D01A1855D7920CEF835C8BE00B0 /* DispatchQueue+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0126BA6163E7E8BA4860CDE3F78C076C /* DispatchQueue+Alamofire.swift */; }; - 6170DC244D83801A8600F442754684F0 /* LOTShapeTransform.m in Sources */ = {isa = PBXBuildFile; fileRef = 7798E3F29C0D6F6F9BEC64F9B157C85C /* LOTShapeTransform.m */; }; - 61AFC04990763889FEDBCCD5CD7690C7 /* AnimatablePresentationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 29B69DFF7D69AD27C5736AEA592788DD /* AnimatablePresentationController.swift */; }; - 61F14148103C42EA2DDBE580FDA84E71 /* AsMaybe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7EFA9638B0189D4C53B25E227B4C379F /* AsMaybe.swift */; }; - 621B413DAEFE75991251ED378822527C /* MJRefresh-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 8B1DCB2E0F64F2F92362AEC52C0483ED /* MJRefresh-dummy.m */; }; + 57B67246EA9AD674811C023F6530AA47 /* UIStepper+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 72A18F5C9AFFE4FAEFB3FF4A092F90AB /* UIStepper+Rx.swift */; }; + 57EB64D55E8EA79C8ADDEA1F1E856C90 /* LOTAnimationView.h in Headers */ = {isa = PBXBuildFile; fileRef = 8234676B075F18379492484095EB46E0 /* LOTAnimationView.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 581AECD6B95235143FFD45B7CD68553C /* Catch.swift in Sources */ = {isa = PBXBuildFile; fileRef = 461D2FB1F4204C8CA70D19FCBDF87196 /* Catch.swift */; }; + 582552449C94638159910AC80A96F865 /* RecursiveLock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93A80A1261D9C65B45A5300A2420D5F0 /* RecursiveLock.swift */; }; + 583FF774ADB452A898CCD24847BCE0F3 /* ToArray.swift in Sources */ = {isa = PBXBuildFile; fileRef = B74DD659B661E171DBE817A4CE023E66 /* ToArray.swift */; }; + 58B6ED27CFCF26FC2243E97739852A16 /* Value.swift in Sources */ = {isa = PBXBuildFile; fileRef = A43320555054316E3DDCF225885B7A52 /* Value.swift */; }; + 58BF810456F78D685C4C7C4A2C2E3F08 /* Platform.Linux.swift in Sources */ = {isa = PBXBuildFile; fileRef = 819C9E5691F2AA1072DF787C16E7F5DD /* Platform.Linux.swift */; }; + 58E6E68D10EF3D64522BD267CC1761A6 /* NSBundle+MJRefresh.h in Headers */ = {isa = PBXBuildFile; fileRef = 812670303F5FE81D3C4C96ACBC932B0F /* NSBundle+MJRefresh.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 59B02D3ED34AF9B817CAE4753FAB88B2 /* ActivityIndicatorAnimationCubeTransition.swift in Sources */ = {isa = PBXBuildFile; fileRef = E483D167869BA92F5B30F61B9EBEFD2A /* ActivityIndicatorAnimationCubeTransition.swift */; }; + 5A6B595B6BD679162FBC94CD43AF7BB9 /* Signal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8F5F8D1CBD6BF9854F8A570F2D6253DA /* Signal.swift */; }; + 5AAB24C3EB186379F18EA6FFD7EA3324 /* Empty.swift in Sources */ = {isa = PBXBuildFile; fileRef = F418AB4716FF41DD73BD2D759426BDAD /* Empty.swift */; }; + 5AF8FCB5511FD4A4D4B238AA2BFFAA04 /* UIColor.m in Sources */ = {isa = PBXBuildFile; fileRef = 64678B91E6E52E05AF21CBFF3FBDDEF3 /* UIColor.m */; }; + 5B14E0E540D7B9A985006AEDA8A900A7 /* _RXDelegateProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 745001BEBAC5DF68B75903A7AC04B1D8 /* _RXDelegateProxy.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5BF9F6726D864C65BAE47CAB5D98C785 /* LOTComposition.h in Headers */ = {isa = PBXBuildFile; fileRef = BB5E7D2E64919C5C20CD375198A8AAAA /* LOTComposition.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5BFDF3D01A3BEEF619F8000B5E5364EC /* FTS5.swift in Sources */ = {isa = PBXBuildFile; fileRef = E55F1CC78E12E8CE0788AF053198BC70 /* FTS5.swift */; }; + 5D298985DAADDB128D9E57B283FD85E0 /* SerialDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C58F07E97F286FF8891C3D85A129DFE /* SerialDisposable.swift */; }; + 5D3CACE7CE914CFD2D4178BCF5CA2FD7 /* UIProgressView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3EA157A4DB7D8BC8E9ECD1951A56D10E /* UIProgressView+Rx.swift */; }; + 5D4307ED2752875DDA68E87304F94CCC /* Bag.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5DB46BC2AF8E6A05F695F5AED3E7D3E /* Bag.swift */; }; + 5D691CACDFA43B17C6CA4A36E11EE800 /* FlipAnimator.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC87A36D1C173B54D3BE3649CBD0DF19 /* FlipAnimator.swift */; }; + 5DAAC211BD4801B542F4526BBF4D7DFC /* UIView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = ABC4FE4E30C005F03BFFFD6B346A0C03 /* UIView+Rx.swift */; }; + 5DABACB1895E74A32A05AF4F6BB893EF /* LOTBezierPath.m in Sources */ = {isa = PBXBuildFile; fileRef = 76C397DA2C55E84AA4C076FECD82E63D /* LOTBezierPath.m */; }; + 5DB750A8130BA6D5C39E64E6E60BA732 /* PrimitiveSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = D28AC7EB11326868991A674C4E11E2C9 /* PrimitiveSequence.swift */; }; + 5DC98A52976194E5FD861ADB285D89EC /* Constants.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67257F0493C313AFB30213A477D40A25 /* Constants.swift */; }; + 5E9D11BEACC080376EA6F57C6167B34A /* HandyJSON-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 0A4C13C688AA4A346BE889FCB58E9725 /* HandyJSON-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5F802A7BA1B0EF84A30A5D83F255BAD9 /* Switch.swift in Sources */ = {isa = PBXBuildFile; fileRef = 863A1F2A61765F876E4D3C34CA45CA07 /* Switch.swift */; }; + 5FBEFB32B8A0D82C90FAA91E2854233F /* LOTShapeGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = F35B09D5B9606D494C177E9C59C4B5FF /* LOTShapeGroup.m */; }; + 5FD7A79D31B226160C3EAD5B4B34DA74 /* AnonymousObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = E3FABAE7925AF56A3142DC32DD2003A3 /* AnonymousObserver.swift */; }; + 601F177F7E7B20C2A5E9D3C8BAAB8C9B /* UITextField+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = A69F1A10DE7FF1DDCB0BF249051BA64F /* UITextField+Rx.swift */; }; + 6097045A8CB97C74497FDD9CA1B81D3C /* Sample.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1C889C3FC97707D340D10F9027D9B27F /* Sample.swift */; }; + 61200D01A1855D7920CEF835C8BE00B0 /* DispatchQueue+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8475BCDF71E9A3157F930A7C9994077F /* DispatchQueue+Alamofire.swift */; }; + 618BDCDB70D6B463BB6EB7FAAE8B98D1 /* DeprecationWarner.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43AB06A2D3BB07CE23629C9267BDFA5D /* DeprecationWarner.swift */; }; + 61AFC04990763889FEDBCCD5CD7690C7 /* AnimatablePresentationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4BE5684ADFFBC44EF4630730D13BDE48 /* AnimatablePresentationController.swift */; }; + 61BAA605E14617B97978467ECFF58BCB /* ObservableConvertibleType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E3C19C39F2F0BB15D78A73282106FFE /* ObservableConvertibleType.swift */; }; + 621B413DAEFE75991251ED378822527C /* MJRefresh-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 4F6F2E000CA412D16AF5B5967ED5BB8E /* MJRefresh-dummy.m */; }; 622052CC632AC83265E5FB3B15E1BA18 /* NVActivityIndicatorView.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6FBDBE6445AF88411C9958F8A4526B9E /* NVActivityIndicatorView.framework */; }; - 6298B1C2234864DA5ED3B5E6398B95AC /* MJRefresh.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 55B831F6AEE5934A25921E021939183B /* MJRefresh.bundle */; }; - 62F65AD8DC4F0F9610F4B8B4738EC094 /* ServerTrustPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3877477BEBAAB3ADA84326F9E67632B4 /* ServerTrustPolicy.swift */; }; - 630CCD6FAD73F7C66CE9780DEEE9E326 /* Observable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52B46C7703F663FC6C8378E170950863 /* Observable.swift */; }; - 634149FC87092AA640550128B34C1EAA /* RxTextStorageDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0CE6A5A7ED7109F249752B075731FCE /* RxTextStorageDelegateProxy.swift */; }; - 63550F4DAD65598E2185ECC482ED3F94 /* AnimatableTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = EEF8341B79E34084170D20C8D4D14247 /* AnimatableTextField.swift */; }; - 6357CE34C0D71C54681010BCD12AC7E9 /* LOTShapeFill.m in Sources */ = {isa = PBXBuildFile; fileRef = F817921DE6308E767CD4C75AB16FF8CF /* LOTShapeFill.m */; }; - 637DD60BF61E71AA4B73C7D4FE85EB1E /* LOTNumberInterpolator.m in Sources */ = {isa = PBXBuildFile; fileRef = 745938C8D2B74C24F86F4D614D4792E6 /* LOTNumberInterpolator.m */; }; - 63C8099D671A983EB3E5E2F6A3AB9325 /* RxCollectionViewDataSourceType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C30FB2445A13671E70033CF31F9BF48 /* RxCollectionViewDataSourceType.swift */; }; - 63F16E46E95EDF390F93D97CCE424193 /* TransitionType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 91F6812F4057E4F85DC1482946CC27F1 /* TransitionType.swift */; }; - 63F7D3452E18B192AB3016EDC6DD089F /* NVActivityIndicatorAnimationLineSpinFadeLoader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8C62285A96F51DDBA109778EC6462374 /* NVActivityIndicatorAnimationLineSpinFadeLoader.swift */; }; - 63FA1FD301EC2014B87111ED004D8BF4 /* Debug.swift in Sources */ = {isa = PBXBuildFile; fileRef = E1132FB530C9B74CB2E0E96C4F381359 /* Debug.swift */; }; - 64D70609C8EC37B9AB95A5DAB32AAA98 /* ActivityIndicatorAnimationBallClipRotateMultiple.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C9C27B27D9013608A23977C8423AC3E /* ActivityIndicatorAnimationBallClipRotateMultiple.swift */; }; - 652E0303A78B65B5B0FF70CE016C7BB8 /* Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = A38A8F7E962BC4EE25BA8DD2AAF5B7BF /* Operators.swift */; }; - 654147E1ED805BA82582AE50576F1D37 /* AnimatableTextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3463FEF0D331357EA314058B133B519 /* AnimatableTextView.swift */; }; - 654FD30ED9743923911FD7F6B0C75650 /* PresentationDesignable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 58B913418A63743732FEECEDEA4CC2D0 /* PresentationDesignable.swift */; }; - 66330F08995B46CC6E4B258B251837E6 /* UIButton+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = A2928382C14295480CA2E692CD1ED1F5 /* UIButton+Rx.swift */; }; - 668981B6E75E42C366D60901B9B777CB /* ActivityIndicatorAnimationBallScale.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADB9194E10CB21E017543BF4F5D1287B /* ActivityIndicatorAnimationBallScale.swift */; }; - 66D6E3863C4A9E6CDD76F488A7454E01 /* Just.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0AA8637192A3593DEC13F6CF3D50E265 /* Just.swift */; }; - 66DEC8C99A60E9618F94FD469BB4E9EC /* RootWindowDesignable.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1629E9940383BEE75D1768046EAD754 /* RootWindowDesignable.swift */; }; - 67363902ECFB9964B6F44DBE9DE2F7AB /* ActivityIndicatorAnimationLineScale.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8AC9E453A52AEE2EE2B627B8D22F550B /* ActivityIndicatorAnimationLineScale.swift */; }; - 67E49543190F443EA8FBF652189C4B33 /* RxSwift-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 260F5F2ACC19C38EC2779233AFE3EEFD /* RxSwift-dummy.m */; }; - 685B9708A83A053492F99ECEAAE4DE73 /* LOTPathAnimator.h in Headers */ = {isa = PBXBuildFile; fileRef = 18764AAA427FE94EF57DEEE1EE344FB3 /* LOTPathAnimator.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 68A052920D1662B0030CFD2B70EDBE87 /* Deserializer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6FD7EB715389F632BBBE45A95ACC2ABD /* Deserializer.swift */; }; - 690EF868500810E8C1430C0EBEA94815 /* NVActivityIndicatorAnimationDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9FA9D2DE6131AA534A042A688FB8DF27 /* NVActivityIndicatorAnimationDelegate.swift */; }; - 698FAF7F6DCB4C36EF91892ED6040C57 /* Errors.swift in Sources */ = {isa = PBXBuildFile; fileRef = C01DD4EBAD3CAF3B9CA8712114A7C4A8 /* Errors.swift */; }; - 6A0B1A0FA7A75C861B9D401D0E8CC95E /* MJRefreshGifHeader.h in Headers */ = {isa = PBXBuildFile; fileRef = 6957D16F9D310E2B2A1862A914B71665 /* MJRefreshGifHeader.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6A7B61C75097EA4F6ACDB2AF19341726 /* CardsAnimator.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB49D30D1EBDE27F3B0C162B1EB2D757 /* CardsAnimator.swift */; }; - 6A961278369AB620395BEF87BD9A4DF2 /* ConstraintViewDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1C1F33C52FEA6CF7868E8DDAA90F6A3 /* ConstraintViewDSL.swift */; }; - 6ACC4F1A2DA70C5BDA7C23C8AF947B2E /* LOTRenderGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = 93503B39CC4A96F1B7E67FDD1DA59E70 /* LOTRenderGroup.m */; }; - 6AE6E6EE5C769CEDFDA5A977A29B932E /* LOTShapeRepeater.m in Sources */ = {isa = PBXBuildFile; fileRef = FEA91A3F41CA4BA1BA59E9793EC46AB4 /* LOTShapeRepeater.m */; }; - 6AE8DA783077285DFA7F210F4E779A65 /* KingfisherManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0FA9A0352B9FF0DCCACCCC9BD526E13B /* KingfisherManager.swift */; }; - 6B8469AA6E0BE9EB70EA415ED077B81C /* ScheduledItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB02CA62FA6DBC783EEC45DD6D40C5D1 /* ScheduledItem.swift */; }; - 6C3E8B1C576B44C966C33845662905BC /* ActivityIndicatorAnimationBallRotate.swift in Sources */ = {isa = PBXBuildFile; fileRef = A0B96C9048C38AF71A753BBD9CF740A8 /* ActivityIndicatorAnimationBallRotate.swift */; }; - 6E1A3EDA96C45237819E72289FBF416D /* LOTModels.h in Headers */ = {isa = PBXBuildFile; fileRef = 05C1CC7AD909075CBCCA3CF067FB78BF /* LOTModels.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6E50DFD7FBA822F8E0B494F3C0606F68 /* RxCocoa.h in Headers */ = {isa = PBXBuildFile; fileRef = 40EBB7866DC3B4BA13673E9E83015D59 /* RxCocoa.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6E86C58A27B3334570E49D26D4BB7D93 /* RxPickerViewDataSourceType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5755C0245AECC314170FE6B5F33BF407 /* RxPickerViewDataSourceType.swift */; }; - 6EE4086E0F1892124E3D762C8BB4F053 /* Amb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 87192F577D49B7A82D2E419B5F00784C /* Amb.swift */; }; - 700958B082D32F01830726893750EA6C /* NVActivityIndicatorAnimationLineScalePulseOutRapid.swift in Sources */ = {isa = PBXBuildFile; fileRef = A43B3636C3F00E2C1EED0A22B2F47D73 /* NVActivityIndicatorAnimationLineScalePulseOutRapid.swift */; }; - 7036A961C42E17C0C4D0D9DE69F70012 /* ConstraintLayoutGuideDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = D79A2DED8E4833D59C143FCD2CF4F876 /* ConstraintLayoutGuideDSL.swift */; }; - 7067F0BE2147441787C464210837063C /* UIView+SGPagingView.h in Headers */ = {isa = PBXBuildFile; fileRef = 867C85CEB5EE894A2C6301EAC2C52367 /* UIView+SGPagingView.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6298B1C2234864DA5ED3B5E6398B95AC /* MJRefresh.bundle in Resources */ = {isa = PBXBuildFile; fileRef = C59483F02C223CB69CC1B68146D661E0 /* MJRefresh.bundle */; }; + 62F65AD8DC4F0F9610F4B8B4738EC094 /* ServerTrustPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71B917260447AF5987AB5F2EC8470684 /* ServerTrustPolicy.swift */; }; + 63550F4DAD65598E2185ECC482ED3F94 /* AnimatableTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 46C2480D7415560767CD6198478C8EC5 /* AnimatableTextField.swift */; }; + 63F16E46E95EDF390F93D97CCE424193 /* TransitionType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D6A26F64EE137440C333FED75E6E318 /* TransitionType.swift */; }; + 63F7D3452E18B192AB3016EDC6DD089F /* NVActivityIndicatorAnimationLineSpinFadeLoader.swift in Sources */ = {isa = PBXBuildFile; fileRef = D78E5B09B29F0A1A0D6CE2AF74C3F9F8 /* NVActivityIndicatorAnimationLineSpinFadeLoader.swift */; }; + 6424ACB64ADF3C88FA94BE2FAABEDEFB /* UIGestureRecognizer+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA17110B5C1D9B3EB1B6588AD62C6753 /* UIGestureRecognizer+Rx.swift */; }; + 6486781D756A9D71FE5C6E56CC9A343F /* ImageCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = 530105EF92484449C3EFD615FDBADD2F /* ImageCache.swift */; }; + 64D70609C8EC37B9AB95A5DAB32AAA98 /* ActivityIndicatorAnimationBallClipRotateMultiple.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5115EDB5755D08D0D7744B4FE68D1231 /* ActivityIndicatorAnimationBallClipRotateMultiple.swift */; }; + 64E18529B6439AC37CA9CD9441FAD6EE /* DistinctUntilChanged.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4733150742C5E01CBD29B6F6733A80CC /* DistinctUntilChanged.swift */; }; + 650F630F72149298F1243E9678501296 /* RxSearchBarDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9E52895F3AE524CA110F28AD14B0E12C /* RxSearchBarDelegateProxy.swift */; }; + 652D1D167643D83F2FB915171ED9D4F6 /* Zip+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6620594EC614BE4E170472CDB8764C1 /* Zip+arity.swift */; }; + 652E0303A78B65B5B0FF70CE016C7BB8 /* Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = A335B37830708938AAE0DD504BC32410 /* Operators.swift */; }; + 654147E1ED805BA82582AE50576F1D37 /* AnimatableTextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E5DBF0FB6B864651193FB6078C4D55C /* AnimatableTextView.swift */; }; + 654FD30ED9743923911FD7F6B0C75650 /* PresentationDesignable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17413B60A0B63B4634313EA11B706DB4 /* PresentationDesignable.swift */; }; + 660B6806AE557FF7F2780188694C4893 /* AsyncLock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 287D618687C3ACC728CF2313C8DE7FDB /* AsyncLock.swift */; }; + 668981B6E75E42C366D60901B9B777CB /* ActivityIndicatorAnimationBallScale.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B01676BF4480669DB9E3452EC1CED74 /* ActivityIndicatorAnimationBallScale.swift */; }; + 669CF43BC3D2CB55E6D090762B66AE11 /* Sink.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6F5CF61787B734093F2C110D88A6446 /* Sink.swift */; }; + 66DEC8C99A60E9618F94FD469BB4E9EC /* RootWindowDesignable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 25C7671E04155B1AFCE855D04E677867 /* RootWindowDesignable.swift */; }; + 67363902ECFB9964B6F44DBE9DE2F7AB /* ActivityIndicatorAnimationLineScale.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F0EC520578456B56E729B255213D7AE /* ActivityIndicatorAnimationLineScale.swift */; }; + 68A052920D1662B0030CFD2B70EDBE87 /* Deserializer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1D860B007C033DC17EF168503BEC453A /* Deserializer.swift */; }; + 690749DB76A1B76605FE8E50259F4812 /* LOTLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 4DBC92886CB3CB8533B34894F12681D5 /* LOTLayer.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 690EF868500810E8C1430C0EBEA94815 /* NVActivityIndicatorAnimationDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE63FA51D6B17DB4361D08E0C97B3E27 /* NVActivityIndicatorAnimationDelegate.swift */; }; + 698FAF7F6DCB4C36EF91892ED6040C57 /* Errors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A0A3692795078363FAB0E772E64D1A2 /* Errors.swift */; }; + 69F0437366A75B9A622694EDC8151B7A /* CombineLatest.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0D25BD170AE8345AD4E8B51C1390807 /* CombineLatest.swift */; }; + 6A0B1A0FA7A75C861B9D401D0E8CC95E /* MJRefreshGifHeader.h in Headers */ = {isa = PBXBuildFile; fileRef = E642BFB7B69C5A0D1BBFC55C072EBCD1 /* MJRefreshGifHeader.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6A143D2453DD533A3A9BE037C8200755 /* LOTCompositionContainer.m in Sources */ = {isa = PBXBuildFile; fileRef = E6E940C320CBCDC064BB78A7361BAB82 /* LOTCompositionContainer.m */; }; + 6A3A49FE4FD7A75B017BF8E29C2C57E0 /* VirtualTimeScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 307DDF55BF62A28AEF0E4A554F1B5AB9 /* VirtualTimeScheduler.swift */; }; + 6A7B61C75097EA4F6ACDB2AF19341726 /* CardsAnimator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 997FB0859B92988AE2A5039602C56954 /* CardsAnimator.swift */; }; + 6A961278369AB620395BEF87BD9A4DF2 /* ConstraintViewDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 90118A8FD60D89979B1461FE3C4D3B23 /* ConstraintViewDSL.swift */; }; + 6AD2E8FAE47A7B0705CC85F54F5B4626 /* BooleanDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = BE96AF21A51CF3D87BF07C96EA9CA45E /* BooleanDisposable.swift */; }; + 6B003C8E7797343D1F5157FE0148567A /* Queue.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2005CC26506D34304FF8EDD14779110 /* Queue.swift */; }; + 6BEDABD3CB400E2C1894E37242CB9BCE /* TakeWhile.swift in Sources */ = {isa = PBXBuildFile; fileRef = 10817844FD4A4FA273856C2A4FF1EA3B /* TakeWhile.swift */; }; + 6C3E8B1C576B44C966C33845662905BC /* ActivityIndicatorAnimationBallRotate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17C2B7E4C3336222755DD7D00856BC9A /* ActivityIndicatorAnimationBallRotate.swift */; }; + 6D0B131D917F189AD072F48AC5AB41D7 /* SharedSequence+Operators+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0F652903C37BAB247663B25388AB427 /* SharedSequence+Operators+arity.swift */; }; + 6E50DFD7FBA822F8E0B494F3C0606F68 /* RxCocoa.h in Headers */ = {isa = PBXBuildFile; fileRef = 268888B9FC2C4C2177CD5B4F319726EF /* RxCocoa.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6E616903437F6D9BDC75B87DAE75013D /* ControlProperty+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = E17C970A7028942455405F43FB6DB2BE /* ControlProperty+Driver.swift */; }; + 6EEDF748577D25A3AF92ED28E097DD7B /* StartWith.swift in Sources */ = {isa = PBXBuildFile; fileRef = D4CFDC741BEC9E7B5A9D17AFD0455498 /* StartWith.swift */; }; + 6F105F61BFB1AB706EF762084EB9EE02 /* Observable+Bind.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2A94A21AB349568E85A1B395909A742 /* Observable+Bind.swift */; }; + 6F3AAE79ABAF98857CD33707A5052495 /* NSValue+Compat.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EB1BB77741876D211ABE8874D4BDBFC /* NSValue+Compat.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 700958B082D32F01830726893750EA6C /* NVActivityIndicatorAnimationLineScalePulseOutRapid.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54E22AEC5AD3CC8C68BD0A22EC0DA998 /* NVActivityIndicatorAnimationLineScalePulseOutRapid.swift */; }; + 7036A961C42E17C0C4D0D9DE69F70012 /* ConstraintLayoutGuideDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = D3BD35AFC8FDC0617CC5D7E80767AF96 /* ConstraintLayoutGuideDSL.swift */; }; + 7067F0BE2147441787C464210837063C /* UIView+SGPagingView.h in Headers */ = {isa = PBXBuildFile; fileRef = 2CFA0E37FDAFEE10AF6F6EB7D906BDAB /* UIView+SGPagingView.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7074A7080F178D692E3BDE479FD1FBF9 /* Generate.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB1C44ABDFE607388E49723574D41DA4 /* Generate.swift */; }; + 708D1353B3674D7E7F202309B3BE9AB0 /* NotificationCenter+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0222A154712DAC63DB71D6664E42E6A5 /* NotificationCenter+Rx.swift */; }; + 708E15A6C94145929916B187001D63D5 /* LOTAsset.h in Headers */ = {isa = PBXBuildFile; fileRef = 6D92C42BCBDF47945BEA017109BEFEA3 /* LOTAsset.h */; settings = {ATTRIBUTES = (Project, ); }; }; 7128C7E8B721891E2EE28370AAB1BEEB /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 233D9DA986ACE8F0A8734B129D658506 /* Foundation.framework */; }; - 714373828414704106846352DA41D75B /* UIPageControl+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4388359A502909009213E6292CD3EE82 /* UIPageControl+Rx.swift */; }; - 715636B3FBB18725B48AC09DB83A1087 /* RecursiveLock.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0D74C57FA409231168E10BFFA523BBA /* RecursiveLock.swift */; }; - 71E7CCAB10A035DD203C79643BA224A0 /* Expression.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6BFBF02B2FD6D21CD90A88F0831AD533 /* Expression.swift */; }; - 71EB60340CCCC34CFC635D200FABCD7A /* AnimatableCollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A30029046234F0BA6975AE512C4F891 /* AnimatableCollectionViewCell.swift */; }; - 71F6D96E3AEAA07389F37E2C4B63C4F6 /* MJRefreshHeader.h in Headers */ = {isa = PBXBuildFile; fileRef = 840EA27332E1EF7A63B178BBD8E9670A /* MJRefreshHeader.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 72ABEA3F54441CFDCB85FBF92BF46079 /* LOTMaskContainer.h in Headers */ = {isa = PBXBuildFile; fileRef = A3D96B8AAD305A1A2FD5E0D9E9360638 /* LOTMaskContainer.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7350CC152E221B0FEB694AA9111012E6 /* RxTableViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1FDDC41676A00EBD99B2FB3058C9C0F /* RxTableViewDelegateProxy.swift */; }; - 7352036D81FA51A900EDB24251E81822 /* RxSwift-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A41B82129142670872F3A6F7FD0597F /* RxSwift-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 71473232684A985B25D2D2969444150D /* LOTShapeGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = 49475EA55F22572DD58F89ECDF8034D8 /* LOTShapeGroup.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 71E7CCAB10A035DD203C79643BA224A0 /* Expression.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E8DB6541430D9BAA9F593D7436AA4CE /* Expression.swift */; }; + 71EB60340CCCC34CFC635D200FABCD7A /* AnimatableCollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 69BF92FC95CF33E07E808E437E4078B9 /* AnimatableCollectionViewCell.swift */; }; + 71F6D96E3AEAA07389F37E2C4B63C4F6 /* MJRefreshHeader.h in Headers */ = {isa = PBXBuildFile; fileRef = 4ADF0F1211DAD349D2FB15B056B57272 /* MJRefreshHeader.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 722D558CFCF0ED4DC52EE3C79427DB04 /* LOTMask.h in Headers */ = {isa = PBXBuildFile; fileRef = 4E3FC4770FFBF9B423E38D3606FF17B9 /* LOTMask.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 723E9D065E16BA1DF7F3968C5B6C1AD4 /* LOTLayerGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = 0E676D570794FC439396F7E7C3F27474 /* LOTLayerGroup.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 72ED404ABFCF48754B2DFDB34886A64D /* LOTAnimatedControl.m in Sources */ = {isa = PBXBuildFile; fileRef = 22D5BC745308F5411ED17E06D53E118C /* LOTAnimatedControl.m */; }; + 7352036D81FA51A900EDB24251E81822 /* RxSwift-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = DD6C952F30AA030D278AAF15B0BDEC13 /* RxSwift-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; 73B9C996AED49ED7CF8EC2A6F1738059 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 233D9DA986ACE8F0A8734B129D658506 /* Foundation.framework */; }; - 73F7CA52CC2751E2A1CCE42481F2A78C /* ConstraintMakerRelatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 85C23CB62448ADB46A776DF49F3CE892 /* ConstraintMakerRelatable.swift */; }; - 74270B1A6841CB490AD8BDA525827D9E /* ActivityIndicatorAnimationBallPulse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6DE1AB0EA62167CA8D25F6111726054B /* ActivityIndicatorAnimationBallPulse.swift */; }; - 74716BF0F25E59E08F216796503437A8 /* LOTShapeStroke.h in Headers */ = {isa = PBXBuildFile; fileRef = 62C38636F2D49770B1A78357EE331C23 /* LOTShapeStroke.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 747DCF82C0695A667944D494740212BC /* ISO8601DateTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 86BA55241DFAFF360706B7ACFDE8CBC0 /* ISO8601DateTransform.swift */; }; - 75708A218B2FD1140D8EF695D7277A6D /* PresentPortalWithDismissInteractionSegue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 66A06BC538CA6BE2E84D43AF36A91728 /* PresentPortalWithDismissInteractionSegue.swift */; }; - 75EC22E0DE8D6CFA4208469C3440EA5E /* GroupBy.swift in Sources */ = {isa = PBXBuildFile; fileRef = B7C8FA9770B867603222E31A7C5DB2BA /* GroupBy.swift */; }; - 76603368E31DB17136DFDD48527F8375 /* RxNavigationControllerDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 70A1496EC79D1E684801EA9609735604 /* RxNavigationControllerDelegateProxy.swift */; }; - 7680FB1ECC4DEB48D3830A65B8563CBC /* BlurDesignable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5DB6E0685AB5E7B86050001ADFD26D6F /* BlurDesignable.swift */; }; + 73DCF8F1CF29D78824ED9A1A1962809A /* LOTAnimationCache.h in Headers */ = {isa = PBXBuildFile; fileRef = F6698A838437C6C569B60EB83737FF6E /* LOTAnimationCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 73F7CA52CC2751E2A1CCE42481F2A78C /* ConstraintMakerRelatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 55FB3D5208D8CBDD7803DDA5F636898B /* ConstraintMakerRelatable.swift */; }; + 74270B1A6841CB490AD8BDA525827D9E /* ActivityIndicatorAnimationBallPulse.swift in Sources */ = {isa = PBXBuildFile; fileRef = AC60382F64D552E53E78EE7FE1D8ED67 /* ActivityIndicatorAnimationBallPulse.swift */; }; + 747DCF82C0695A667944D494740212BC /* ISO8601DateTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = E61752FCA2321DF96D101282EC441B17 /* ISO8601DateTransform.swift */; }; + 75708A218B2FD1140D8EF695D7277A6D /* PresentPortalWithDismissInteractionSegue.swift in Sources */ = {isa = PBXBuildFile; fileRef = FAE8C74970A59FD814A41E08A793A686 /* PresentPortalWithDismissInteractionSegue.swift */; }; + 75DAD65B0EFEE8D22D9FBF8C5A76062D /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 233D9DA986ACE8F0A8734B129D658506 /* Foundation.framework */; }; + 7641BF1488647A49950B344DE6FC28F0 /* Scan.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1DE1EB39180D3DA48B62730459C8C9FC /* Scan.swift */; }; + 765A51E6C1DE42BFE2C47C1C466FE6F4 /* SkipUntil.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDC887DB9EFA9F8E0AF663F7C9ECC989 /* SkipUntil.swift */; }; + 767DD2CB746C04531825922BF230DECA /* TakeUntil.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B245374095CE44FE85EEB6A6EB13185 /* TakeUntil.swift */; }; + 7680FB1ECC4DEB48D3830A65B8563CBC /* BlurDesignable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A6D034D6B9561C5D3847241097EC8BD /* BlurDesignable.swift */; }; 76BE464C83B19BB1046296CC1E965CEE /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A30CB0D659F22DAD584691CF85EEE3C5 /* QuartzCore.framework */; }; - 7724ED40406563DDA3FCBC9E0B41DD8F /* Export.swift in Sources */ = {isa = PBXBuildFile; fileRef = A004BBE3EC72DE1AEEE77C3ACEB2D932 /* Export.swift */; }; - 77659A303E7B66692EA72023F889AEFD /* Platform.Darwin.swift in Sources */ = {isa = PBXBuildFile; fileRef = C72916B070A45B9872FB2BC9D4B66C51 /* Platform.Darwin.swift */; }; - 776702E8743007AC3AFC1E7F76299616 /* FDFullscreenPopGesture-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 5E69D4A921F23C2B43D4581FA3EEBB96 /* FDFullscreenPopGesture-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 777E3BE3E5AD900AC5F316E28A908336 /* NVActivityIndicatorAnimationBallTrianglePath.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2BCF8AEA6BF2CD7A4734639961EBAE64 /* NVActivityIndicatorAnimationBallTrianglePath.swift */; }; - 77F99EB9101B90F52AAE75DF10879D9F /* Multicast.swift in Sources */ = {isa = PBXBuildFile; fileRef = 47B98CA8621FDE08EDCE55E633A25AB2 /* Multicast.swift */; }; - 7804921600DBB8340911677DC57EB88B /* ActivityIndicatorAnimationBallScaleRipple.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53CA9FB5E76D5AF0D5C91F1DE525FA36 /* ActivityIndicatorAnimationBallScaleRipple.swift */; }; - 783E83993E62E63034279831A26CEEB9 /* _RX.h in Headers */ = {isa = PBXBuildFile; fileRef = 0BD531F57A82D05976594038D6B1F37F /* _RX.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7893040CAA62FB39104A0CCE100D0379 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2C7C898F5F650F65008E903708D884F9 /* UIKit.framework */; }; - 78DBF95B92BBAD89FFFF8346054E39E2 /* InteractiveAnimator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 899B5B55A34EAF50762B6CE9F07F8361 /* InteractiveAnimator.swift */; }; - 791AB4757EAB4713D8EAFC4901FD2A70 /* ThemeManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D3AEDA50A1CE92623516D405AF586A3 /* ThemeManager.swift */; }; - 7942D242D079A5710A72B659A54D7E26 /* MJRefreshNormalHeader.h in Headers */ = {isa = PBXBuildFile; fileRef = CBE408A9BB827639C4CCBDFFE67AA29F /* MJRefreshNormalHeader.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 79695318B58C762497D33635074D0D66 /* ConstraintLayoutSupport.swift in Sources */ = {isa = PBXBuildFile; fileRef = F898697048D6C7183D3F617BC258C1AE /* ConstraintLayoutSupport.swift */; }; - 79E17C80F28F7A9D8695A703DC03581E /* SGPageContentView.h in Headers */ = {isa = PBXBuildFile; fileRef = 99FFA7DF715A18F249CE01CCB861F407 /* SGPageContentView.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7AE672DC4B32AF19F80EF28AD5096EDE /* UIButton+Kingfisher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AD4211DE3F25E72943D4BEF127AF795 /* UIButton+Kingfisher.swift */; }; - 7B5FE28C7EA4122B0598738E54DBEBD8 /* SessionDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37B901B24F22F695A6CAD8C26E697C1A /* SessionDelegate.swift */; }; - 7B651BDC4E6C4AB1D01994E86F36604C /* PresentFadeSegue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96187D421F9A8F16D5D9AA365500CC22 /* PresentFadeSegue.swift */; }; - 7BC42DD1F43884613821F9C2CA7DE412 /* ActivityIndicatorAnimationTriangleSkewSpin.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30388FFF376A2A1672396F3CD05575B6 /* ActivityIndicatorAnimationTriangleSkewSpin.swift */; }; - 7BC934969D8AE6AE4BACABE0DF0A1248 /* LOTKeyframe.m in Sources */ = {isa = PBXBuildFile; fileRef = 581EF31175478E2A6D22A2EE038A42E3 /* LOTKeyframe.m */; }; - 7C47AE25382B4212F7CC9A9985236DA2 /* HistoricalScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 437D37DFFA27844DA2B3687557CECD74 /* HistoricalScheduler.swift */; }; - 7C9D10771F55B9E208790B6FEA1FD860 /* ConstraintConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 14A44AA8ADAB4952098BD99115015B04 /* ConstraintConfig.swift */; }; - 7CCF196AE3615A4240B00169E0878884 /* LOTAnimationTransitionController.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A7359B957586EA38EFA2C512A235254 /* LOTAnimationTransitionController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7CD4CD97A24121A6B2A6EB07CDA1D68F /* TransitionAnimationType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30E7246682BF1E80A05CF95D88B8E904 /* TransitionAnimationType.swift */; }; - 7D1399EFDCFF986A8591CDCE46782874 /* ToArray.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6734E71D944FC9D90BDD99936D771CF4 /* ToArray.swift */; }; - 7D4370E1E175CACB927A99A4F370EC08 /* Lock.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD67C186437143A3B8FC2B851D4D3E10 /* Lock.swift */; }; - 7D8CC01E8C9EFFF9F4D65406CDE0AB66 /* Result.swift in Sources */ = {isa = PBXBuildFile; fileRef = 454A935A475C4A6A730872C89FABCDD7 /* Result.swift */; }; - 7D98F4A293376159B5A8D50D17F7C28E /* LOTRepeaterRenderer.h in Headers */ = {isa = PBXBuildFile; fileRef = C7E53F0CE5944091AD64E326573B4931 /* LOTRepeaterRenderer.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7D9C177478F15224CB6E843ECDB8847B /* SchedulerType+SharedSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5EC0DA6098576B367F8D939116B915E /* SchedulerType+SharedSequence.swift */; }; - 7DFF5442291B8CC21945C7B1177668D4 /* RxTabBarDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7736DFFDF9752D2828AC00225212DDBD /* RxTabBarDelegateProxy.swift */; }; - 7E545559091ACED787D326817142FCE6 /* LOTCircleAnimator.m in Sources */ = {isa = PBXBuildFile; fileRef = 98A27E09E3D5229AE144BA7C1CBC17A0 /* LOTCircleAnimator.m */; }; - 7E57649F0B847A2B6B70ADB8873BF28B /* Optional.swift in Sources */ = {isa = PBXBuildFile; fileRef = 65FE41B91134454998CBBC6B6DB50F05 /* Optional.swift */; }; - 7EB03A75019AB63A3576A565AC884666 /* FadeAnimator.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4AEA9DA5CB5D0BEF52EE47D21E7019F /* FadeAnimator.swift */; }; - 7EB79CAC296B214B28FB39CC8AF61708 /* NSValue+Compat.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F27E0E6A8AE9D6BD1F1C9957E72EF54 /* NSValue+Compat.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7ECCD13ACC5901B738B76061436F0B9D /* SQLite.swift-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 287997282FA9D72A9E11B94D65679581 /* SQLite.swift-dummy.m */; }; - 7EFDAA1642FA83DE777CFD086182D5A4 /* MJRefreshAutoGifFooter.m in Sources */ = {isa = PBXBuildFile; fileRef = 2CDAB81BB64232C238ACE715AB244C11 /* MJRefreshAutoGifFooter.m */; }; - 7F0B3111D41B314575EC5A957DAFF2BA /* KingfisherOptionsInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 35218EEE27C3E69FC09FFB5757813893 /* KingfisherOptionsInfo.swift */; }; - 7F332B88E230731F9DFCDE8F5C485857 /* AnimatableTableView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32D674DBB835F511CAC9050FE8D55891 /* AnimatableTableView.swift */; }; - 7F63EC213A1B0D93DDBEFFB7B32630F4 /* UIImageView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 114058F5B3E5A7FD0ACFDE8B446B025E /* UIImageView+Rx.swift */; }; - 7F706BD2B175AEDA923BFCB444599F64 /* ControlProperty.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C16B38AACA9A2A8F7753BEA02D9ABF3 /* ControlProperty.swift */; }; - 7F8EBBCC4300A178D4843B4A8A761444 /* LOTKeyframe.h in Headers */ = {isa = PBXBuildFile; fileRef = 981D8F102B557DC6E7FDB92620A519EB /* LOTKeyframe.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7FA00A8FBEBB952557C2F6194D59ADC1 /* Collation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 876E959AC74C7A9D9795BCC831E895BF /* Collation.swift */; }; - 805DA88AB787223774389AC5674D0607 /* ActivityIndicatorAnimationLineSpinFadeLoader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 24D15EBB82974262BEDCE7CCDBC1C99F /* ActivityIndicatorAnimationLineSpinFadeLoader.swift */; }; - 8069223DDD6D0F2E1A87D8E66966709B /* MJRefreshConst.m in Sources */ = {isa = PBXBuildFile; fileRef = 55416E53154761426E08029F47546F3D /* MJRefreshConst.m */; }; - 8076764706DEA8C463D13492070E6A3C /* AnimatableImageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C65A76C00350A8BA0A636CFE8BE5E3D8 /* AnimatableImageView.swift */; }; - 8090A7408E4C2101D68A88CE2E833023 /* PanInteractiveAnimator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93C1ACF3C5F67D412A719305F5ECCD65 /* PanInteractiveAnimator.swift */; }; - 8092AF7886741EDF21969503A1522710 /* PresentationAnimationType.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4228ECF0270AF9463EC0525C45FC1E4 /* PresentationAnimationType.swift */; }; - 80984FC0D8D17C62F9096145F972018F /* TailRecursiveSink.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A7A588536307F8A87DA5858B94E8499 /* TailRecursiveSink.swift */; }; - 809BFA3F1132F1A51B7D5A586A8CB832 /* PresentOverCurrentContextSegue.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF0B9784BC02A9BA1C0108DBD82B9A0B /* PresentOverCurrentContextSegue.swift */; }; - 810B2643CD2C9161E9BBA23FF5636B58 /* AggregateFunctions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 22BFD17548A0D68024B39C47B8D99C31 /* AggregateFunctions.swift */; }; - 81542FD5D4CB763B4372B8A14625BB5F /* PresentTurnWithDismissInteractionSegue.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF4D37AEAF487F5378834FD4773E2B01 /* PresentTurnWithDismissInteractionSegue.swift */; }; - 818E830D22B2DD5F3BF42F3B4B231885 /* LOTValueInterpolator.h in Headers */ = {isa = PBXBuildFile; fileRef = 04ACEF3624F7EC02B897C81D5CD971B3 /* LOTValueInterpolator.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 81A7561392BB967886282D977A383BF3 /* Queue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67BB54470B5557CFDC076B29EA5A3C1E /* Queue.swift */; }; - 81DD05230F6848CB644B4D56BF5CC890 /* NominalType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7660AF1A7951DAC43C40D41426C55209 /* NominalType.swift */; }; - 82588B562825EC4DEC679FA7E3AE3C43 /* LOTRenderNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 2F7C53C7FC6F1E08E3EE45E93A83F04A /* LOTRenderNode.m */; }; - 83CCFF8B4D091FAB8CE78274062481FE /* ConcurrentMainScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1450C714ACBEFE5932AA2182729062D /* ConcurrentMainScheduler.swift */; }; - 84BA709E0C563EB1B2DAF3BADB772F2A /* AnyExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59BD0E55F39B7AED73499EA0FC1EC457 /* AnyExtensions.swift */; }; - 84C0042FCA8B58402B7650BE3E33CAE0 /* Scan.swift in Sources */ = {isa = PBXBuildFile; fileRef = FABF9330BE574E17532AB13030810969 /* Scan.swift */; }; - 857C234F4BBB4A2FB8DCEAF552FCA456 /* SQLite-Bridging.m in Sources */ = {isa = PBXBuildFile; fileRef = B8E2896FA619331595E7FCBF1F49315F /* SQLite-Bridging.m */; }; - 8591CE391D8EBD33918EA1E7D2463704 /* SGPageContentScrollView.h in Headers */ = {isa = PBXBuildFile; fileRef = 2AB1C03EA1742C7139642D1C2E6F4B9B /* SGPageContentScrollView.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 85B6353194363C284DF7DD1D0C3F49F6 /* TakeUntil.swift in Sources */ = {isa = PBXBuildFile; fileRef = D85526752632D4DEE57287A9FB8A0848 /* TakeUntil.swift */; }; - 866B28F116F7CDF0849EBD31BA5C267F /* ActivityIndicatorAnimationLineScaleParty.swift in Sources */ = {isa = PBXBuildFile; fileRef = B4C432A0206A7ABECE2524C5FFEDC098 /* ActivityIndicatorAnimationLineScaleParty.swift */; }; - 86D8D59CE36C3F17FD6F0C33FBB2EEC2 /* Buffer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 16DC0CF1E57DA05B343DE6FCB7BECD61 /* Buffer.swift */; }; - 86E87AE45D8DFBE416613F535CC8694C /* UISwitch+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 293CA3ECDA667F47071EF0F4F0B04DED /* UISwitch+Rx.swift */; }; - 87182BAA002D82E8DF97B4E24E5716DA /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 233D9DA986ACE8F0A8734B129D658506 /* Foundation.framework */; }; - 8723D72A776FB139F0A9BA89983676C4 /* Reduce.swift in Sources */ = {isa = PBXBuildFile; fileRef = 80B02574B0F8EDCEE7FB168E4A94848A /* Reduce.swift */; }; - 874C4C379C8C50BDE7B18A68BB1EE5A9 /* SwiftyJSON-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 954D2F76DA9FD8DF196833EEE524C4B6 /* SwiftyJSON-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 878485E300BBAC222A8DEBEA40598A8B /* Platform.Darwin.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A57027B3EE3ED1B6E002C39D6BDD06C /* Platform.Darwin.swift */; }; - 8813C68BBAC38C472A3CBFD6EF84DAA5 /* SwiftyJSON.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5DB2E20A5AF7534188A7E7A7293A8E95 /* SwiftyJSON.swift */; }; - 884591C67BA33E18986E0E086596BADA /* LOTBezierData.h in Headers */ = {isa = PBXBuildFile; fileRef = 0899CA737C480283614FCEA77D18D661 /* LOTBezierData.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 895952B7EE442E03D667D9565D8C84F4 /* HandyJSON.h in Headers */ = {isa = PBXBuildFile; fileRef = C417F8DCBC368EDBFB0B22AA954DCF17 /* HandyJSON.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 896E7AA3ABA427376B3A46C14466F4D0 /* AnimatableTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = BAC5D69DE025D6D92E7F08F67BD09474 /* AnimatableTableViewCell.swift */; }; - 89B58692619CBE5F7DC51F851FEF2D21 /* SchedulerType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2FACF582BD3B542E1D7FD7965D01E3F3 /* SchedulerType.swift */; }; - 89F206976ED11596671C044D6CF973D5 /* AnimatableModalViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B773F1706F4E5D0B50DFF057F5A681B9 /* AnimatableModalViewController.swift */; }; - 89FED23AB34134B7B2745B58BE5F919B /* ActivityIndicatorAnimationSquareSpin.swift in Sources */ = {isa = PBXBuildFile; fileRef = C631E31F95CBF36D31FB2E5D2C5C8CBD /* ActivityIndicatorAnimationSquareSpin.swift */; }; - 8A1BE1819670B4A1482D8C53F086DF50 /* Zip+Collection.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADF7B819AE89961BF1DF1A296E69BA82 /* Zip+Collection.swift */; }; - 8A6316F83B00773B5473DC5F15F99B02 /* ReplaySubject.swift in Sources */ = {isa = PBXBuildFile; fileRef = 58487652BF1A5F3A76121187450C4F68 /* ReplaySubject.swift */; }; - 8A8B2438FBA4EC3496010C674F861D45 /* ThemeKeyboardAppearancePicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = B693819641A41FA930CB97C57B7EA3E6 /* ThemeKeyboardAppearancePicker.swift */; }; - 8B02F4B6A9FE81D0DDD1E497244B87E3 /* LOTShapeGradientFill.m in Sources */ = {isa = PBXBuildFile; fileRef = BC8D3647E2AE0D1225C39E4ADF5E85C6 /* LOTShapeGradientFill.m */; }; - 8B143A09B55C036C747BCB53EBB3FD85 /* PresentExplodeSegue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7FDEC95FF6C751B0F0393A1471E91C9C /* PresentExplodeSegue.swift */; }; - 8B3537A279D663D31993833CDD70DC4D /* ConstraintConstantTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 503B7CA27E9490D09693945D2EBD5563 /* ConstraintConstantTarget.swift */; }; - 8B855A73B75155FB2C0CB05B54FDDE0D /* UIScrollView+MJRefresh.m in Sources */ = {isa = PBXBuildFile; fileRef = CB3D11915CFE3972D89790BC72CA9369 /* UIScrollView+MJRefresh.m */; }; - 8C5AD4D61937F1DF94E6DCDC672EB193 /* UIColor+Expanded.m in Sources */ = {isa = PBXBuildFile; fileRef = 06918280FB9DD225735F27A67699368D /* UIColor+Expanded.m */; }; - 8C7BEF5706101859A992D0901FE3D5CC /* Merge.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57332798F258CB8528427D41A4FE2DAB /* Merge.swift */; }; - 8CE893339DCD0E9D5C5FE4BF6A82A550 /* LOTShapeTrimPath.h in Headers */ = {isa = PBXBuildFile; fileRef = 9EEF03E486F33BB07BF53E5617E3FC8F /* LOTShapeTrimPath.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7724ED40406563DDA3FCBC9E0B41DD8F /* Export.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6F2CC0D610B7CA66F0261DE581FF038F /* Export.swift */; }; + 7765530D8102C02AF53866E1FD39470B /* LOTShapeFill.h in Headers */ = {isa = PBXBuildFile; fileRef = 1918556AA41E49EDB97E9E1DD549B8A7 /* LOTShapeFill.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 776702E8743007AC3AFC1E7F76299616 /* FDFullscreenPopGesture-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 4CDD148E7AE45BC20C1CB93A8C27A61E /* FDFullscreenPopGesture-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 77689D441A12F6F4EEC8F53C87EDFFE9 /* LOTValueInterpolator.m in Sources */ = {isa = PBXBuildFile; fileRef = AC33A4ED0199ABAC70C4A5405E83E4CF /* LOTValueInterpolator.m */; }; + 777B8596E27EE0B6CD13CB902B1046E0 /* ScheduledItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADA1285BD863D775F13A275298E04339 /* ScheduledItem.swift */; }; + 777E3BE3E5AD900AC5F316E28A908336 /* NVActivityIndicatorAnimationBallTrianglePath.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D3DAF82336DC96DEF8F46DD11495ADA /* NVActivityIndicatorAnimationBallTrianglePath.swift */; }; + 7804921600DBB8340911677DC57EB88B /* ActivityIndicatorAnimationBallScaleRipple.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E6F333E417C8EADCBB7A49026B86C6D /* ActivityIndicatorAnimationBallScaleRipple.swift */; }; + 783E83993E62E63034279831A26CEEB9 /* _RX.h in Headers */ = {isa = PBXBuildFile; fileRef = 0C579F16C0E9F97B70201EC5FC8D54D1 /* _RX.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 78DBF95B92BBAD89FFFF8346054E39E2 /* InteractiveAnimator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 38A06EA1567935F8EDAFC29DBF770E9B /* InteractiveAnimator.swift */; }; + 790377FA319D2EA3CF3C59BFCCF4C13E /* LockOwnerType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08AD1FD79D39507317F916202EF5E234 /* LockOwnerType.swift */; }; + 791AB4757EAB4713D8EAFC4901FD2A70 /* ThemeManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0BE3C675564604EF8BE3491608F6AD00 /* ThemeManager.swift */; }; + 7942D242D079A5710A72B659A54D7E26 /* MJRefreshNormalHeader.h in Headers */ = {isa = PBXBuildFile; fileRef = F910B70154A45819A1343C2B04759BCA /* MJRefreshNormalHeader.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 79695318B58C762497D33635074D0D66 /* ConstraintLayoutSupport.swift in Sources */ = {isa = PBXBuildFile; fileRef = B7EAD1B750089D06C1F60E218C238C7F /* ConstraintLayoutSupport.swift */; }; + 79E17C80F28F7A9D8695A703DC03581E /* SGPageContentView.h in Headers */ = {isa = PBXBuildFile; fileRef = 3C05201217EAB2256E2C4120AF221D21 /* SGPageContentView.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7B2A61E55C43E9B12E5B7DD852456AEE /* ImageTransition.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED3630171AB01CEBCD9014A5878C2D9E /* ImageTransition.swift */; }; + 7B5FE28C7EA4122B0598738E54DBEBD8 /* SessionDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 66B1D06E2BCCDC6DB01A0AD81F32CFA9 /* SessionDelegate.swift */; }; + 7B651BDC4E6C4AB1D01994E86F36604C /* PresentFadeSegue.swift in Sources */ = {isa = PBXBuildFile; fileRef = C587BD9729D445C81E6286C78980290A /* PresentFadeSegue.swift */; }; + 7B81180B584974277027DC69548A7092 /* UIAlertAction+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4F279C04646721C352D3D2FD20FB3C38 /* UIAlertAction+Rx.swift */; }; + 7BC42DD1F43884613821F9C2CA7DE412 /* ActivityIndicatorAnimationTriangleSkewSpin.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E95971092184128EB2C2753331D0436 /* ActivityIndicatorAnimationTriangleSkewSpin.swift */; }; + 7BDA5C41606F23C545BF6E1C2970A922 /* Timer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57608B6480E6449AA898BD44C0551808 /* Timer.swift */; }; + 7C95EC9EB605FEAB8EA58147402A7E9C /* ControlTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEC25675A14F591C68DA8D99681C5763 /* ControlTarget.swift */; }; + 7C9D10771F55B9E208790B6FEA1FD860 /* ConstraintConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50F995B916B8DF42E9C344A3D26113C7 /* ConstraintConfig.swift */; }; + 7CCBF70ECD44AE8B4295043D8B80803E /* Lottie.h in Headers */ = {isa = PBXBuildFile; fileRef = 13064C4ADB4A857638D1EBEB7B5C74EE /* Lottie.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7CD4CD97A24121A6B2A6EB07CDA1D68F /* TransitionAnimationType.swift in Sources */ = {isa = PBXBuildFile; fileRef = E23818E44BDBD1D7B3A42503AB64518B /* TransitionAnimationType.swift */; }; + 7CE1D5FA96C00589C68AA0B5AE03A616 /* AddRef.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6686F7D701F4F975E98A16F105A4EE6 /* AddRef.swift */; }; + 7D604B57D8B5DDAA2C1D530B19D50703 /* LOTAnimationView.m in Sources */ = {isa = PBXBuildFile; fileRef = DA96BC7C8445BF9C096712E02645C813 /* LOTAnimationView.m */; }; + 7D8B1EA36B6DCCAE537F375029138F0E /* InvocableType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7FC74EC0ED00239A07753D5266ADD918 /* InvocableType.swift */; }; + 7D8CC01E8C9EFFF9F4D65406CDE0AB66 /* Result.swift in Sources */ = {isa = PBXBuildFile; fileRef = 40E27DA176745D0BD0BC456FFDDFCBF8 /* Result.swift */; }; + 7DACA12C231495E94E9329EA8642597E /* DispatchQueueConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C0DA2B0618170C960138363CD11C56D /* DispatchQueueConfiguration.swift */; }; + 7DB0825E22CE571F6CC04E9826D69F6E /* LOTFillRenderer.m in Sources */ = {isa = PBXBuildFile; fileRef = 9066E09A2CBD4D72B14316FB23020713 /* LOTFillRenderer.m */; }; + 7DCFA9D51C0611C4C67A959D59275AC4 /* LOTLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 26A43566805A037BFE51F4781135C90F /* LOTLayer.m */; }; + 7DD32ECE3572EE3839FAD0469D13034A /* SynchronizedDisposeType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 85AF85600350C53BC7604E1BC74FA755 /* SynchronizedDisposeType.swift */; }; + 7EB03A75019AB63A3576A565AC884666 /* FadeAnimator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 757829DA2ED46B93B7A35FC27BAC4951 /* FadeAnimator.swift */; }; + 7ECCD13ACC5901B738B76061436F0B9D /* SQLite.swift-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 3B6A763BFF1C45C67B8C0A45D48F2963 /* SQLite.swift-dummy.m */; }; + 7EFDAA1642FA83DE777CFD086182D5A4 /* MJRefreshAutoGifFooter.m in Sources */ = {isa = PBXBuildFile; fileRef = 930C38056D213D449AFAC8337EC29738 /* MJRefreshAutoGifFooter.m */; }; + 7F1000EBCFA501F91B5E9ED875F87929 /* Cancelable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32DE2B698C33C2E775889B9020868597 /* Cancelable.swift */; }; + 7F174331151AE2D0FDFDEE5537E63A70 /* Skip.swift in Sources */ = {isa = PBXBuildFile; fileRef = FB810A36404AFE72D40B0D6C9FFEF5D8 /* Skip.swift */; }; + 7F332B88E230731F9DFCDE8F5C485857 /* AnimatableTableView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ABEE26B0134526D3FD148EBA26E9C26D /* AnimatableTableView.swift */; }; + 7F4DCE03408063006E071CA441E94B93 /* LOTAnimatedSwitch.m in Sources */ = {isa = PBXBuildFile; fileRef = 95D5672C22E14D3C31706640B8D0044B /* LOTAnimatedSwitch.m */; }; + 7FA00A8FBEBB952557C2F6194D59ADC1 /* Collation.swift in Sources */ = {isa = PBXBuildFile; fileRef = E3610DCAAB613D21ADB669CF53664A05 /* Collation.swift */; }; + 7FD5A8056A72CD2151158CBDDC7A069E /* NSValue+Compat.m in Sources */ = {isa = PBXBuildFile; fileRef = 7B18C42AF7A11A0B20FE1CE1A6C84A6F /* NSValue+Compat.m */; }; + 801031D51FD40C500F171F4959268B0A /* Never.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43473D3D3CB2884BA931E100D146BAB7 /* Never.swift */; }; + 8048E72DC5A103EE6445E0878508678C /* LOTAssetGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = C20BE273BDDBA6206C62B8CF6E5BEE36 /* LOTAssetGroup.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 805DA88AB787223774389AC5674D0607 /* ActivityIndicatorAnimationLineSpinFadeLoader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17C9E7B67A2EE0FC46090B81A71B3FA7 /* ActivityIndicatorAnimationLineSpinFadeLoader.swift */; }; + 8069223DDD6D0F2E1A87D8E66966709B /* MJRefreshConst.m in Sources */ = {isa = PBXBuildFile; fileRef = 3503293B41437B20BCC213BAC329889A /* MJRefreshConst.m */; }; + 8076764706DEA8C463D13492070E6A3C /* AnimatableImageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DEA377172CD15DBC10F25B8B2D8B9E29 /* AnimatableImageView.swift */; }; + 8090A7408E4C2101D68A88CE2E833023 /* PanInteractiveAnimator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62BE7CD907AC6AB9BED4D0D08A9E10C1 /* PanInteractiveAnimator.swift */; }; + 809143E28BAA439FBECA69D141A344E6 /* RxTabBarControllerDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7989CCE5688F9DAEA50BAE695CEEC616 /* RxTabBarControllerDelegateProxy.swift */; }; + 8092AF7886741EDF21969503A1522710 /* PresentationAnimationType.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8C66F049DF0D127374FD3B26F90337F /* PresentationAnimationType.swift */; }; + 809BFA3F1132F1A51B7D5A586A8CB832 /* PresentOverCurrentContextSegue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 839868AFEDE8E91C3BF2557D02C50436 /* PresentOverCurrentContextSegue.swift */; }; + 80AAC14EEE8DCDDFCD8410D65ED0A0AF /* ReplaySubject.swift in Sources */ = {isa = PBXBuildFile; fileRef = 262B8FEADE5DE373CA12B51363C5B9DA /* ReplaySubject.swift */; }; + 810B2643CD2C9161E9BBA23FF5636B58 /* AggregateFunctions.swift in Sources */ = {isa = PBXBuildFile; fileRef = E82CB6510DB27A81C70A28DCAF358B9F /* AggregateFunctions.swift */; }; + 81542FD5D4CB763B4372B8A14625BB5F /* PresentTurnWithDismissInteractionSegue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4581A17B680D06A50A9EC4CFF34D28E1 /* PresentTurnWithDismissInteractionSegue.swift */; }; + 81B79CFBA2A608E149A5A16B60B06C4D /* LOTRenderGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = F8452E11F8C102127FB0AAC7BDB34676 /* LOTRenderGroup.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 81DD05230F6848CB644B4D56BF5CC890 /* NominalType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 309C2514ECE04AF163758EBEF04B05E1 /* NominalType.swift */; }; + 82B9554583D5ABE25AD46A7CA53863CA /* LOTPlatformCompat.h in Headers */ = {isa = PBXBuildFile; fileRef = 11E9439664D7041E8C865EC2672AE26B /* LOTPlatformCompat.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 82DF81BB5D82EA6052AFA9FA1FD45CB3 /* LOTRenderNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 2728E710461EE5BAA5B123D4B2C436AE /* LOTRenderNode.m */; }; + 83B859D5C195EF87369EB5A3E8C87886 /* UIPageControl+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01712A0A88100D4F47D388A4F4BD1E84 /* UIPageControl+Rx.swift */; }; + 84BA709E0C563EB1B2DAF3BADB772F2A /* AnyExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78818AAD40818C232044F3625FB52A41 /* AnyExtensions.swift */; }; + 84CF440A4E3CCDEE93FA2475748A9934 /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9DB936E3EFFF5DEA8990B57BF4D59E07 /* CFNetwork.framework */; }; + 857C234F4BBB4A2FB8DCEAF552FCA456 /* SQLite-Bridging.m in Sources */ = {isa = PBXBuildFile; fileRef = E39DEBBD5B5C3856986FDC6C998CE851 /* SQLite-Bridging.m */; }; + 8591CE391D8EBD33918EA1E7D2463704 /* SGPageContentScrollView.h in Headers */ = {isa = PBXBuildFile; fileRef = 1B4F6566A265D9F59DB84FCABD28EA49 /* SGPageContentScrollView.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 85B89D18C0DA0E022ED77B00121061F3 /* Debug.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93EF78E036A04A7EB12366A401661F43 /* Debug.swift */; }; + 866B28F116F7CDF0849EBD31BA5C267F /* ActivityIndicatorAnimationLineScaleParty.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8760EF5A93A354EE67961E19434C3493 /* ActivityIndicatorAnimationLineScaleParty.swift */; }; + 8686A811088274AD89479F3C318FC9EF /* BehaviorRelay.swift in Sources */ = {isa = PBXBuildFile; fileRef = 164E7A800E2619B528173C18B508DB6B /* BehaviorRelay.swift */; }; + 874C4C379C8C50BDE7B18A68BB1EE5A9 /* SwiftyJSON-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 8DF98C1B10FCF083129E894C9DDFD9BD /* SwiftyJSON-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 8813C68BBAC38C472A3CBFD6EF84DAA5 /* SwiftyJSON.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C988A4474E1B520BCF1A7F63C49334A /* SwiftyJSON.swift */; }; + 8852D366554FC109F36B3B4EC95B2153 /* LOTAnimationTransitionController.h in Headers */ = {isa = PBXBuildFile; fileRef = 4CF915B34E645E02A7C5565651CEDFE4 /* LOTAnimationTransitionController.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 88ED3BEA3CB949797FE8DC62A9F92682 /* lottie-ios-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 7607AC2709BCEC0EE8288B8B8BD2E752 /* lottie-ios-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 88F05BDDB1E70E8AF451BBB7B5836C3F /* LOTRadialGradientLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = FC0574AA48593FBAFB0C265B4628733C /* LOTRadialGradientLayer.m */; }; + 890494378E169BF4305ABE6DCBB3D982 /* InfiniteSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 223B416987A24AEC24B0E6EA43E09A08 /* InfiniteSequence.swift */; }; + 895952B7EE442E03D667D9565D8C84F4 /* HandyJSON.h in Headers */ = {isa = PBXBuildFile; fileRef = 5AF18340F49745E7E660F686AA316192 /* HandyJSON.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 896E7AA3ABA427376B3A46C14466F4D0 /* AnimatableTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4015E96E76A4781A15D4733A97BAEE1B /* AnimatableTableViewCell.swift */; }; + 8993606408B6694FB19D4DA0169BAC5F /* UIColor+Expanded.m in Sources */ = {isa = PBXBuildFile; fileRef = BC2558E8F7C6F89D934A8D8C89C81758 /* UIColor+Expanded.m */; }; + 89F206976ED11596671C044D6CF973D5 /* AnimatableModalViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = F57DB022248EA02BA03929B8B69754DD /* AnimatableModalViewController.swift */; }; + 89F5E8DE44A394E43DB2D226AD273E23 /* LOTLayerContainer.m in Sources */ = {isa = PBXBuildFile; fileRef = E130BD30325D3F77E33E64F720DB6A94 /* LOTLayerContainer.m */; }; + 89FED23AB34134B7B2745B58BE5F919B /* ActivityIndicatorAnimationSquareSpin.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79E794612E4F1AE2008DDE7216448CB8 /* ActivityIndicatorAnimationSquareSpin.swift */; }; + 8A283C8CC0CD5A358E689DC2E973282D /* LOTShapeFill.m in Sources */ = {isa = PBXBuildFile; fileRef = 66CC5FF7B8F846295744B2C8757D58AD /* LOTShapeFill.m */; }; + 8A8B2438FBA4EC3496010C674F861D45 /* ThemeKeyboardAppearancePicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = A39E3F8A84E81E962CB0FA50A9A463FA /* ThemeKeyboardAppearancePicker.swift */; }; + 8AE20879F2D3F8E3E4A687DA4912E572 /* UIImageView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6D4FA927926E4BBF2C3399EE484F3D3 /* UIImageView+Rx.swift */; }; + 8B143A09B55C036C747BCB53EBB3FD85 /* PresentExplodeSegue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5FF962425D66E1C93EEF823B01FF6DDD /* PresentExplodeSegue.swift */; }; + 8B3537A279D663D31993833CDD70DC4D /* ConstraintConstantTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = DACEBF23DDE3154DDDC8CF6B36C81519 /* ConstraintConstantTarget.swift */; }; + 8B855A73B75155FB2C0CB05B54FDDE0D /* UIScrollView+MJRefresh.m in Sources */ = {isa = PBXBuildFile; fileRef = 3263DDCD1BBEE6C66FBAD07646B7B8D3 /* UIScrollView+MJRefresh.m */; }; + 8B9290D5AA88C0B476CF69999EE2C8BA /* UISegmentedControl+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 784C83A8020FE94F650B0E3A0B2EEBA3 /* UISegmentedControl+Rx.swift */; }; + 8C5A18D201C48843974EBA28D2CD459A /* ImmediateSchedulerType.swift in Sources */ = {isa = PBXBuildFile; fileRef = EFE5B57931DF488A8F50AEBA8530DA1C /* ImmediateSchedulerType.swift */; }; + 8CE93AB2A393CA01F40A7F383661935F /* Event.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1B7166E2CD51AE193FED360043352B9 /* Event.swift */; }; + 8CFCE2D20C1784F3CC4773E8AD33C9AD /* RxTableViewDataSourceProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2EFC365D705166A37CB74082585C00D0 /* RxTableViewDataSourceProxy.swift */; }; 8D26E57EFBD69E5D22DBE03A691D1ACC /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 233D9DA986ACE8F0A8734B129D658506 /* Foundation.framework */; }; - 8D40445412BE30C1BB34A8A926E2118A /* ObservableType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 135DC9A0ADFBB52E74BC80E4DAE986FA /* ObservableType.swift */; }; - 8D421504DE937A3B8364BED37416125F /* BMPlayerManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = F7A22825C5C5BF84DAF6AB765C04B9EF /* BMPlayerManager.swift */; }; + 8D421504DE937A3B8364BED37416125F /* BMPlayerManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = F2471C04A5DA2272B1D25B6946AE24DE /* BMPlayerManager.swift */; }; 8D4F549A6E4D2ADB6180F054F91C435B /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 233D9DA986ACE8F0A8734B129D658506 /* Foundation.framework */; }; - 8D5789568BF75B4FA7A38806A01D6DEF /* SubjectType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 40FD269B9433217D87364D90DC69EC5F /* SubjectType.swift */; }; - 8D61E77BDC7B2C07CF546ABADE403E6F /* LOTLayerGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = 6758AEC443FDF78D890269D835B57425 /* LOTLayerGroup.h */; settings = {ATTRIBUTES = (Project, ); }; }; 8D83C2F806960406A3AA525FFB36705D /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 233D9DA986ACE8F0A8734B129D658506 /* Foundation.framework */; }; - 8DC3FC2342EC2E944B3A3E83E2683130 /* MJRefreshHeader.m in Sources */ = {isa = PBXBuildFile; fileRef = 0AB6297C3CD6368F7998F7373B9FE811 /* MJRefreshHeader.m */; }; - 8E011CA1380B4E9661E6E36959E55B44 /* RxScrollViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08F5D5F30677524F5E1E69E3332EC510 /* RxScrollViewDelegateProxy.swift */; }; - 8E69C4D9CF2AF23C8820FA200FC54A03 /* BMPlayerProtocols.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89A45CE9F89C9C64318952E32F63791D /* BMPlayerProtocols.swift */; }; - 8E7E2D34F7FB2CB7132AF839472548B0 /* SVIndefiniteAnimatedView.h in Headers */ = {isa = PBXBuildFile; fileRef = C3EE43F6AC6FC5DFAE9ABCDA73DEB1F3 /* SVIndefiniteAnimatedView.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8E834A9E897EB17A9F958070B4E66050 /* ControlEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02532D5C28DACCDCBE8DF44805B33236 /* ControlEvent.swift */; }; - 8EDCE5A10C6D8C3DB81CBC98214F2187 /* SGPageTitleView.m in Sources */ = {isa = PBXBuildFile; fileRef = D42B51BE1D674E619242DDF51955EA44 /* SGPageTitleView.m */; }; - 8EE72E1A3683DDE02EA29E7476E1C02A /* NVActivityIndicatorAnimationBallPulseRise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9DA5AD53B95FCBF972B9EC671DF286F4 /* NVActivityIndicatorAnimationBallPulseRise.swift */; }; - 8F2A5A57D1759491402E9EC21E12A3F8 /* CALayerExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6861E71920DF589FBD20AC2A3D2E8E28 /* CALayerExtension.swift */; }; - 8F2F0D378DF90D6472CF2E2141D5AAC0 /* GroupedObservable.swift in Sources */ = {isa = PBXBuildFile; fileRef = E83F5E5CF4320121CC5183893D702D32 /* GroupedObservable.swift */; }; - 8FD2C4A9BCA13CE4F62DDEFCFA01B95D /* BMPlayerControlView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51D9BF9C00C1086D060DDC46E010AFE1 /* BMPlayerControlView.swift */; }; - 8FE0784E46EDF6C731751D34BBC42CAE /* LOTShapeStar.h in Headers */ = {isa = PBXBuildFile; fileRef = 5364CAEC527EEEC1DEEAB9B8DD9F5049 /* LOTShapeStar.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8DC3FC2342EC2E944B3A3E83E2683130 /* MJRefreshHeader.m in Sources */ = {isa = PBXBuildFile; fileRef = 006D08C1B66811CB78C39539E06F0863 /* MJRefreshHeader.m */; }; + 8E69C4D9CF2AF23C8820FA200FC54A03 /* BMPlayerProtocols.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23B28089F809F0B728758CE59814E7DC /* BMPlayerProtocols.swift */; }; + 8E7E2D34F7FB2CB7132AF839472548B0 /* SVIndefiniteAnimatedView.h in Headers */ = {isa = PBXBuildFile; fileRef = DB927BD1B59C77AF6E514C4E51F33E36 /* SVIndefiniteAnimatedView.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 8EDCE5A10C6D8C3DB81CBC98214F2187 /* SGPageTitleView.m in Sources */ = {isa = PBXBuildFile; fileRef = 398B7859FA1ED9CE6B3A893DF92D2B3F /* SGPageTitleView.m */; }; + 8EE72E1A3683DDE02EA29E7476E1C02A /* NVActivityIndicatorAnimationBallPulseRise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2D1F2065E7BC296A50F89C5F992ECE44 /* NVActivityIndicatorAnimationBallPulseRise.swift */; }; + 8F2A5A57D1759491402E9EC21E12A3F8 /* CALayerExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07CEBF2EFD8D339657EDAC9EC6375B2A /* CALayerExtension.swift */; }; + 8F573C95BAB4BB9BD33A921CB78B1C0D /* LOTRepeaterRenderer.m in Sources */ = {isa = PBXBuildFile; fileRef = C51CFAFFEF7C2C06682927CEDB7EFCA8 /* LOTRepeaterRenderer.m */; }; + 8FAA53D7C600935281B0FCF52F5EA104 /* LOTPathInterpolator.m in Sources */ = {isa = PBXBuildFile; fileRef = 367ECBBE70BC4C1AF2ED73C22AB0189B /* LOTPathInterpolator.m */; }; + 8FD2C4A9BCA13CE4F62DDEFCFA01B95D /* BMPlayerControlView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 844F6E5E3B9359B765F6A4EA2A245AEF /* BMPlayerControlView.swift */; }; 8FF125F3F155B9A7FD801FF6904D0764 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 233D9DA986ACE8F0A8734B129D658506 /* Foundation.framework */; }; - 907EB0D3D618496EC04BFEF8AF93893F /* Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9200F311ABA1304FEA2249A57D71FEEF /* Rx.swift */; }; - 90D44E848EFC89074E95370615D71983 /* _RXKVOObserver.m in Sources */ = {isa = PBXBuildFile; fileRef = 9E29B6F18F035B172CFA8B3CA656DA82 /* _RXKVOObserver.m */; }; - 90E3A23EE7392EC4B75FE453B98A5330 /* Sample.swift in Sources */ = {isa = PBXBuildFile; fileRef = 647D055E65013850F96FEF42A8114945 /* Sample.swift */; }; - 91924ACDF73CCB6136B791C3936445E2 /* CALayer+Compat.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F6A1D0A0B0AF3B76AC758D3E3C42C24 /* CALayer+Compat.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 91964BECA2F0B463AD12E07A6479CF48 /* LOTTransformInterpolator.m in Sources */ = {isa = PBXBuildFile; fileRef = 70F25435B3FD1356F35DC659617691A2 /* LOTTransformInterpolator.m */; }; - 91DB08BBAB7A54E946BC79F12D246DCF /* ObservableConvertibleType.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5634F22DABB9AB09D3EAE269A156937 /* ObservableConvertibleType.swift */; }; - 923444274E9A7B560D63B3AA3754BCC7 /* UIColor.h in Headers */ = {isa = PBXBuildFile; fileRef = 947ED7F639F845012BDB148AF8B0BD2F /* UIColor.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 923EB9487045D3297D9932193420D597 /* ImageProcessor.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED59BE9A6874FAFADB08C3CDCB4CF61E /* ImageProcessor.swift */; }; - 92DB4698009EB81D9F3FC3E1AA52ACBA /* Bag+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8C345126330F18C9DBDCE398DACAE5D /* Bag+Rx.swift */; }; - 93FE186FE3A3FAE7E65A67CACE8BE9A7 /* Zip.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64B2A4D896157FFEC6EC759B4B79B08C /* Zip.swift */; }; - 944049A8EF6EB6EB01C7500CB7FC6645 /* SingleAsync.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3EC02F84505CE42A71B96A18AFFED5A /* SingleAsync.swift */; }; - 94BDEB326D350F67E730DD309E39CCF0 /* GradientStartPoint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94DADA97D340F991EACB70C1DBCB7000 /* GradientStartPoint.swift */; }; - 94D33EA48767242A77874B217DDF1ECD /* ExtendCustomBasicType.swift in Sources */ = {isa = PBXBuildFile; fileRef = FBF18FE6972541AB0258433D0065A9E0 /* ExtendCustomBasicType.swift */; }; - 955AB89743D6297366381A60886F1FAF /* RxCocoa.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E897BB622EEFE953FF8F97F5099DA83 /* RxCocoa.swift */; }; - 9638F13BAD51C5CD62DB3FE15F0C7D6A /* ConnectableObservableType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8E8C24617A4A0AB8317147F312A9A608 /* ConnectableObservableType.swift */; }; - 96932DE0DB40F145D5D7AD3999B3906A /* DispatchQueue+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D49DD312F1F3BDBAB5286D640AC318F /* DispatchQueue+Extensions.swift */; }; - 96DB1DF7BD2BF9A7CF58AB654138C034 /* ActivityIndicatorAnimationBallZigZag.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1AD3CC088660203742FF8ADEB5965B48 /* ActivityIndicatorAnimationBallZigZag.swift */; }; - 977B8C0FCDBD2190727481BEDC54B3D3 /* NVActivityIndicatorAnimationBallSpinFadeLoader.swift in Sources */ = {isa = PBXBuildFile; fileRef = DAA8DBC4C805857503ADEDBBEC5E30A6 /* NVActivityIndicatorAnimationBallSpinFadeLoader.swift */; }; - 978DB7BE474BC4C28C0C078952681A78 /* PresentationModalPosition.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3463F7B53F20A10C7A339F326CB48FB4 /* PresentationModalPosition.swift */; }; - 97CD5B77ABF2DD37162768E605958480 /* PresentPortalSegue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 10E4C2731B1A70BE593408B1BAFF11B4 /* PresentPortalSegue.swift */; }; - 97F6C5CDA5A62A24EBF825D08D72F3B3 /* RxWebViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 72CB7C24D77E94EAD2AF4982AF263FF2 /* RxWebViewDelegateProxy.swift */; }; - 980B001467D3AF2B1F97A86D1AE36297 /* HistoricalSchedulerTimeConverter.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6837FCD22ECA1C905F183779B674709 /* HistoricalSchedulerTimeConverter.swift */; }; - 9819491804A945872B7DFB1C61A0F28F /* NVActivityIndicatorView-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A7A1E146229A41D708BC7CCB9E4BD9 /* NVActivityIndicatorView-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9863B7D354DAE97E73CCCAFF20625962 /* CheckBoxDesignable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 05DED0B22E5F09A19343D4BAFFD2B3AD /* CheckBoxDesignable.swift */; }; - 988BDE43A3E5BAB52180BA97A0FFFC1C /* SVProgressHUD-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 534772192649FA19C83ECC7A8C09371C /* SVProgressHUD-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 992D13BA80B02F0B4C46608426A284CF /* TextInput.swift in Sources */ = {isa = PBXBuildFile; fileRef = FE322F1DC19806D38DAD8C048063D43A /* TextInput.swift */; }; - 9A3B42977DC0582DBE20D415B734A91D /* OperationQueueScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = AB3268EAAB745230B087146F1237F481 /* OperationQueueScheduler.swift */; }; - 9AA1AE0E3849A72CFE564790F70AA5DF /* DropDownAnimator.swift in Sources */ = {isa = PBXBuildFile; fileRef = E15F59520684BC10D5EF3A0D80DF89DF /* DropDownAnimator.swift */; }; - 9B4C6DD92319D21DF711C00B95228885 /* NVActivityIndicatorAnimationBallZigZag.swift in Sources */ = {isa = PBXBuildFile; fileRef = FDDF590463E1120098C37A6E511E0B9E /* NVActivityIndicatorAnimationBallZigZag.swift */; }; - 9BCE2D885ED9F2DD3831C42D0CE3ED04 /* LOTAsset.h in Headers */ = {isa = PBXBuildFile; fileRef = 8DEE044FB93C4828FD8CE4D735AE7F76 /* LOTAsset.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 9C3BFBE9DFE426487A3FF1137EA22D18 /* BlurEffectStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 713C293A444D6998B1AC1CAE900A2A85 /* BlurEffectStyle.swift */; }; - 9C73C1595DCAD7A7B1EA411B7EA86DDE /* BorderDesignable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2747193EF86B91D67A15CB03679A1F8E /* BorderDesignable.swift */; }; - 9CBC452368F8E139362B162B6CBF0D67 /* ThemeStatePicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2C2E6633D236FB94145B6D77C6871B0 /* ThemeStatePicker.swift */; }; - 9CD36564DC7853E5DD36DEEF631A7746 /* RxCollectionViewReactiveArrayDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23CB47F089A37F60C2C30648DB1DF088 /* RxCollectionViewReactiveArrayDataSource.swift */; }; - 9CE2261C5DF6113EF5B9FFF029EDC720 /* MaskType.swift in Sources */ = {isa = PBXBuildFile; fileRef = D71B387F6E98E9DC5FA1E77B1AF271CD /* MaskType.swift */; }; - 9CF6FE7A7C675DFA55BABC0BD8D0D352 /* BMTimeSlider.swift in Sources */ = {isa = PBXBuildFile; fileRef = F2E641022C831209694A675089334525 /* BMTimeSlider.swift */; }; - 9D690BE2173C61F849665FC1454C85CA /* Event.swift in Sources */ = {isa = PBXBuildFile; fileRef = CCB30807A687ABAD96D6B9D83E1515D1 /* Event.swift */; }; - 9D7920717E2929AAA839422298706E2D /* LOTSizeInterpolator.h in Headers */ = {isa = PBXBuildFile; fileRef = 4D6772387D8B990199B8DC328F4B886D /* LOTSizeInterpolator.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 9D8E9B8151B7C6D3474994AA8A94D2E1 /* Catch.swift in Sources */ = {isa = PBXBuildFile; fileRef = AF2C63D11EF5A4F5C09DFA1C20A545EA /* Catch.swift */; }; - 9E80DFE96C5C968CC46F21C4B1D911D7 /* PriorityQueue.swift in Sources */ = {isa = PBXBuildFile; fileRef = F86094751E69A91F85F59402080EB223 /* PriorityQueue.swift */; }; - 9ED2BB2981896E0A39EFA365503F58CE /* AFError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2846EF1D28B3D42CC695C122178A8D49 /* AFError.swift */; }; - 9F75429364845DB0AFDAF4999EE215FC /* ConstraintRelation.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5B098A28080D6F13F85C6FD76D13E4A /* ConstraintRelation.swift */; }; - 9FD2DA41A702776118A7C8E150B56E9C /* NVActivityIndicatorAnimationBallRotate.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDA9107CA8C1B02C1D5302AD337AC8C1 /* NVActivityIndicatorAnimationBallRotate.swift */; }; - A01F0FE1861F99EF92B7C5D874A19517 /* AnimatableView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0351A2AE282ECE717987E896F7A977EE /* AnimatableView.swift */; }; - A05538B8137537D8796DE487158E091F /* CALayer+Compat.m in Sources */ = {isa = PBXBuildFile; fileRef = 5714D9BCBD5DC0DFFE2D051DDB8726DC /* CALayer+Compat.m */; }; - A0E7B2CA4F8F563C0D11B69C6A5F2523 /* Filter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 87A1D8342741643911F11578FD99C519 /* Filter.swift */; }; - A0F1DDBEB875784716426F2DAC4E83A9 /* LOTLayerGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = EDE62B4E0F34D6CA344741D8F340FFF3 /* LOTLayerGroup.m */; }; - A107312D9F3EC75A306D48657F449D18 /* AnonymousDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD0C4CE0EE52AD17EEE43C4699EC7884 /* AnonymousDisposable.swift */; }; - A1458A10E48B125D735D5039299E0078 /* ThemeImagePicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3438E278B2191E1C83A0F8A286F2ACFB /* ThemeImagePicker.swift */; }; - A155090870D03725E02D55DE1B9C2543 /* LOTAnimationCache.m in Sources */ = {isa = PBXBuildFile; fileRef = DAC7A7CCA65B102F095FDF3AE0BC8299 /* LOTAnimationCache.m */; }; - A1BC06BD91E114E1C5B4DC24DE1B2C50 /* ControlEvent+Signal.swift in Sources */ = {isa = PBXBuildFile; fileRef = A6188A2290B074180845F09D1C187B69 /* ControlEvent+Signal.swift */; }; - A1FC96D8A8B90BADF30FFBAC16FAE6E2 /* First.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC25C6DA574314C3A91A633B92EF63B6 /* First.swift */; }; - A2215A25F5902D42AE912704B895DEFB /* NVActivityIndicatorAnimationLineScale.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC3BAB9607A561F0F2786E73AA623FF6 /* NVActivityIndicatorAnimationLineScale.swift */; }; - A266DFD343A76701C06FC0698C00ECF6 /* PresentFlipSegue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E37CC887DAE238B301C4655BD3784DE /* PresentFlipSegue.swift */; }; - A27556F1F16ECC1FA70B9265A4992D40 /* ConstraintDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42CB77F9E0915B6E20A3066D0012D508 /* ConstraintDSL.swift */; }; - A2A6F71B727312BD45CC7A4AAD7B0AB7 /* NetworkReachabilityManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = F0C5C16DDAAD7AE8636AEBF8FA5B86E5 /* NetworkReachabilityManager.swift */; }; - A2B32C01A3EB0FFE820EDDBAB290D2ED /* GradientType.swift in Sources */ = {isa = PBXBuildFile; fileRef = F26F5F9127BCD3F6A278DE4AF39DD013 /* GradientType.swift */; }; - A2CAA3EC29DAD34AF34B4ACD49E1F1F7 /* Timer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 291EB4A7E6FB9B7DDB2D51067623A283 /* Timer.swift */; }; + 92DBB770C733441FEF2727149A0E918D /* LOTPolystarAnimator.m in Sources */ = {isa = PBXBuildFile; fileRef = B804E6931E81A1E03DE7F65B926892A6 /* LOTPolystarAnimator.m */; }; + 93B2DBF0C33747E8551879C4BBA4EB3B /* UITabBarController+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA8F7B7C2097E067BBB391A746E0BAF0 /* UITabBarController+Rx.swift */; }; + 94BDEB326D350F67E730DD309E39CCF0 /* GradientStartPoint.swift in Sources */ = {isa = PBXBuildFile; fileRef = CF0FDC14F823023EEEC8DC01949BD3DA /* GradientStartPoint.swift */; }; + 94D33EA48767242A77874B217DDF1ECD /* ExtendCustomBasicType.swift in Sources */ = {isa = PBXBuildFile; fileRef = B684B30B0A9D54D625BE99F0E032E3FB /* ExtendCustomBasicType.swift */; }; + 94DF95605D41F92BA19D968CFBCBAF3C /* LOTLayerGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = CEAF5852931190B60FBE6D5DDCCA9AB2 /* LOTLayerGroup.m */; }; + 95156987028D309F91AC55FBDFE01643 /* Kingfisher-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 99164FD78DB46A6B885FFE395F197B3F /* Kingfisher-dummy.m */; }; + 9529194AB681B193444109F0734BAD6A /* LOTTrimPathNode.m in Sources */ = {isa = PBXBuildFile; fileRef = D7F5EAFF9532CB02D31A2F0A786B6C8B /* LOTTrimPathNode.m */; }; + 95B8A915619301F8D9010BF56563FF5C /* LOTShapeRepeater.m in Sources */ = {isa = PBXBuildFile; fileRef = 04896ED4BE5D6C38B9153E79C92E9591 /* LOTShapeRepeater.m */; }; + 95F27A798A23AC54E3C20FC849179E20 /* Multicast.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8702BA4496DC31704AC274B578663963 /* Multicast.swift */; }; + 962A16A4390C8237DEF922CEDB6F92FD /* LOTGradientFillRender.m in Sources */ = {isa = PBXBuildFile; fileRef = E22142EA8500938ACA5B95A186D926B9 /* LOTGradientFillRender.m */; }; + 96DB1DF7BD2BF9A7CF58AB654138C034 /* ActivityIndicatorAnimationBallZigZag.swift in Sources */ = {isa = PBXBuildFile; fileRef = 129C8B9834E29E580E09B4D586AEC546 /* ActivityIndicatorAnimationBallZigZag.swift */; }; + 977B8C0FCDBD2190727481BEDC54B3D3 /* NVActivityIndicatorAnimationBallSpinFadeLoader.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADBBA9DB7ECBDE0FA2BBAE649C623371 /* NVActivityIndicatorAnimationBallSpinFadeLoader.swift */; }; + 978DB7BE474BC4C28C0C078952681A78 /* PresentationModalPosition.swift in Sources */ = {isa = PBXBuildFile; fileRef = EABF4075B14C3962DB5EA4AAC03D9958 /* PresentationModalPosition.swift */; }; + 97A0F67C7E767DDF397659EBC7927855 /* LOTNumberInterpolator.h in Headers */ = {isa = PBXBuildFile; fileRef = 19CDB4CDFCC7F12B0A6CF0D31D29C03E /* LOTNumberInterpolator.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 97CD5B77ABF2DD37162768E605958480 /* PresentPortalSegue.swift in Sources */ = {isa = PBXBuildFile; fileRef = CCB079B5E568E137CA0A067C26BA991C /* PresentPortalSegue.swift */; }; + 9819491804A945872B7DFB1C61A0F28F /* NVActivityIndicatorView-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = A25F9884A86D6792D624F519A70EE1A3 /* NVActivityIndicatorView-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9863B7D354DAE97E73CCCAFF20625962 /* CheckBoxDesignable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 15CEB98B3C4079ED8B1F13BB265A8134 /* CheckBoxDesignable.swift */; }; + 9887841C8070DF01D7C21A7F9BF438F7 /* LOTPolygonAnimator.m in Sources */ = {isa = PBXBuildFile; fileRef = 8AF745DEA106858CFA1FAE608438FF12 /* LOTPolygonAnimator.m */; }; + 988BDE43A3E5BAB52180BA97A0FFFC1C /* SVProgressHUD-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 89FD1A24E1138643FCF79C38326FA19E /* SVProgressHUD-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 98A6AC34960CFA66721BE2C3AF70F98C /* CALayer+Compat.h in Headers */ = {isa = PBXBuildFile; fileRef = EC14543D14A66DE8C8F90ACA629A7ECD /* CALayer+Compat.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 99B67E845264339CAEE35CF9E1A468A5 /* Timeout.swift in Sources */ = {isa = PBXBuildFile; fileRef = B4F65965BB5A50FEA5CE198B88B6B552 /* Timeout.swift */; }; + 9AA1AE0E3849A72CFE564790F70AA5DF /* DropDownAnimator.swift in Sources */ = {isa = PBXBuildFile; fileRef = C7BCB1BCB86175B5C80291408455A20D /* DropDownAnimator.swift */; }; + 9AF653902173F85E6B9281E1CA866EAC /* Throttle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 168C7A8F85E51FBD98FA68775F6C4F4F /* Throttle.swift */; }; + 9B4A316F90CB941F1D64E26CCAA870EB /* Queue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2678875A28B2F2FE8C187B393AD058CC /* Queue.swift */; }; + 9B4C6DD92319D21DF711C00B95228885 /* NVActivityIndicatorAnimationBallZigZag.swift in Sources */ = {isa = PBXBuildFile; fileRef = 357B61AA972B5D9C3A7C2D224E0AE557 /* NVActivityIndicatorAnimationBallZigZag.swift */; }; + 9B8812B6DEA189870E2DBD5E0677128C /* LOTRenderGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = DB6089120197089E59CEBF3720C5423E /* LOTRenderGroup.m */; }; + 9C3BFBE9DFE426487A3FF1137EA22D18 /* BlurEffectStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = C59A2BD514134A1D93F286F2EDF692E3 /* BlurEffectStyle.swift */; }; + 9C73C1595DCAD7A7B1EA411B7EA86DDE /* BorderDesignable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 717F030078D1EFCEAB156CAEAD87C3FC /* BorderDesignable.swift */; }; + 9CBC452368F8E139362B162B6CBF0D67 /* ThemeStatePicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E85791BD46D073BEAC391FE812184C6 /* ThemeStatePicker.swift */; }; + 9CE2261C5DF6113EF5B9FFF029EDC720 /* MaskType.swift in Sources */ = {isa = PBXBuildFile; fileRef = B255259B19B7008499A0DEF4DDAA7C04 /* MaskType.swift */; }; + 9CF6FE7A7C675DFA55BABC0BD8D0D352 /* BMTimeSlider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0BA4445A6DCA67F19DD6A515FF0F1D7E /* BMTimeSlider.swift */; }; + 9CFC70B34E2DC7BAAF14583C3BDA709F /* LOTShapeRectangle.m in Sources */ = {isa = PBXBuildFile; fileRef = F3A34EE1CD2DED6EECC4600260A66A63 /* LOTShapeRectangle.m */; }; + 9D45AEF9A88138B09EEB95F29AD9EC90 /* CGGeometry+LOTAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = CD4CD83C0072AD2568E6AD4EB018EB27 /* CGGeometry+LOTAdditions.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 9EA78787F3F856850BC0E6F773ADD448 /* RxCocoa-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 12422A642FEFD2B092D5113762D836AA /* RxCocoa-dummy.m */; }; + 9ED2BB2981896E0A39EFA365503F58CE /* AFError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A2670B9E5881C22F21D8F0813B85CB8 /* AFError.swift */; }; + 9F75429364845DB0AFDAF4999EE215FC /* ConstraintRelation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C6A6449A73D512BE7E821CFB27999CC /* ConstraintRelation.swift */; }; + 9FD2DA41A702776118A7C8E150B56E9C /* NVActivityIndicatorAnimationBallRotate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7153A59AB9B9D59EF1D98030899EC825 /* NVActivityIndicatorAnimationBallRotate.swift */; }; + 9FD8F558C02A4BC192447CD6E55E5768 /* LOTRepeaterRenderer.h in Headers */ = {isa = PBXBuildFile; fileRef = D41747E9CEBE6E96143D7BCBF29B308C /* LOTRepeaterRenderer.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A01F0FE1861F99EF92B7C5D874A19517 /* AnimatableView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F9F87A1AAC997B363BE129E8CCFEC71E /* AnimatableView.swift */; }; + A1458A10E48B125D735D5039299E0078 /* ThemeImagePicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 094AF28F5114A6B8FB8CFB544B3716EC /* ThemeImagePicker.swift */; }; + A19E1FA26E95CAB32744B1739065A152 /* RxNavigationControllerDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 24E21DA249A61C4B72304A7846BA5B70 /* RxNavigationControllerDelegateProxy.swift */; }; + A1F001686DFF84AD5AB3294E903A00F2 /* Delay.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7AEE01A217B4FA1F38726D3C6A001340 /* Delay.swift */; }; + A2215A25F5902D42AE912704B895DEFB /* NVActivityIndicatorAnimationLineScale.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7D439F01A64E68DE215D80AAB1E493AD /* NVActivityIndicatorAnimationLineScale.swift */; }; + A266DFD343A76701C06FC0698C00ECF6 /* PresentFlipSegue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 91793FC332F184B2765E9F1FE8B4439D /* PresentFlipSegue.swift */; }; + A27556F1F16ECC1FA70B9265A4992D40 /* ConstraintDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBC39D64DEF677071DC9B55294A35E07 /* ConstraintDSL.swift */; }; + A2A6F71B727312BD45CC7A4AAD7B0AB7 /* NetworkReachabilityManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = D03ECC4E17076018BA84CF807A129013 /* NetworkReachabilityManager.swift */; }; + A2B32C01A3EB0FFE820EDDBAB290D2ED /* GradientType.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7346BFE37010DBDA624BD7FBF75384F /* GradientType.swift */; }; A2D9F9EFFDFE9C19DA842E826B06BCEB /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 233D9DA986ACE8F0A8734B129D658506 /* Foundation.framework */; }; A2EA07FF84C0226DD3CF76845A444CDB /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 233D9DA986ACE8F0A8734B129D658506 /* Foundation.framework */; }; - A2F66BD7B4C53D59D21C922E4F9C50B5 /* LOTRenderGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = C9DB4641951A7C6E3B95425B87E5E804 /* LOTRenderGroup.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A32218FC91D1E36A77D0E2496E47AD86 /* StartWith.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75F45229D339AC713D31EC67F9B1E175 /* StartWith.swift */; }; - A389251E37A9EE0DCF419C286667D997 /* RxCollectionViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 65C2A21E236A0D0BB02223105601804B /* RxCollectionViewDelegateProxy.swift */; }; - A3A558E5079FA5A351866FFFB516437D /* AnimatableNavigationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF013503B36A32FC31A999DF1825E5F2 /* AnimatableNavigationController.swift */; }; - A3AEA0E6331DAD6443529BB3DBBC49BB /* Never.swift in Sources */ = {isa = PBXBuildFile; fileRef = D4E9A63ED006B76CD22208FD5D63F76F /* Never.swift */; }; - A3B10AE752DEFA30A4FDB7CC684DAEAF /* ThemeDictionaryPicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC6D5887C9F3EEE88A9460695B1052BE /* ThemeDictionaryPicker.swift */; }; - A5124A9E552501FDCE3A7574B20E8901 /* SystemTransitionAnimator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3CD75A6F995668576FD89A921FAE62C8 /* SystemTransitionAnimator.swift */; }; - A5382D3EA98D2EB1AD9EDA5F2138F00D /* MJRefreshAutoNormalFooter.h in Headers */ = {isa = PBXBuildFile; fileRef = 37186F6EEBE8581A18482E4E97792E14 /* MJRefreshAutoNormalFooter.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A547EE89F24A52928F7BC1992F867535 /* UIColor.m in Sources */ = {isa = PBXBuildFile; fileRef = 89F41CAE075546B34E66486842D26DA4 /* UIColor.m */; }; - A5CBD608F011C4C50F2EB66EF5CB7A0C /* RxPickerViewDataSourceProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = E31A4F2E3CF1DFCA5996BCB1BAD6CCEF /* RxPickerViewDataSourceProxy.swift */; }; - A5F10EBFC1293B49EA4D2E85605FF28B /* NVActivityIndicatorAnimationBallPulse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7D3FA654DB0D17A27059DCFFA737919C /* NVActivityIndicatorAnimationBallPulse.swift */; }; - A66E0BEA0EA1D0778BE9E821C5C365C7 /* ImmediateSchedulerType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02BA589C8AD7985615B4DAEF4077CEA7 /* ImmediateSchedulerType.swift */; }; - A681A817EC533BEB39359131CD7AF4DD /* NVActivityIndicatorAnimationBallBeat.swift in Sources */ = {isa = PBXBuildFile; fileRef = 12EB1C12CFA00FDF440A413CF88FC5B2 /* NVActivityIndicatorAnimationBallBeat.swift */; }; - A6A68FFFD486828117DBD635CB809A63 /* PresentFlipWithDismissInteractionSegue.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8C9BC5B2F2A244593AD7FBD783ADFE3 /* PresentFlipWithDismissInteractionSegue.swift */; }; - A6E26520CEB2ED0C08AB473C4357CB82 /* SVProgressHUD-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 6C6AD493BF2A7D60E355DC7D2D205B37 /* SVProgressHUD-dummy.m */; }; - A72D242BEF61E27D6C29092DF4666A4A /* MJRefreshComponent.h in Headers */ = {isa = PBXBuildFile; fileRef = 0A73D20F5EB6F948D6B01F94C372813F /* MJRefreshComponent.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A736FCE96AC16575ADEB1319AC334348 /* PresentationPresenterManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD35E127636653AD597AEC11F8B8B49C /* PresentationPresenterManager.swift */; }; - A75D0E89A92721E1244155747219092F /* Throttle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51035AAE611450A0138CE254154955FD /* Throttle.swift */; }; - A77FA1D56F6931D8EA06144952B3D9C0 /* SGPageTitleViewConfigure.m in Sources */ = {isa = PBXBuildFile; fileRef = 7838CBF59299AC18B1178B2E9FD304ED /* SGPageTitleViewConfigure.m */; }; - A7B9DB186F43278B8DA46459207615D7 /* LOTNumberInterpolator.h in Headers */ = {isa = PBXBuildFile; fileRef = 5854BB7AB2C50E78E7D98E172A51DB11 /* LOTNumberInterpolator.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A807CB5BA908EC994A92440625B3E117 /* PresentCardsSegue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8C080498CC28B3C050A70C19BD894E40 /* PresentCardsSegue.swift */; }; - A8096F51DB82ADD9F002809E064F98F9 /* Indicator.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE6E99F86374C2067ADE5E13BC6B3197 /* Indicator.swift */; }; - A816B845C58FFE14E247B46F42E281B4 /* AnonymousObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = FB75F725DFF3A6231C8B9E77685998E9 /* AnonymousObserver.swift */; }; - A8419DDEE195EF4199A2CC79FE43F269 /* AnimatableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = FBF9620033BB991DB3D5BAE19234ADD3 /* AnimatableViewController.swift */; }; - A980CC83BB8DE7A87AD3688E3172043D /* LOTMaskContainer.m in Sources */ = {isa = PBXBuildFile; fileRef = B6433F0BB306E7585814AF3CB89F3822 /* LOTMaskContainer.m */; }; - A9EEEA7477981DEEBC72432DE9990A4B /* Alamofire-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 0D1F4B688255B82CB4391A5FDB2A66F2 /* Alamofire-dummy.m */; }; - AA276321E3A96169B102E2B4EFF4F02D /* CacheSerializer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93AD44753EA9D19284DDF9FAB5E4906B /* CacheSerializer.swift */; }; - AA352FD975A5AD37ADC6BBFDDA9A20BB /* _RX.m in Sources */ = {isa = PBXBuildFile; fileRef = 339F3206459610A285700DEBBCA444D2 /* _RX.m */; }; - AA4959949A290D4B8BE1E31A890D0C80 /* MJRefreshFooter.h in Headers */ = {isa = PBXBuildFile; fileRef = 7DA24446C530A40CA1A86B34DF9FD5BB /* MJRefreshFooter.h */; settings = {ATTRIBUTES = (Public, ); }; }; - AADB65B96479439E8FA7304F06CBBEE2 /* IBEnum.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04E46E8224E2B2DC71F1BF20953E929 /* IBEnum.swift */; }; - AAE7D5375137D5E5FA7CB9D77B10D742 /* NVActivityIndicatorAnimationBallScale.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73C313BA9F8EF7AC2ADB43F94ABBE860 /* NVActivityIndicatorAnimationBallScale.swift */; }; - AAEEAF64CE453540970FA5D4AA8EE462 /* SerialDispatchQueueScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 482515FE86647EED72DFB537C0644BD2 /* SerialDispatchQueueScheduler.swift */; }; - AB1B49A002C914569E09CDD4A835D990 /* Constraint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1FBA3B5AA789EAF5083DF4D34517D047 /* Constraint.swift */; }; - AB351AF74CA55E50BC98C6C2441E3825 /* Timeout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 91AAA32D0E73A00478831646174FFA42 /* Timeout.swift */; }; - AC031EF6558722A5D153544B7FA0748A /* URLSession+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 153FE52A3B316E8E00009D08C81E50DD /* URLSession+Rx.swift */; }; - AC7F4089786FB9ACDFCF89E8385EEBE3 /* NVActivityIndicatorAnimationBallScaleMultiple.swift in Sources */ = {isa = PBXBuildFile; fileRef = 25E97FA92A9B3E12A89B8C18B47CEEF1 /* NVActivityIndicatorAnimationBallScaleMultiple.swift */; }; - AC9AA18E72111EE95F72EAA56BF3E0C4 /* RxTableViewDataSourceType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4949D1DADC72519448D72A952FE1D627 /* RxTableViewDataSourceType.swift */; }; - ACD485D97613CCE0100F2C3F4A0FBD99 /* LOTBezierPath.h in Headers */ = {isa = PBXBuildFile; fileRef = 97C66CC8A81744D732F73C5F0E216D16 /* LOTBezierPath.h */; settings = {ATTRIBUTES = (Project, ); }; }; - AD2B7A78895E0367924B50B533B4E353 /* Typealiases.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7CDA8FA3E6A6EF62B2AC8608EBB21875 /* Typealiases.swift */; }; - ADD6016EE64A8CA19C432D86F2601340 /* InvocableScheduledItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8D60E910DB94C42FAD397343F767C24 /* InvocableScheduledItem.swift */; }; - AE1EF48399533730D0066E04B22CA2D6 /* SessionManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = A0415C81A30DC7D621C9CB879B95D55E /* SessionManager.swift */; }; - AF1C2E616BC17EE83A6A9A320C71B1AD /* NVActivityIndicatorAnimationBlank.swift in Sources */ = {isa = PBXBuildFile; fileRef = C5582981004D61AAE61CA9EF62895593 /* NVActivityIndicatorAnimationBlank.swift */; }; - AF5F728A93F983A61E6EAEAE1E355DA5 /* LOTShapeStroke.m in Sources */ = {isa = PBXBuildFile; fileRef = 6BA32B2203C64904B0C7B357B7FF4480 /* LOTShapeStroke.m */; }; - AFEBA96D175FA2D4295BF54112178F2E /* ConstraintMakerPriortizable.swift in Sources */ = {isa = PBXBuildFile; fileRef = A080C464FDDDAC0A0C71D352FA69DA6C /* ConstraintMakerPriortizable.swift */; }; - AFEC50C554E8A34E79352643137037A5 /* SynchronizedUnsubscribeType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 859BAB63BD39CCE1786554310C6CEBA2 /* SynchronizedUnsubscribeType.swift */; }; - B02D91E02099D3C6A2F988C766032176 /* MJRefreshBackFooter.h in Headers */ = {isa = PBXBuildFile; fileRef = 86C06DF9D205B7E1B87CE1FA52D890F1 /* MJRefreshBackFooter.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A33522CA75541BF9A527241A97912A42 /* RxTableViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71C9EE08CB072641FDDC0DFCA7370788 /* RxTableViewDelegateProxy.swift */; }; + A3975877F5E2C7FBBD2A86E4F7315194 /* LOTShapeTransform.h in Headers */ = {isa = PBXBuildFile; fileRef = 2CF499307C3525026272724A4AF9D91F /* LOTShapeTransform.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A3A558E5079FA5A351866FFFB516437D /* AnimatableNavigationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C337AC08167594DB4AE2F93638A20230 /* AnimatableNavigationController.swift */; }; + A3B10AE752DEFA30A4FDB7CC684DAEAF /* ThemeDictionaryPicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60E749D8A3027F5EEEAE197C7D39D0E1 /* ThemeDictionaryPicker.swift */; }; + A3D3060E84392BD29E8F78383987EB0F /* InvocableScheduledItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 46D1699CD58B9FD876D75AA67B077C51 /* InvocableScheduledItem.swift */; }; + A43578D482A715701D3987325F6E4BA3 /* Using.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB79197EFE997C2C5B2306A547D31369 /* Using.swift */; }; + A5124A9E552501FDCE3A7574B20E8901 /* SystemTransitionAnimator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D2ED362A856D584608676D487B876F7 /* SystemTransitionAnimator.swift */; }; + A5382D3EA98D2EB1AD9EDA5F2138F00D /* MJRefreshAutoNormalFooter.h in Headers */ = {isa = PBXBuildFile; fileRef = 113756DE167A2362A92911AB0D74696C /* MJRefreshAutoNormalFooter.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A54451EAAFD30F0BFE73E2EA1849AEEF /* Create.swift in Sources */ = {isa = PBXBuildFile; fileRef = D51195C352B65F5AD9DBEE6EA8E7DE38 /* Create.swift */; }; + A5B651DB6B01996672B030664F24B1E7 /* DispatchQueue+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F227C3811DF91B830F830474AE8779B /* DispatchQueue+Extensions.swift */; }; + A5F10EBFC1293B49EA4D2E85605FF28B /* NVActivityIndicatorAnimationBallPulse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67866F2A81F6D4396FEFBFC65DF87F99 /* NVActivityIndicatorAnimationBallPulse.swift */; }; + A681A817EC533BEB39359131CD7AF4DD /* NVActivityIndicatorAnimationBallBeat.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6691A780C5833E37A7370B2A05F80CA3 /* NVActivityIndicatorAnimationBallBeat.swift */; }; + A6A68FFFD486828117DBD635CB809A63 /* PresentFlipWithDismissInteractionSegue.swift in Sources */ = {isa = PBXBuildFile; fileRef = C6245E2826F891C6354598E64A54948B /* PresentFlipWithDismissInteractionSegue.swift */; }; + A6A84B3F78AA9BBDF6CA594ADACF6B12 /* Zip+Collection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8EB1FA2B60BC5740CAC36980E08E2A86 /* Zip+Collection.swift */; }; + A6E26520CEB2ED0C08AB473C4357CB82 /* SVProgressHUD-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 9A2329EC727D7B4F2EEA272FCC245F8C /* SVProgressHUD-dummy.m */; }; + A72D242BEF61E27D6C29092DF4666A4A /* MJRefreshComponent.h in Headers */ = {isa = PBXBuildFile; fileRef = A63F9220F72DF8C05C727233C3B6A858 /* MJRefreshComponent.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A736FCE96AC16575ADEB1319AC334348 /* PresentationPresenterManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 131A7015CD2D8E822B090F7ED38E49CC /* PresentationPresenterManager.swift */; }; + A77FA1D56F6931D8EA06144952B3D9C0 /* SGPageTitleViewConfigure.m in Sources */ = {isa = PBXBuildFile; fileRef = C8501A5F6D699E9332279482BDF65DB2 /* SGPageTitleViewConfigure.m */; }; + A7B424217D3D79BB6B77531BEF2436F0 /* LOTComposition.m in Sources */ = {isa = PBXBuildFile; fileRef = F396DC12D749CB5B14B2A1F76D9DE6ED /* LOTComposition.m */; }; + A807CB5BA908EC994A92440625B3E117 /* PresentCardsSegue.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6AF64320CEBE5513418E808F4D8389D /* PresentCardsSegue.swift */; }; + A8419DDEE195EF4199A2CC79FE43F269 /* AnimatableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D01C986FDF014864D7FB3C95725E59FE /* AnimatableViewController.swift */; }; + A84BFE6F3AFE5C107EF920E6F14ADD91 /* LOTCircleAnimator.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E2880E8283E55FA4520EEE39CB7B376 /* LOTCircleAnimator.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A852866D9C1EF193F8663041990E0FA2 /* SingleAssignmentDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 204BB415F4D2C8FEF10B663E81DD2306 /* SingleAssignmentDisposable.swift */; }; + A8A79840E81BFA3D8DCC29BE71F1AEC4 /* KingfisherManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = A2C5125B50A24387FF7B3F51B3B95E73 /* KingfisherManager.swift */; }; + A9D2A6547EE5F6532EF8D1F1870BF158 /* CacheSerializer.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB806739F07C530FB4D4A6A09934568D /* CacheSerializer.swift */; }; + A9EEEA7477981DEEBC72432DE9990A4B /* Alamofire-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 31A92956F26C885F85C5258C08B2EF09 /* Alamofire-dummy.m */; }; + AA45A10812240E26A55FFDCEBD6AFC57 /* LOTBlockCallback.h in Headers */ = {isa = PBXBuildFile; fileRef = 308E8AF1CAD818F2AE6C77525DA8DB1B /* LOTBlockCallback.h */; settings = {ATTRIBUTES = (Public, ); }; }; + AA4959949A290D4B8BE1E31A890D0C80 /* MJRefreshFooter.h in Headers */ = {isa = PBXBuildFile; fileRef = C4C571C182394008BFA40E6C92F6CC69 /* MJRefreshFooter.h */; settings = {ATTRIBUTES = (Public, ); }; }; + AAC045EABB121D896418D0E048DDC2D2 /* GroupedObservable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D44C2040C0B5F5E80AC1AA3C589C894 /* GroupedObservable.swift */; }; + AADB65B96479439E8FA7304F06CBBEE2 /* IBEnum.swift in Sources */ = {isa = PBXBuildFile; fileRef = 90EBA0C7AFC48D2F884DC03B57E114FD /* IBEnum.swift */; }; + AAE7D5375137D5E5FA7CB9D77B10D742 /* NVActivityIndicatorAnimationBallScale.swift in Sources */ = {isa = PBXBuildFile; fileRef = FDF5839A34C72611A6878E7467B12E0E /* NVActivityIndicatorAnimationBallScale.swift */; }; + AB1B49A002C914569E09CDD4A835D990 /* Constraint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 05708780DE05AF5DED1436B32CBD8B89 /* Constraint.swift */; }; + AB471A2F518A686CD25965CA95C7E050 /* ControlEvent+Signal.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1F99D13856265844D0FE7D429322E64 /* ControlEvent+Signal.swift */; }; + AC7F4089786FB9ACDFCF89E8385EEBE3 /* NVActivityIndicatorAnimationBallScaleMultiple.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0D2132BD92166C87A50DC69EBAA9008C /* NVActivityIndicatorAnimationBallScaleMultiple.swift */; }; + ACA588557A4DBCBD8465F14D7FCBABA1 /* Buffer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 29FBB098364F1D9AE34F5E4E99C1813D /* Buffer.swift */; }; + AD2B7A78895E0367924B50B533B4E353 /* Typealiases.swift in Sources */ = {isa = PBXBuildFile; fileRef = D46CA2EE93DCC56202B291240EE10B0E /* Typealiases.swift */; }; + ADD907F23482A8290A7104681292BC94 /* ConcurrentDispatchQueueScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 485BAA3476101A16EC2D829E48443A0E /* ConcurrentDispatchQueueScheduler.swift */; }; + AE1EF48399533730D0066E04B22CA2D6 /* SessionManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7605DC73E1A50C6C63052378E87AE85 /* SessionManager.swift */; }; + AF1C2E616BC17EE83A6A9A320C71B1AD /* NVActivityIndicatorAnimationBlank.swift in Sources */ = {isa = PBXBuildFile; fileRef = C1DE8727C75DF9C091BA169E1EE409BA /* NVActivityIndicatorAnimationBlank.swift */; }; + AF52E542235D6A0DB5B77772B58964E5 /* VirtualTimeConverterType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53DFC8C8D220968BFDEB742AE5BE677B /* VirtualTimeConverterType.swift */; }; + AF91D96662870ACE941604B61926484D /* LOTAnimatedSwitch.h in Headers */ = {isa = PBXBuildFile; fileRef = 7037C7DD6C8C8FDCC83176ACE9F8EE85 /* LOTAnimatedSwitch.h */; settings = {ATTRIBUTES = (Public, ); }; }; + AFD86E32C8D67CDA7CFD30F5996ACAF1 /* LOTColorInterpolator.m in Sources */ = {isa = PBXBuildFile; fileRef = AF6645E2F04BC8CCC086A528F8B6AE3F /* LOTColorInterpolator.m */; }; + AFEBA96D175FA2D4295BF54112178F2E /* ConstraintMakerPriortizable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75BC5B6669C6AD20FB5BEAD21C79982E /* ConstraintMakerPriortizable.swift */; }; + B02D91E02099D3C6A2F988C766032176 /* MJRefreshBackFooter.h in Headers */ = {isa = PBXBuildFile; fileRef = 210AD680E63F6D8E12725113F3D469EB /* MJRefreshBackFooter.h */; settings = {ATTRIBUTES = (Public, ); }; }; B0662A221768677145A187198BDB94A6 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 233D9DA986ACE8F0A8734B129D658506 /* Foundation.framework */; }; - B0BB6CAA8ADA9344173D2BA27A3DE207 /* AnimatorFactory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 766DB823A8224BA89FAE0C1FCB11A051 /* AnimatorFactory.swift */; }; - B13A517D71B81B6CBC84D39E2DB00E4C /* UIView+SGPagingView.m in Sources */ = {isa = PBXBuildFile; fileRef = 40D7470C8CF928FE04ED7A302D04691A /* UIView+SGPagingView.m */; }; - B141C04ACAB3B91C574C5770FBB1A272 /* PresentFoldSegue.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B324EDFC60386052E9CDD7E85705FE /* PresentFoldSegue.swift */; }; - B1924FC06C6CF0F545FBDDA7552E64AE /* Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4EE3A9127234F0040983E2EC02B1F130 /* Foundation.swift */; }; - B1A5F48171486478562F0F19A660ED96 /* HelpingMapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1B09AE85829096D6E6DCB2C25910015B /* HelpingMapper.swift */; }; - B2D7659C17B67D73EE0B56A5746838FD /* LOTRadialGradientLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 6A5E4B6AD4C7EC4490BEA56E7F405239 /* LOTRadialGradientLayer.m */; }; - B3DC901B2AF6F9BA28754F6B63BD8F23 /* UIStepper+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = A2AD458D60BA851B80858BDE169FB6E6 /* UIStepper+Rx.swift */; }; - B4323D20D67B8889AE202D8F7F3BCBE9 /* InteractiveAnimatorFactory.swift in Sources */ = {isa = PBXBuildFile; fileRef = C72A01CA53F0F6CDE4ABD00180B58546 /* InteractiveAnimatorFactory.swift */; }; - B43B2779531636A959003D1B4DF2FC04 /* NopDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 47476DB266A32FB1749C97AC6BE44FA8 /* NopDisposable.swift */; }; - B4CF06AFBD2A90D2F0AE4308A37EEEED /* Metadata.swift in Sources */ = {isa = PBXBuildFile; fileRef = F827EAE5B53C2BE580AB88161540C6B6 /* Metadata.swift */; }; - B4F4D36810EB2C14F9467BCD893DF1CD /* PlaceholderDesignable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 92671A7883658ED2D4D462FDB6E7A8C1 /* PlaceholderDesignable.swift */; }; - B517995244D921513B6DD710747C9273 /* VirtualTimeScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = E465122B574AC2F6F7D8F53A9A9CE196 /* VirtualTimeScheduler.swift */; }; + B0764D19ED837A747ECBFFF82C74E30E /* AsyncSubject.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8592DC1D681983C95B9362790655CD8C /* AsyncSubject.swift */; }; + B0BB6CAA8ADA9344173D2BA27A3DE207 /* AnimatorFactory.swift in Sources */ = {isa = PBXBuildFile; fileRef = D47DB34B894F1A462126AD1896534108 /* AnimatorFactory.swift */; }; + B13A517D71B81B6CBC84D39E2DB00E4C /* UIView+SGPagingView.m in Sources */ = {isa = PBXBuildFile; fileRef = 444420FB5FF99CF48641DD592FB7EF28 /* UIView+SGPagingView.m */; }; + B141C04ACAB3B91C574C5770FBB1A272 /* PresentFoldSegue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99D12610F3C7E96184BB253381EAAE01 /* PresentFoldSegue.swift */; }; + B1472D8FD6CBDA59BAFF764AB1ED0962 /* LOTBezierData.m in Sources */ = {isa = PBXBuildFile; fileRef = 89FFC303181387FDCA04EDCB597CCB4C /* LOTBezierData.m */; }; + B1924FC06C6CF0F545FBDDA7552E64AE /* Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57E6087FE1F9339E3EC8214276A02E8E /* Foundation.swift */; }; + B1A5F48171486478562F0F19A660ED96 /* HelpingMapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 66AC079DD8FF2AE721DAA514D228FA92 /* HelpingMapper.swift */; }; + B21423E96DB6D8DAF9919CC6B94A19CE /* Platform.Darwin.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBA8CC9A04E4007C24F63D9287928E84 /* Platform.Darwin.swift */; }; + B3C731367226C0595C6E82CFB58C8AD1 /* LOTShapeRepeater.h in Headers */ = {isa = PBXBuildFile; fileRef = 93CA6699685808203553AD1690A375EE /* LOTShapeRepeater.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B3FE4512C4FAA3F3A94F7E3C5C84FF23 /* UISearchController+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = F475FE7AFE8CF8A19F4962EEFCACD5D6 /* UISearchController+Rx.swift */; }; + B4323D20D67B8889AE202D8F7F3BCBE9 /* InteractiveAnimatorFactory.swift in Sources */ = {isa = PBXBuildFile; fileRef = C1D117DE5265E1F1E0C5F52A29AD42AD /* InteractiveAnimatorFactory.swift */; }; + B46008F24A684C78E03F541E7409DA2F /* LOTValueCallback.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B3EBB8D8669EE976DF82A8EDD890B99 /* LOTValueCallback.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B497FB01CBD8D80EF70DCEA175A9E0ED /* RxTabBarDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = FB3FAEF3DE898473C1E1C24F89531D05 /* RxTabBarDelegateProxy.swift */; }; + B4CF06AFBD2A90D2F0AE4308A37EEEED /* Metadata.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8563BB5EBB0FCDD4F16A435D9EB05A1A /* Metadata.swift */; }; + B4F4D36810EB2C14F9467BCD893DF1CD /* PlaceholderDesignable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6330689B1BD22215D1DCCFF57DB35B33 /* PlaceholderDesignable.swift */; }; + B564B930C3B6CCFCC109ABF374B21CE6 /* ImageModifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B15D606FD2026BBCBC38C6EA3EF810 /* ImageModifier.swift */; }; B5708398F0C04599A4305CF981AD6CA2 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 233D9DA986ACE8F0A8734B129D658506 /* Foundation.framework */; }; - B587DCD6CB09647A3D6EB3614A224F96 /* Platform.Linux.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2A59B0131CD1F8E332B433E07921C38 /* Platform.Linux.swift */; }; - B5D9784024C4A412A24F3F3E7515B5B8 /* UITabBarItem+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6CCB3AA48C3B008A9891CB8213056E76 /* UITabBarItem+Rx.swift */; }; - B65FCF589DA398C3EFE0128064E510EC /* MultipartFormData.swift in Sources */ = {isa = PBXBuildFile; fileRef = C913BB1D654F80BEB325758B15582342 /* MultipartFormData.swift */; }; - B71648C5996727999F0C601A5A224427 /* ColorType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 00C37190B4A3AD3E1AC3CA92D458F182 /* ColorType.swift */; }; - B72FD3EDFF1145E037BBC9CDD0CDE1B6 /* Disposables.swift in Sources */ = {isa = PBXBuildFile; fileRef = 406E8D923A8950E30D0E0150CF7B121A /* Disposables.swift */; }; - B7A27DD3DF203035C4730EFAB58B499B /* Lottie.h in Headers */ = {isa = PBXBuildFile; fileRef = 280F2FA353CE9C180D30F01F131553A5 /* Lottie.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B7F614ACB8331267CBC0FC90E9641020 /* RefreshControlerDesignable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7BA1626FF67C446BC2967842F018AC7C /* RefreshControlerDesignable.swift */; }; - B815D0B23813A33E7D11D667F56DE418 /* LOTShapeGradientFill.h in Headers */ = {isa = PBXBuildFile; fileRef = D27C1B76808BD5D77AE9EF2830F6A6AC /* LOTShapeGradientFill.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B82E307CB6462A6D517B3BAC56E2E24B /* Maybe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0AAA17290F5B4BE76AB85EC5608DC32A /* Maybe.swift */; }; - B84445D00EBDB3D909469F1AE4531C82 /* URLTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 179F1E14E810B50D6AD1875238206208 /* URLTransform.swift */; }; - B84F960E74AE7F8A67099072C643F17F /* UINavigationController+FDFullscreenPopGesture.m in Sources */ = {isa = PBXBuildFile; fileRef = 5B9DC9A4C337D4C46E19B60C1D6B23E1 /* UINavigationController+FDFullscreenPopGesture.m */; }; - B868AC22871876CD705D7A98240B0A3C /* CustomFunctions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0775412FA8744446709B2C6F63CA3397 /* CustomFunctions.swift */; }; - B9252CB0294E3FC6C828F55366125372 /* Do.swift in Sources */ = {isa = PBXBuildFile; fileRef = B837FF1F46B736C372811088956EF18A /* Do.swift */; }; - B9A92EB75A97809F88C5D790435DFBA0 /* FTS4.swift in Sources */ = {isa = PBXBuildFile; fileRef = E1F467B0CFA31A46463162446F85652B /* FTS4.swift */; }; - B9CFCC7744B626C10A229FED923C9E80 /* AnimationChainable.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA2B9F22CA6DEF6DD9E02820C686AF84 /* AnimationChainable.swift */; }; - BA0711638621C2A47AABFF9E03546893 /* MJRefreshAutoStateFooter.h in Headers */ = {isa = PBXBuildFile; fileRef = 7763FEF399E482413A4BF4014501EB2D /* MJRefreshAutoStateFooter.h */; settings = {ATTRIBUTES = (Public, ); }; }; - BA50BE46F45BC22683B41C03C0E70806 /* ScheduledDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = AF8AFB5AD504E30CBDE0FD9E490F8EF5 /* ScheduledDisposable.swift */; }; - BA5D7097D03F57874277478693105BCD /* LOTRadialGradientLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = FD22D4F340EC90356CFAC12730E333A6 /* LOTRadialGradientLayer.h */; settings = {ATTRIBUTES = (Project, ); }; }; - BA7D3052DB60972F53AF3B913C5C71E6 /* NVActivityIndicatorAnimationTriangleSkewSpin.swift in Sources */ = {isa = PBXBuildFile; fileRef = 16DFE44A71BFE75E6AEC8A5A634A344F /* NVActivityIndicatorAnimationTriangleSkewSpin.swift */; }; - BB001AA03BDD627E1D252EFB48039858 /* LOTComposition.h in Headers */ = {isa = PBXBuildFile; fileRef = 14063873909746745CA2214A74624862 /* LOTComposition.h */; settings = {ATTRIBUTES = (Public, ); }; }; - BBEFE2F9CEB73DC7BD97FFA66A0D9D4F /* Validation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A29FEB761990977E5822B67AF3FFD3D /* Validation.swift */; }; - BC20D85F8B9D3A28C06A753CE27F436F /* LockOwnerType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52A7E25B50868C468EA88CECE97C1F03 /* LockOwnerType.swift */; }; - BC484424307BB2CA5BE0E243654B8076 /* LOTAnimationCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 419B21DEA3BEAAA34D72305F353A1D49 /* LOTAnimationCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; - BC86ADAB0BACD331C61ABD0DA2398484 /* UIActivityIndicatorView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68328CD5B519A87FCD2930BF13D7B793 /* UIActivityIndicatorView+Rx.swift */; }; - BCCAACD2DD37F75B9A26EA00C341F4F2 /* SVIndefiniteAnimatedView.m in Sources */ = {isa = PBXBuildFile; fileRef = D778DA0D6AE56F1672C492E59B4F5197 /* SVIndefiniteAnimatedView.m */; }; - BCDA6101487ADAF8CE25A92727B57C24 /* Kingfisher-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 7C71DA4B3D5A8B1A6042DC9552B0DBAB /* Kingfisher-dummy.m */; }; - BCF0083FE890BB2E5E50F11B9694C81F /* UIColorExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8EF6110A4D24FA9BA545361C9F94EE7B /* UIColorExtension.swift */; }; - BD65A3F9D167AA3394BCF4807404951C /* SwiftTheme-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 36EA26B526A43F84F924E039924D80A6 /* SwiftTheme-dummy.m */; }; - BDB33C3708110C6D755175D1F0A2A70B /* MJRefreshStateHeader.h in Headers */ = {isa = PBXBuildFile; fileRef = C5D2741ED47BC7E864B634A4E34136E3 /* MJRefreshStateHeader.h */; settings = {ATTRIBUTES = (Public, ); }; }; - BDD90CA1E08AC76FEFA402DF30FE46DA /* WithLatestFrom.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0BE0D2B0B8C0D20063ED146DCF1F23D0 /* WithLatestFrom.swift */; }; - BDFEEA5B22AB61790B306441BCDA87C9 /* CGGeometry+LOTAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 0B18D89860518A003FB3B12D4B26CA9C /* CGGeometry+LOTAdditions.m */; }; - BE4169D1178C0286EEB37F39E24600B8 /* LOTPolygonAnimator.m in Sources */ = {isa = PBXBuildFile; fileRef = 9031037246EEE46EF31274BC4F0DF5F1 /* LOTPolygonAnimator.m */; }; - BE4B9A0FC0B8E986C6DA469BAEC905D0 /* Blob.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE3F454C50D97FF78FF5789943EEDD1B /* Blob.swift */; }; - BE5C67A07E289FE1F9BE27335B159997 /* ParameterEncoding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 302C9CB931107FA736A07AFFA69B6557 /* ParameterEncoding.swift */; }; - BF0EFB1D8F574E33BA69E7B859F5B139 /* TintDesignable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7110C0759CF18D7B5820D6B7817BE69B /* TintDesignable.swift */; }; - BF23CCFB68329F34BCE94D0EBC447E53 /* SectionedViewDataSourceType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F36E7CE1AFC9680C1C66900D178EF56 /* SectionedViewDataSourceType.swift */; }; - BF9229DF57466DF71CE2701B25FDEF1C /* PresentFoldWithDismissInteractionSegue.swift in Sources */ = {isa = PBXBuildFile; fileRef = A0185893EC3870EB765FEA5FC6CB88A2 /* PresentFoldWithDismissInteractionSegue.swift */; }; - C0364536150331C3868A726901A60471 /* Pods-News-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = A2A44D35669E36F7894258B0D21278D1 /* Pods-News-dummy.m */; }; - C05C8787545DE26DF6B94383729C81DF /* AnimatableTabBarController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 24E3459F096285E8BCBCF18B8E2BAAB3 /* AnimatableTabBarController.swift */; }; - C0BCE451CA06562094215917677ABC99 /* LOTRenderNode.h in Headers */ = {isa = PBXBuildFile; fileRef = D73C4B2EBBB27397A7421665A91E53D5 /* LOTRenderNode.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C23DCC759D062F56019848BAA9311441 /* EnumTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 701E52A2A396BE62CEE4FFE14CD72B4D /* EnumTransform.swift */; }; - C26CB3A89ED18B9165DE49242AE42C82 /* Configuration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B2E4E3D789CD87984E6D145BA1929D4 /* Configuration.swift */; }; - C2AE98581F223D1252FAD56F3DD45468 /* LOTPolystarAnimator.h in Headers */ = {isa = PBXBuildFile; fileRef = A16003B8D309F1F3C203F841D87483E6 /* LOTPolystarAnimator.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C2D2B9384B3BA4E2BA4E0A7B5C0E1D3B /* LOTRepeaterRenderer.m in Sources */ = {isa = PBXBuildFile; fileRef = 97AFA631E60B98301A7A83245DBDE327 /* LOTRepeaterRenderer.m */; }; - C2FB21B79E055A614114312B2C403458 /* KVORepresentable.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB61F944890FF5AA3F9B310A93505C15 /* KVORepresentable.swift */; }; - C36A3D74108F6DB97DC8025667D6E879 /* SchedulerServices+Emulation.swift in Sources */ = {isa = PBXBuildFile; fileRef = BAEC6E29E295D399DE234A00C4DBD5ED /* SchedulerServices+Emulation.swift */; }; - C38EB3A8E0F2EB619159BD859360E971 /* Single.swift in Sources */ = {isa = PBXBuildFile; fileRef = 447837C60177C88B8817ED7F1415BE48 /* Single.swift */; }; - C3C093B46F3E297BD3F2B7E7D2C4DD87 /* _RXKVOObserver.h in Headers */ = {isa = PBXBuildFile; fileRef = 3B79AB0CEA95BF0C6EFA07452C11E150 /* _RXKVOObserver.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C3D1150450FB03D67FA67C0E80B624D1 /* Setter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 466139BBCB9AC40E9D142C9A5C4DB141 /* Setter.swift */; }; - C3E0F86E694206E52F1FB661C8D44EB8 /* ActivityIndicatorAnimationBallScaleMultiple.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8E510C117A2BA97D49EB05BC1D608BE /* ActivityIndicatorAnimationBallScaleMultiple.swift */; }; - C3E7D3975A8947F75668B86F78172A15 /* Helpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 396D1D2C395B05198A784BC925140FF0 /* Helpers.swift */; }; - C4145BD6C3F873F9BBF22F79AC107E1C /* LOTGradientFillRender.m in Sources */ = {isa = PBXBuildFile; fileRef = 278796E39B63CFFAD34B2291622A3972 /* LOTGradientFillRender.m */; }; - C5384D964F05EEA67757FAC51D6823B1 /* BorderSide.swift in Sources */ = {isa = PBXBuildFile; fileRef = A1442E1C095598511F02E7A11ED8C3EF /* BorderSide.swift */; }; - C56538884D846148660DD95903C93909 /* fts3_tokenizer.h in Headers */ = {isa = PBXBuildFile; fileRef = 709BABE45724E0A32318BE165B9968AB /* fts3_tokenizer.h */; settings = {ATTRIBUTES = (Private, ); }; }; - C59982C016F63B19E502AB37689A816F /* Error.swift in Sources */ = {isa = PBXBuildFile; fileRef = BCF6B9ED3081CD0EC6497084A35600D8 /* Error.swift */; }; - C5AA4281929215CC3E875E7704DE219A /* RxSearchControllerDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 738EDF65D01D4941FC7C446B9AE826E0 /* RxSearchControllerDelegateProxy.swift */; }; - C752B9C040979C251D1FF3C197716BD5 /* NVActivityIndicatorPresenter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0254A10083DCE5EA0FC7C103C4046A49 /* NVActivityIndicatorPresenter.swift */; }; - C76D1BF58C3682D052EC48C4E0342098 /* Deprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 81E52EF4934D8DCE72189B3110768E2C /* Deprecated.swift */; }; - C7BE0E04F4B063BC73974603173A0A2D /* LOTCacheProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = 7F6F1F9C23887ECE00D1D9F702032015 /* LOTCacheProvider.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C7BF8C5B399895D15607F4B887C2B1F6 /* SharedSequence+Operators+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0186DF89A7DED93C8085D1AD66389B06 /* SharedSequence+Operators+arity.swift */; }; - C82BF4F51C561E335ED8837C283F4EBF /* LOTLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = B4DBDA9100B3C4BDB1140374A24FC5DA /* LOTLayer.m */; }; - C8711E68CA2CB4B36CF2751D561C9C3C /* SVProgressAnimatedView.m in Sources */ = {isa = PBXBuildFile; fileRef = 9E1327ED356B10B0185703AF5219A078 /* SVProgressAnimatedView.m */; }; - C8B32E1A519937AC1FEBDFADBFE99CFC /* DisposeBag.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F6015DAC6DDE41EEB853A84F76714F7 /* DisposeBag.swift */; }; - C8DF5732ACD2DD1A15E508F2AB106EF3 /* NavigationBarDesginable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 298BBA0DFABBE2329472285AA78E51DF /* NavigationBarDesginable.swift */; }; - C95E658459BD82B216E3E2AE0FA7F5C9 /* LOTMask.h in Headers */ = {isa = PBXBuildFile; fileRef = A16EEEEAAF21E0BAF80075E1124170E3 /* LOTMask.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B60CD8C1987E92A071DD5870904D2F2E /* LOTSizeInterpolator.m in Sources */ = {isa = PBXBuildFile; fileRef = 704E11B646BB5F26CF83EB2296FE1AB6 /* LOTSizeInterpolator.m */; }; + B6305F920BF1B01E8BC14B4ED387DF5E /* ScheduledDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = A014C52ED0508D411FEEB953CE1384C8 /* ScheduledDisposable.swift */; }; + B65B1B07EC9467889F13988F01CB3904 /* LOTSizeInterpolator.h in Headers */ = {isa = PBXBuildFile; fileRef = 3BA7B602116D91F1691A1C1D17116FE9 /* LOTSizeInterpolator.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B65FCF589DA398C3EFE0128064E510EC /* MultipartFormData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 38E4C5C92A20E2A278898A98D8A983EB /* MultipartFormData.swift */; }; + B6880D8D4B883A5FE485D5089CE71D27 /* ConcurrentMainScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C12C851DEE7B4DC31AFED301A063E5C /* ConcurrentMainScheduler.swift */; }; + B71648C5996727999F0C601A5A224427 /* ColorType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 007AB89F7C2377B642A9496D54176E48 /* ColorType.swift */; }; + B73EC142DF7B5AA0172477C10BAB8A07 /* Bag.swift in Sources */ = {isa = PBXBuildFile; fileRef = E3BEA82F00E245C215AFCB1A6E82D12E /* Bag.swift */; }; + B7F614ACB8331267CBC0FC90E9641020 /* RefreshControlerDesignable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A44D9762E0E55A39789A32A7145A705 /* RefreshControlerDesignable.swift */; }; + B7FEA163D58168D7ECF5CE7B320795BF /* LOTRoundedRectAnimator.m in Sources */ = {isa = PBXBuildFile; fileRef = 34C0510DA5591B0A0AAF0324C35A3C47 /* LOTRoundedRectAnimator.m */; }; + B8081420F7D76C1506893935CA08E74D /* RxCollectionViewDataSourceType.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA538AD15782213B7C2F33D7246E0B68 /* RxCollectionViewDataSourceType.swift */; }; + B80FF84492A0422C57505812C1163B79 /* RxScrollViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5ADC134716446177E187673A92B0C012 /* RxScrollViewDelegateProxy.swift */; }; + B84445D00EBDB3D909469F1AE4531C82 /* URLTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = A12C1B06C09A900A9873B9242B08B88F /* URLTransform.swift */; }; + B84F960E74AE7F8A67099072C643F17F /* UINavigationController+FDFullscreenPopGesture.m in Sources */ = {isa = PBXBuildFile; fileRef = 8BC40C9A083ACADE7648BC3F68984328 /* UINavigationController+FDFullscreenPopGesture.m */; }; + B868AC22871876CD705D7A98240B0A3C /* CustomFunctions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 870580F6B4BC1C68069F609425D204E7 /* CustomFunctions.swift */; }; + B8C95A9B7B079B97F1BBECFB44AF4016 /* AnyObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3EFA2A70F6B791F41EFDF228E8EFA11 /* AnyObserver.swift */; }; + B8D78F67C0AC4F6ED8687E7A51001762 /* RefCountDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2DDA50E1D6894E8DEDEA47EB471C79A /* RefCountDisposable.swift */; }; + B8EE95D52358A4734896DD6F35002878 /* ObservableType+PrimitiveSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6723B6EF3CFC6E7FA50031E11E703FA7 /* ObservableType+PrimitiveSequence.swift */; }; + B924069CD75769E22765912C66A87BF3 /* Image.swift in Sources */ = {isa = PBXBuildFile; fileRef = 999954E09AE3FF87F7EE93180238C781 /* Image.swift */; }; + B9A92EB75A97809F88C5D790435DFBA0 /* FTS4.swift in Sources */ = {isa = PBXBuildFile; fileRef = BEEC4EC469F7882C73016883F3DD7F4F /* FTS4.swift */; }; + B9CFCC7744B626C10A229FED923C9E80 /* AnimationChainable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 425BE6B170368F7BF7632FFD5146C9BD /* AnimationChainable.swift */; }; + BA0711638621C2A47AABFF9E03546893 /* MJRefreshAutoStateFooter.h in Headers */ = {isa = PBXBuildFile; fileRef = C0180C1B25451B7FC38E267AB16A3252 /* MJRefreshAutoStateFooter.h */; settings = {ATTRIBUTES = (Public, ); }; }; + BA4DF38E820FF6B40FFABF8B1BBCC615 /* Kingfisher.h in Headers */ = {isa = PBXBuildFile; fileRef = 88037A3F1F5B170AFF4A7BF4FFA40416 /* Kingfisher.h */; settings = {ATTRIBUTES = (Public, ); }; }; + BA7D3052DB60972F53AF3B913C5C71E6 /* NVActivityIndicatorAnimationTriangleSkewSpin.swift in Sources */ = {isa = PBXBuildFile; fileRef = 10D23F821F34BCAE19BC118CBAC20325 /* NVActivityIndicatorAnimationTriangleSkewSpin.swift */; }; + BA81CD633443A2BAFE85E9E1D92239B8 /* UIColor+Expanded.h in Headers */ = {isa = PBXBuildFile; fileRef = BDA3906C794E408D169B933623886C0A /* UIColor+Expanded.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BAE6F2F79E4AF8832F8E49CA6E5F8176 /* First.swift in Sources */ = {isa = PBXBuildFile; fileRef = 48F58C0344549D1796B71578341B834C /* First.swift */; }; + BBEFE2F9CEB73DC7BD97FFA66A0D9D4F /* Validation.swift in Sources */ = {isa = PBXBuildFile; fileRef = E9678F935ADB57CB7880CC8D604D4F49 /* Validation.swift */; }; + BC4D7A866CDB74B7E33AC4621523D50F /* SubscriptionDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 55391A5C722C43A35D14A8194356C21A /* SubscriptionDisposable.swift */; }; + BC7009F65CA46454AEBA22B6A6745C4E /* KVORepresentable+Swift.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8AEFC873A3685E350C454F767CFF45F4 /* KVORepresentable+Swift.swift */; }; + BC73F5A32167C162626B5FF06CF795DF /* Just.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC571C4E884EBD15CB35DF3A1A3A976D /* Just.swift */; }; + BC9B94CA3E52193914D6300B63BC8822 /* LOTCircleAnimator.m in Sources */ = {isa = PBXBuildFile; fileRef = 0760A17DB776D9144244C60AF0BE67D1 /* LOTCircleAnimator.m */; }; + BCCAACD2DD37F75B9A26EA00C341F4F2 /* SVIndefiniteAnimatedView.m in Sources */ = {isa = PBXBuildFile; fileRef = 2656056F3D623926A160A2C6C636B30B /* SVIndefiniteAnimatedView.m */; }; + BCF0083FE890BB2E5E50F11B9694C81F /* UIColorExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 592F1DEC765D7B4B31AC29E2408AC6B1 /* UIColorExtension.swift */; }; + BD350D684B10350A606C0A0BF7F098E9 /* UIBezierPath.h in Headers */ = {isa = PBXBuildFile; fileRef = 90A4BFC65DF448B795AF128EA5F13C39 /* UIBezierPath.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BD65A3F9D167AA3394BCF4807404951C /* SwiftTheme-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A0FEA5F9843EADC4D4B73E71096FDF9 /* SwiftTheme-dummy.m */; }; + BDB33C3708110C6D755175D1F0A2A70B /* MJRefreshStateHeader.h in Headers */ = {isa = PBXBuildFile; fileRef = 69EE3A74BEDC1D5E819A308564221189 /* MJRefreshStateHeader.h */; settings = {ATTRIBUTES = (Public, ); }; }; + BDFFA964F8332581E13CF3FF5878DD86 /* UINavigationController+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 233DD7A36CEF398FC7D48CB1582A1CEC /* UINavigationController+Rx.swift */; }; + BE4B9A0FC0B8E986C6DA469BAEC905D0 /* Blob.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9BA6679884F0B2167126EFD3109B0CC7 /* Blob.swift */; }; + BE4C8F8EFB182E044623E7ADEF85A655 /* Repeat.swift in Sources */ = {isa = PBXBuildFile; fileRef = 15B3CBD39226136E02B85D74924A6F59 /* Repeat.swift */; }; + BE5C67A07E289FE1F9BE27335B159997 /* ParameterEncoding.swift in Sources */ = {isa = PBXBuildFile; fileRef = A10AED39392EE71F918A3184CA2574BF /* ParameterEncoding.swift */; }; + BE9FB5E8188E0B68DB277B09A06E79BA /* ImagePrefetcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = FE48B347D405F232EEE6BB270F7ABBDF /* ImagePrefetcher.swift */; }; + BF0EFB1D8F574E33BA69E7B859F5B139 /* TintDesignable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53945509DCAF51A8215B0FA83AB8558D /* TintDesignable.swift */; }; + BF83008EFF7E9FB730B9D709C42076B1 /* UITextView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = A09C6834F3E9B97A62243882B2A9C12E /* UITextView+Rx.swift */; }; + BF9229DF57466DF71CE2701B25FDEF1C /* PresentFoldWithDismissInteractionSegue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0B5957D4C538B58713FD05FA76DC9C0F /* PresentFoldWithDismissInteractionSegue.swift */; }; + C0364536150331C3868A726901A60471 /* Pods-News-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = BD468CA8BE15F90B688C6BFC41D05C20 /* Pods-News-dummy.m */; }; + C05C8787545DE26DF6B94383729C81DF /* AnimatableTabBarController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0454AABCB7B80F307C522AB3E8ABC65D /* AnimatableTabBarController.swift */; }; + C16BA54FCFE7FB5303C83630603CA1F9 /* _RX.m in Sources */ = {isa = PBXBuildFile; fileRef = 85ABB3468B54780079F7AA0678BD1E74 /* _RX.m */; }; + C1C36D09D96BDD06D1BEF608EAAA8721 /* BehaviorRelay+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E93A58C4C0571288BF9D5D983A548B3 /* BehaviorRelay+Driver.swift */; }; + C23DCC759D062F56019848BAA9311441 /* EnumTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = EEA1B509F65E328E4FD61B556A1A5FEF /* EnumTransform.swift */; }; + C26CB3A89ED18B9165DE49242AE42C82 /* Configuration.swift in Sources */ = {isa = PBXBuildFile; fileRef = A02B3D627DF866BACA28258430AFBF6E /* Configuration.swift */; }; + C32C7FE70764DE37935F6A5D80CB17C7 /* RequestModifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = 416EA2ABAA912C2DFF4112C7E6B53757 /* RequestModifier.swift */; }; + C3C093B46F3E297BD3F2B7E7D2C4DD87 /* _RXKVOObserver.h in Headers */ = {isa = PBXBuildFile; fileRef = CFD740BE69880E1509F465B7AFD0D98E /* _RXKVOObserver.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C3D1150450FB03D67FA67C0E80B624D1 /* Setter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 72E651720F2D2935F0310AF23D27764C /* Setter.swift */; }; + C3E0F86E694206E52F1FB661C8D44EB8 /* ActivityIndicatorAnimationBallScaleMultiple.swift in Sources */ = {isa = PBXBuildFile; fileRef = D58FBC05E2A58E7D049CC776D61FF76E /* ActivityIndicatorAnimationBallScaleMultiple.swift */; }; + C3E7D3975A8947F75668B86F78172A15 /* Helpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = FE38BAF5D3AC220A6912467C1FED43CC /* Helpers.swift */; }; + C3ED35A0CF7B3DB109146A7BA7BA3201 /* Signal+Subscription.swift in Sources */ = {isa = PBXBuildFile; fileRef = 733862D09B02C560283CE9B632496A3F /* Signal+Subscription.swift */; }; + C4658469DAAE68B5183108D3000C1D28 /* ObservableConvertibleType+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54BE5FDFFFBA1B7552E5F1DE4FF8A670 /* ObservableConvertibleType+Driver.swift */; }; + C46843746C6C33A9407BFF57533AE948 /* RxPickerViewAdapter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7023245743305E4FAC34F7788584F96B /* RxPickerViewAdapter.swift */; }; + C5384D964F05EEA67757FAC51D6823B1 /* BorderSide.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18BB05CCB1A9DED04A0CA7F42C89B868 /* BorderSide.swift */; }; + C56538884D846148660DD95903C93909 /* fts3_tokenizer.h in Headers */ = {isa = PBXBuildFile; fileRef = 912756BF94496D05409BDD76C77D75D0 /* fts3_tokenizer.h */; settings = {ATTRIBUTES = (Private, ); }; }; + C6CDC695057E837EABCE42EF79887683 /* LOTPolygonAnimator.h in Headers */ = {isa = PBXBuildFile; fileRef = 3251503BBC78AD715F3F32159467C794 /* LOTPolygonAnimator.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C752B9C040979C251D1FF3C197716BD5 /* NVActivityIndicatorPresenter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E268CC9889BB277B18F84BA6858BE1F /* NVActivityIndicatorPresenter.swift */; }; + C7627C8AD2AE8C23DEA07A4A789F9FE1 /* Range.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A7DF293AD213C15C7A54A8C044E73D2 /* Range.swift */; }; + C8711E68CA2CB4B36CF2751D561C9C3C /* SVProgressAnimatedView.m in Sources */ = {isa = PBXBuildFile; fileRef = F75795D3EE42BA3C08F9DF9E5FF203CB /* SVProgressAnimatedView.m */; }; + C8DF5732ACD2DD1A15E508F2AB106EF3 /* NavigationBarDesginable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 287E566DE7E6D91534C924B14B39212B /* NavigationBarDesginable.swift */; }; CA23E38FC403D3F9A9DBA7F7EB046FB2 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 27A1CB008036FD58825910CF7EAF8286 /* AVFoundation.framework */; }; - CAE5CCE07DBC68259B73156DA09C7B40 /* Connection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2BE5FA1D8E2BECCDB2318A076F950F6D /* Connection.swift */; }; - CAF5A4A8B214A4DF0ED1712C1AE60CE3 /* PresentationModalSize.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD7B420D0258F12EAD0973758F63D1D5 /* PresentationModalSize.swift */; }; - CB15BC05336FFC0BD932E8E7D303EEB9 /* Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF23207A2D3D055944ECC60C77CAA36E /* Utils.swift */; }; - CB6D60925223897FFA2662667DF83E8A /* Response.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7CA24D972359FACF129A945FF1B859F /* Response.swift */; }; - CBEC0D4015828CB2A666C87675364162 /* LOTAnimationView.h in Headers */ = {isa = PBXBuildFile; fileRef = 96D904A35D8CEBB1CC3BFB9EA30B93EB /* LOTAnimationView.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC616E4A5525E7B326235578EEFB71D5 /* ConstraintInsetTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0D186AD449351E3F7DDAC9FF38A1D67 /* ConstraintInsetTarget.swift */; }; - CD3D1E29EC58784F3CA8014CDFF57C15 /* Bag.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9157AA6EB606FADF0471ABE3A7F38911 /* Bag.swift */; }; - CD415CB2809DE0806F62A13C3A755D9A /* CombineLatest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 56E12DA484D22A5F375B1142514DCBD4 /* CombineLatest.swift */; }; - CD6F28A71FA93783603871182774FC1E /* LOTFillRenderer.h in Headers */ = {isa = PBXBuildFile; fileRef = 2FCDD9E6A46D8493F7ACE8B3C8C752A5 /* LOTFillRenderer.h */; settings = {ATTRIBUTES = (Project, ); }; }; - CE02BB2D6099ACB29E879EE71D1CEEF4 /* ConstraintInsets.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5AFAF9B98BC7DA3DC7B2EFB0DE2C167D /* ConstraintInsets.swift */; }; - CED2B36AEA8434AB4F000F1C1EC7FF8E /* RTree.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96E7F8C1E7119960E70A1A116543FC6D /* RTree.swift */; }; - D025397672083E6DB0B4AEEF4405E725 /* Empty.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7D591588B99792FC84A1188B1B5489E /* Empty.swift */; }; - D02DEBC241C24DEEFDA13C355197A2FB /* UIScrollView+MJExtension.h in Headers */ = {isa = PBXBuildFile; fileRef = 27DC22D76C20CC4C5E475D62860B40DE /* UIScrollView+MJExtension.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D06C0BDAAB680463EAB6151976D97FDB /* AsyncSubject.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08B55C15CBBE0AB6B7F15979EC69AD66 /* AsyncSubject.swift */; }; - D0E7D5B865722A25EC7D91B0FAD8A6CD /* MJRefreshAutoGifFooter.h in Headers */ = {isa = PBXBuildFile; fileRef = CF53C9E3F67E2DA9E89651FED14543B4 /* MJRefreshAutoGifFooter.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D1464F741782BFBF5FFA6ED54936ED77 /* LOTPathAnimator.m in Sources */ = {isa = PBXBuildFile; fileRef = F9E75F42E99218116687616FF47FB040 /* LOTPathAnimator.m */; }; - D16017BC000DDD2D44D01DC575C3D889 /* CompositeDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = F6F7147C345C4CA26C4FDC711CE635E7 /* CompositeDisposable.swift */; }; - D16128FBE7669D9FB960DB2801C265A7 /* RxCocoaRuntime.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F13420ADC24C4A17BEBA43298637DAC /* RxCocoaRuntime.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D16E571F2CBC6CFAF015461E218B580E /* TransformType.swift in Sources */ = {isa = PBXBuildFile; fileRef = A55CEDF1D56F1E448CF6C0D02F5E6FCC /* TransformType.swift */; }; - D173C9E5A661A9BB52A89BEEC1A5FDDE /* Map.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B8EBE8451C20153E2B76BB56733BB1F /* Map.swift */; }; - D1CC6196CD9C744444B994145960F99C /* UIColorExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5A7CA5EA111647BAA59C3AA6341AEE06 /* UIColorExtension.swift */; }; - D205E953E843C195D4D27A6960483863 /* RequestModifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6F5C4BFFDCBA16C84F74B6E39D87B199 /* RequestModifier.swift */; }; - D208D822F748243079D3FFCC7A115664 /* SGPageTitleViewConfigure.h in Headers */ = {isa = PBXBuildFile; fileRef = A6D20FF3B8F1576447306969935E92D3 /* SGPageTitleViewConfigure.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D229D0A98406790184712CD93333C694 /* ActivityIndicatorAnimating.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5611AC275D561986CF01B2B9ADB504E2 /* ActivityIndicatorAnimating.swift */; }; - D2732BD8F7B9FB500AAE2A5332F4BFCD /* Typealias.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C223AF30CEBDFEACD2718FA0F96A254 /* Typealias.swift */; }; - D2A03FE9B797CE505AB494BB00108F9E /* Bag.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB0462874A5160CA2601CDCAC80683B2 /* Bag.swift */; }; - D2A1E9664C579CF72E1668C5A5764CDD /* ConstraintView+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F9EB7F0F4C0AD98B78CF12414D46F57 /* ConstraintView+Extensions.swift */; }; - D2B4771EC165569D422C3C96AC42744D /* VirtualTimeConverterType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51CC39B70ADEFC89ABDBFCB9BF3F9839 /* VirtualTimeConverterType.swift */; }; - D2D87CF1E07B2E4C9B767ED625BDD9A0 /* PrimitiveSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 624C71F2B840E89E387C38E67ADDDE69 /* PrimitiveSequence.swift */; }; - D2E1521B0179E8D6F8AB3CA6D06C7AC7 /* NVActivityIndicatorAnimationOrbit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9757007F01F5B80B63B3FF588F8DAB47 /* NVActivityIndicatorAnimationOrbit.swift */; }; - D42094FCFFE2545CEBCDE39191DE67CF /* ExtendCustomModelType.swift in Sources */ = {isa = PBXBuildFile; fileRef = AF1D6458A5DE801939E90475C79785A7 /* ExtendCustomModelType.swift */; }; - D42E1C9C953771026150086BF7BEBD2B /* ThreadHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9E446F6188BD52B41F15C02E54952C3 /* ThreadHelper.swift */; }; - D46545D206874E3A223372C84F1EA73E /* MJRefreshAutoFooter.m in Sources */ = {isa = PBXBuildFile; fileRef = 204E8238FBB5A2AC371B8D67B1D16277 /* MJRefreshAutoFooter.m */; }; - D472B17C81637E5A348997920034CC8E /* ImagePrefetcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 40B59B3E1D4C9440632B6ABACAFABC34 /* ImagePrefetcher.swift */; }; - D476BEA9ADFA6306E851146B3BF0C777 /* NSValue+Compat.m in Sources */ = {isa = PBXBuildFile; fileRef = A0319F125B765ADBDC90C9181D7E78E6 /* NSValue+Compat.m */; }; - D489A082AF2ED7D4D5D4BF535640B6B6 /* LOTValueInterpolator.m in Sources */ = {isa = PBXBuildFile; fileRef = A4656F406E002F587BF0B551B4173944 /* LOTValueInterpolator.m */; }; - D4B2DB6A1694FA1E15230AC4AD540065 /* PresentTurnSegue.swift in Sources */ = {isa = PBXBuildFile; fileRef = C55F13B941BD4A8C23158E1895FBF5F3 /* PresentTurnSegue.swift */; }; - D4F6716440C963444C46E0BB56D0C887 /* UIView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8048585CED7DB00085A27F1E42674C08 /* UIView+Rx.swift */; }; - D52D17D221DF6C1CC319C2C607C42B5A /* PinchInteractiveAnimator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5A2040E165D86A261BB77BC526ACC3BD /* PinchInteractiveAnimator.swift */; }; - D55A376056211023C514B8F6D98CE19D /* SlideAnimator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50A928C8B21A5D7D3C250407EC8528A2 /* SlideAnimator.swift */; }; - D57481A5E0ECC0F3E4C18DA4BCCD740F /* NVActivityIndicatorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA95E4F30C56DB00B4BB8EAF869259D2 /* NVActivityIndicatorView.swift */; }; - D66E78D63935A98894E702D922AA8B91 /* MJRefreshBackGifFooter.m in Sources */ = {isa = PBXBuildFile; fileRef = 7E1CBF52C0A0803B1A3494D396E0693C /* MJRefreshBackGifFooter.m */; }; - D6A2C3F7275A8B58E4CDDE445A39676C /* Sink.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3E974CD94C306E0B2A3D8387B28538C /* Sink.swift */; }; - D73C6BF498A7F2883465DCD336CF47DE /* TimingFunctionType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 147990E837085DEECB1B14F88E883077 /* TimingFunctionType.swift */; }; - D73C710A3DCD3FC89E81F0714FA1D942 /* Deprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1B5AE7D2A4836410B4324A01AF4641B8 /* Deprecated.swift */; }; - D743EEFA4B0CB78CE1D0BE42B5D8F701 /* BMPlayerItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = FA1AE8C65D8D4AB7FEEAC3A5F1F61E09 /* BMPlayerItem.swift */; }; - D74DE7EE1945DCEC425E0E7C29D22D37 /* ConstraintMaker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0DF95F092886036754BA55304A1C864B /* ConstraintMaker.swift */; }; - D765C4689EDEBE0B51A23D78BBAD83AB /* AnimatedPresenting.swift in Sources */ = {isa = PBXBuildFile; fileRef = D05C81FB5DBC7977807350864B2FDF7F /* AnimatedPresenting.swift */; }; - D7A7EA0132EFBE9F869E9E28FD13F4A3 /* KVORepresentable+CoreGraphics.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F82E905FA9C0D9DA9720D6B5383B631 /* KVORepresentable+CoreGraphics.swift */; }; - D7E8D50F2842FC388CD2F9E30031CBA0 /* ActivityIndicatorAnimationBallTrianglePath.swift in Sources */ = {isa = PBXBuildFile; fileRef = 28C7860C52BDEBF48A16FA85CF7A9C74 /* ActivityIndicatorAnimationBallTrianglePath.swift */; }; - D820DE54D6E9E5C85E0F9BF8A399E5EF /* MJRefresh-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 39C37519761A51CE304B05AD3CE4D9D0 /* MJRefresh-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D868A070BD5EB3D3709CF06FA0656D73 /* Query.swift in Sources */ = {isa = PBXBuildFile; fileRef = F6363B62D96F8F9967ADB09607281B97 /* Query.swift */; }; - D89421B61B791BBE3D424FAA42A4123F /* LOTAnimationView_Compat.h in Headers */ = {isa = PBXBuildFile; fileRef = F6DC0FC298D83542DAACC8F0D667DD38 /* LOTAnimationView_Compat.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D93E54CC11A54C7254926C47BA50C7D8 /* SQLite.swift-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = DCB2BBE1A229BAB4029A4DA40D21EAA6 /* SQLite.swift-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D98338CF3A937412B5ECDC65E8AE1334 /* ActivityIndicatorAnimationBallSpinFadeLoader.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2BF342ACCCF306098ED810CBDB40150 /* ActivityIndicatorAnimationBallSpinFadeLoader.swift */; }; - D98E53D284B282523A70D9AB6A14567F /* Materialize.swift in Sources */ = {isa = PBXBuildFile; fileRef = 77513784EBB76DD7BE5E4F605570DEDB /* Materialize.swift */; }; - D99E0616262E0C7132EA6DCCF66F9624 /* ItemEvents.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9341BE09000670210B633CF4EEEBDD7F /* ItemEvents.swift */; }; - D9BFA0E9F0EB44F42BF61FD6157885BB /* CGGeometry+LOTAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 68D01B3244CC6A90F855129E353C9BEC /* CGGeometry+LOTAdditions.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D9C294ABCB47DC3E6FEFDAD0FA108D2A /* Signal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9DF1948C00898D45450ABFF830322D1E /* Signal.swift */; }; - D9F2BA4D713DAC2A85CB4A453240EA3E /* MJRefreshAutoFooter.h in Headers */ = {isa = PBXBuildFile; fileRef = C1AA7843A6BFD747DD9C1DC93E2042B3 /* MJRefreshAutoFooter.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D9F32B15F8476E9DFBEFC64746EE75A5 /* NVActivityIndicatorAnimationSquareSpin.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A17C7910A923129DDFA85DD0109B20F /* NVActivityIndicatorAnimationSquareSpin.swift */; }; - D9FB240123A8E592783290D6F12B42AE /* ThemeCGFloatPicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09ECCE2070D0AFFD99AFBDACFF1EC32E /* ThemeCGFloatPicker.swift */; }; - DA395CE8A619786AEC9F03D79CCEFBAF /* RxSearchBarDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7CB20B4AD50D9869EA097B460139DA53 /* RxSearchBarDelegateProxy.swift */; }; - DACE12E1479FE4F88D8B427846C5D7E4 /* EnumType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 25362B715E820CE4468C76AF3AE05360 /* EnumType.swift */; }; - DB5EC53C26C440F826E5917C0CE3BC49 /* BooleanDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D5A8F61419381F2EF65A37E479F82C9 /* BooleanDisposable.swift */; }; + CA3D95E6FA70BF094CB2C8DF9CEFDB92 /* LOTShapeCircle.m in Sources */ = {isa = PBXBuildFile; fileRef = 0FCCFD3DE226412E86843BDD7164CA5E /* LOTShapeCircle.m */; }; + CA8DC2C5C1A4364B3D94EF28D742023F /* PublishRelay.swift in Sources */ = {isa = PBXBuildFile; fileRef = 44F92EC984D7ED95518212A61FD1B8F0 /* PublishRelay.swift */; }; + CAE5CCE07DBC68259B73156DA09C7B40 /* Connection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7321D02EC8F5E16977EC84C8E17D5501 /* Connection.swift */; }; + CAF5A4A8B214A4DF0ED1712C1AE60CE3 /* PresentationModalSize.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31E29E0240B38CF460902B3D216B7E9C /* PresentationModalSize.swift */; }; + CB15BC05336FFC0BD932E8E7D303EEB9 /* Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = D40E60FACB359347ECD9C41FE10F69AB /* Utils.swift */; }; + CB6D60925223897FFA2662667DF83E8A /* Response.swift in Sources */ = {isa = PBXBuildFile; fileRef = 21BE0FD97575C4B8F8648F415702A7F4 /* Response.swift */; }; + CBBDF017E96AFFD3F9954E3EC8D4128B /* Amb.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6D16246E8A7E3D9FF02C27DA28908EB /* Amb.swift */; }; + CBC0BA91FCBC3C3000EF6C21D54F6E85 /* LOTMaskContainer.h in Headers */ = {isa = PBXBuildFile; fileRef = 40641CC6A6B9CA54A50E4CEDA60A6F70 /* LOTMaskContainer.h */; settings = {ATTRIBUTES = (Project, ); }; }; + CBC229DCC038B1527BA8D2109F5E30A8 /* LOTArrayInterpolator.h in Headers */ = {isa = PBXBuildFile; fileRef = 56187865DCD290495F8521B2C5578CAE /* LOTArrayInterpolator.h */; settings = {ATTRIBUTES = (Project, ); }; }; + CC616E4A5525E7B326235578EEFB71D5 /* ConstraintInsetTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F8A40533ECA9BA5BF58C431221DCAA2 /* ConstraintInsetTarget.swift */; }; + CE02BB2D6099ACB29E879EE71D1CEEF4 /* ConstraintInsets.swift in Sources */ = {isa = PBXBuildFile; fileRef = C588B32D2F99FDE723482533438EC6F3 /* ConstraintInsets.swift */; }; + CE327BA07437DBAF82E10EC41C382B91 /* LOTBezierData.h in Headers */ = {isa = PBXBuildFile; fileRef = F2F34060ECDD4BF42444A2B5C26D61D8 /* LOTBezierData.h */; settings = {ATTRIBUTES = (Project, ); }; }; + CE38861F1268294930C074FC3F807E55 /* ThreadHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0638F98C185EAADFBECA7D84568C38A /* ThreadHelper.swift */; }; + CE9A0BF45D14F89F7D68D4E03F73A635 /* DispatchQueue+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 415372DB88A8802CD3B5C84816EAB3A0 /* DispatchQueue+Extensions.swift */; }; + CEA0E9D7A6A05ED4DC4EE679A95A1E9A /* LOTColorInterpolator.h in Headers */ = {isa = PBXBuildFile; fileRef = 8C762DB9C74DDF0CBE4285AA8731688D /* LOTColorInterpolator.h */; settings = {ATTRIBUTES = (Project, ); }; }; + CED2B36AEA8434AB4F000F1C1EC7FF8E /* RTree.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD483794FAB472C166493B1113A54B6B /* RTree.swift */; }; + CEE5AC84BA9D08E7E1E808A6ADD28113 /* OperationQueueScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA526424757A73A701410EF5F9BA6BA9 /* OperationQueueScheduler.swift */; }; + CEEB7C897409C08DF53289E307AB987C /* String+MD5.swift in Sources */ = {isa = PBXBuildFile; fileRef = 105CD321C127A6648D6C1E9145AF782E /* String+MD5.swift */; }; + D02DEBC241C24DEEFDA13C355197A2FB /* UIScrollView+MJExtension.h in Headers */ = {isa = PBXBuildFile; fileRef = D50C291D45BC7E68898D97B93E61A225 /* UIScrollView+MJExtension.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D0E7D5B865722A25EC7D91B0FAD8A6CD /* MJRefreshAutoGifFooter.h in Headers */ = {isa = PBXBuildFile; fileRef = B92DEF68E0A287F427E9ED1EDCA1D054 /* MJRefreshAutoGifFooter.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D14EED533A399A8946CD70A9C519CC9E /* RxCocoa.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4F1E23E810544CEBBEC861AEAE3F9206 /* RxCocoa.swift */; }; + D1575AAADDCEA395E3828EBAC2A772FA /* Box.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADD8099291C751292C03028CA44A0204 /* Box.swift */; }; + D16128FBE7669D9FB960DB2801C265A7 /* RxCocoaRuntime.h in Headers */ = {isa = PBXBuildFile; fileRef = BD7313ED83DBC8FF0000AC61300E38FD /* RxCocoaRuntime.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D16E571F2CBC6CFAF015461E218B580E /* TransformType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E058809C629DEA2F286F24E859734CE /* TransformType.swift */; }; + D1CC6196CD9C744444B994145960F99C /* UIColorExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF9F6384E3FA062166D15763888D4B8F /* UIColorExtension.swift */; }; + D1EDE84AFF0B391FFABB2AECA8928973 /* Bag+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7448F81CF7C82E2FEF82A1E0E1EF0162 /* Bag+Rx.swift */; }; + D208D822F748243079D3FFCC7A115664 /* SGPageTitleViewConfigure.h in Headers */ = {isa = PBXBuildFile; fileRef = 572DAD287373D381E62FDD57C92C31AC /* SGPageTitleViewConfigure.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D2154386A8B9560FA3FDE98F5162491E /* LOTPathAnimator.h in Headers */ = {isa = PBXBuildFile; fileRef = 4A0B7129B2E292278658D2C592E71D75 /* LOTPathAnimator.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D229D0A98406790184712CD93333C694 /* ActivityIndicatorAnimating.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43DD4975593170158E26400658C089FE /* ActivityIndicatorAnimating.swift */; }; + D23529A0CC3DB3BE78FF9F20708DE2C2 /* UISearchBar+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5942DDFA8BD22CE615E95823DE7482F1 /* UISearchBar+Rx.swift */; }; + D26B065E76236130A49CB67FB1E7C448 /* Deprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = E42085A3945343C52BD98ADD537568FB /* Deprecated.swift */; }; + D2732BD8F7B9FB500AAE2A5332F4BFCD /* Typealias.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7173C5FAFE07F645AEF8375753D81F0A /* Typealias.swift */; }; + D2A1E9664C579CF72E1668C5A5764CDD /* ConstraintView+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0561DD43EAAD0FF1C41DF8A4C64BDFF1 /* ConstraintView+Extensions.swift */; }; + D2E1521B0179E8D6F8AB3CA6D06C7AC7 /* NVActivityIndicatorAnimationOrbit.swift in Sources */ = {isa = PBXBuildFile; fileRef = D255E10F4F541D79745F0B058D7A5812 /* NVActivityIndicatorAnimationOrbit.swift */; }; + D31135425A11DEBBF3DE068CA8B972C0 /* RxCocoaObjCRuntimeError+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD92754BA1D0A3043CD36224E7B56DBA /* RxCocoaObjCRuntimeError+Extensions.swift */; }; + D370BBE7013082C69F8E53F6241ADE25 /* LOTLayerContainer.h in Headers */ = {isa = PBXBuildFile; fileRef = F64BDB79E6454620F0AECAAB151E7CD4 /* LOTLayerContainer.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D42094FCFFE2545CEBCDE39191DE67CF /* ExtendCustomModelType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67233E4C4624AC8CD58594D27490D881 /* ExtendCustomModelType.swift */; }; + D46545D206874E3A223372C84F1EA73E /* MJRefreshAutoFooter.m in Sources */ = {isa = PBXBuildFile; fileRef = E18DFCCEDB29C948C2C5BED93C61DB8B /* MJRefreshAutoFooter.m */; }; + D4B2DB6A1694FA1E15230AC4AD540065 /* PresentTurnSegue.swift in Sources */ = {isa = PBXBuildFile; fileRef = A851FBE705F9AB080C3ECF915A92EE62 /* PresentTurnSegue.swift */; }; + D52D17D221DF6C1CC319C2C607C42B5A /* PinchInteractiveAnimator.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9A0013892CECED728CF0E4D22656EDA /* PinchInteractiveAnimator.swift */; }; + D55A376056211023C514B8F6D98CE19D /* SlideAnimator.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC4A60430077CBA5AEFE0482F9B30853 /* SlideAnimator.swift */; }; + D57481A5E0ECC0F3E4C18DA4BCCD740F /* NVActivityIndicatorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8938B97004B13BA710DED03C42A6378A /* NVActivityIndicatorView.swift */; }; + D5AF5C2BD150D436DECB7200A9BD8273 /* LOTAnimationView_Compat.h in Headers */ = {isa = PBXBuildFile; fileRef = 959570B69E3D0CAAA1DA7FEBC10C143E /* LOTAnimationView_Compat.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D5CF4A935E7AF9822B1FFA39B1162649 /* PriorityQueue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7EBCCEB0889B9BEDB1108D6A66C7E23B /* PriorityQueue.swift */; }; + D61C5ED8788B4AAC32A238B09F278115 /* AsSingle.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4E44D08231782839828CA80886D965F /* AsSingle.swift */; }; + D66E78D63935A98894E702D922AA8B91 /* MJRefreshBackGifFooter.m in Sources */ = {isa = PBXBuildFile; fileRef = 97230E044589100C70A38F26E27CEB51 /* MJRefreshBackGifFooter.m */; }; + D73C6BF498A7F2883465DCD336CF47DE /* TimingFunctionType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34625535C08DB8F9C3473B20FC97058F /* TimingFunctionType.swift */; }; + D743EEFA4B0CB78CE1D0BE42B5D8F701 /* BMPlayerItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7D79374615B0BF093C6D08CFD34EBFE8 /* BMPlayerItem.swift */; }; + D74AC5DFCAC141A43E8806C6B7497904 /* Binder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F93A497410124C5DDCAEA05F0FDE2C6 /* Binder.swift */; }; + D74DE7EE1945DCEC425E0E7C29D22D37 /* ConstraintMaker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E7FDFB6FF222C20A7E47A1BC5B9DD6F /* ConstraintMaker.swift */; }; + D7603DD5E0EEDB2FD5B723EC34D6BB74 /* Filter.swift in Sources */ = {isa = PBXBuildFile; fileRef = AFD7597FBA321E43D9724E61E9EC4A69 /* Filter.swift */; }; + D765C4689EDEBE0B51A23D78BBAD83AB /* AnimatedPresenting.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0F19B157102AE66F7D465C28A91FDDCA /* AnimatedPresenting.swift */; }; + D772AAB6C5E27CE42E178AC2840777F7 /* _RXDelegateProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = 4886C8E0A0725BD450275411EA70D641 /* _RXDelegateProxy.m */; }; + D79E55C918926631C4F09B07FB7CF089 /* TailRecursiveSink.swift in Sources */ = {isa = PBXBuildFile; fileRef = 97903A7839517127E1375614ED31C679 /* TailRecursiveSink.swift */; }; + D7AE0639DB83BF394029DB3E5F9268EA /* KVORepresentable.swift in Sources */ = {isa = PBXBuildFile; fileRef = D262C25CD9555BF18521C8E05DCDC273 /* KVORepresentable.swift */; }; + D7AFBA8842E2619F77890605D90C33D0 /* ObserverBase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61DFAE3C7E6F0D293FA6ADC673BE62E2 /* ObserverBase.swift */; }; + D7E8D50F2842FC388CD2F9E30031CBA0 /* ActivityIndicatorAnimationBallTrianglePath.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9B10AD82E74DCE52A253046A71864C99 /* ActivityIndicatorAnimationBallTrianglePath.swift */; }; + D820DE54D6E9E5C85E0F9BF8A399E5EF /* MJRefresh-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = B140FC6695CF01ED2D9FF1A7D15458F3 /* MJRefresh-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D868A070BD5EB3D3709CF06FA0656D73 /* Query.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8E785AC85D7C1D19B2BDC79AA8D5501 /* Query.swift */; }; + D8C722EF09453A6966962E3ADD513D05 /* Single.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73A6A64A96114CEA675C32C7872C4861 /* Single.swift */; }; + D8FFE946A45BB65CC1B64B211CB26E08 /* NSObject+Rx+RawRepresentable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1414A2B53C89102DA9E59FFABD5A27E8 /* NSObject+Rx+RawRepresentable.swift */; }; + D92B11727E2B508D10088412C3AD4248 /* _RXKVOObserver.m in Sources */ = {isa = PBXBuildFile; fileRef = 022C6BDD4FD67F4C1B6EC83AB83DB4BB /* _RXKVOObserver.m */; }; + D93E54CC11A54C7254926C47BA50C7D8 /* SQLite.swift-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 911B05F74722503F2F582B4C18979053 /* SQLite.swift-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D98338CF3A937412B5ECDC65E8AE1334 /* ActivityIndicatorAnimationBallSpinFadeLoader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 05F2498B4C279CD4AAD2A1948234726F /* ActivityIndicatorAnimationBallSpinFadeLoader.swift */; }; + D9F2BA4D713DAC2A85CB4A453240EA3E /* MJRefreshAutoFooter.h in Headers */ = {isa = PBXBuildFile; fileRef = A02630D1EE855AC15F1FF32C78279AAF /* MJRefreshAutoFooter.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D9F32B15F8476E9DFBEFC64746EE75A5 /* NVActivityIndicatorAnimationSquareSpin.swift in Sources */ = {isa = PBXBuildFile; fileRef = A114D9B0D205D8C0F103CE6215AD63F4 /* NVActivityIndicatorAnimationSquareSpin.swift */; }; + D9FB240123A8E592783290D6F12B42AE /* ThemeCGFloatPicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 432ACD5A62CBA88FFC9EF6B3DAECB3F8 /* ThemeCGFloatPicker.swift */; }; + DA30EF892958D385D6261672018418EA /* SerialDispatchQueueScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23D96781DC61730ADE96BC0BF5F6717B /* SerialDispatchQueueScheduler.swift */; }; + DA7A5ECA4C0B39776007BE89B99227EF /* ImageDownloader.swift in Sources */ = {isa = PBXBuildFile; fileRef = D74EB5E76236AC5A76B7E5219B238847 /* ImageDownloader.swift */; }; + DA93B055F65C1E26535DE23DD9EED9C3 /* KVORepresentable+CoreGraphics.swift in Sources */ = {isa = PBXBuildFile; fileRef = 317DC0E62C640CEF5366FA274CAA82C6 /* KVORepresentable+CoreGraphics.swift */; }; + DACE12E1479FE4F88D8B427846C5D7E4 /* EnumType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DE89743DCE0C268E1C709C99A67F135 /* EnumType.swift */; }; DB78F9BBFD4BA1C8EC069EEAD7EE6A84 /* RxSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8D63D5AB177741E9BA04BEF25464E994 /* RxSwift.framework */; }; - DB7B5F16315150611C9A3CF17572ED9C /* ActivityIndicatorAnimationOrbit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82A9E28BCA673437AB73D6052CAABF3B /* ActivityIndicatorAnimationOrbit.swift */; }; - DBB24AEB392B3149C05D53965551B608 /* LayoutConstraint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 496E06364454C8EB026E0EF3101190EC /* LayoutConstraint.swift */; }; - DC09B815B69BEE1E647E9B4B13773862 /* DismissSegue.swift in Sources */ = {isa = PBXBuildFile; fileRef = F7F0548E931A70C4ABE899B07D83A6A4 /* DismissSegue.swift */; }; - DCC071E4BB76E3B4A94FA0AB25C79FE5 /* Window.swift in Sources */ = {isa = PBXBuildFile; fileRef = 29973CA06A0614EF8E6205D636A338DC /* Window.swift */; }; - DD2E948DA0BFD5F3892AC8C23BE85815 /* LOTAssetGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = C86BD6CD5819861824D872239B8B1516 /* LOTAssetGroup.m */; }; - DD36A930E9DDADEF0D84E7D521A559A8 /* ShadowDesignable.swift in Sources */ = {isa = PBXBuildFile; fileRef = B594AF1AF55D9C84BDC6374B2F19E1F3 /* ShadowDesignable.swift */; }; - DD93F4DF40921DA721841D296E788EA8 /* LOTPolygonAnimator.h in Headers */ = {isa = PBXBuildFile; fileRef = EC8A90EFD8DDCE9FC7BA6FC5667DBB80 /* LOTPolygonAnimator.h */; settings = {ATTRIBUTES = (Project, ); }; }; - DD9477550AD7291939B1A1659FB0D8F2 /* ThemePicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 58EBD2AC5E0CF287D7EEFFE55C14E777 /* ThemePicker.swift */; }; - DDE897A4E8AC2EE3A57732D7AD8E905E /* LOTShapeCircle.m in Sources */ = {isa = PBXBuildFile; fileRef = 514343934B9D0E0A6E8C07941A10D1F0 /* LOTShapeCircle.m */; }; + DB7B5F16315150611C9A3CF17572ED9C /* ActivityIndicatorAnimationOrbit.swift in Sources */ = {isa = PBXBuildFile; fileRef = D57541BEE868A68A15A87E2EE9C8E3EE /* ActivityIndicatorAnimationOrbit.swift */; }; + DBB24AEB392B3149C05D53965551B608 /* LayoutConstraint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50BCB5AAF2705CBCFA657E03B8F42746 /* LayoutConstraint.swift */; }; + DBC1DBA90214C3CB5C5933538BABDCB1 /* RecursiveScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 946ACE72873BEACC20CD8864CEB42EE1 /* RecursiveScheduler.swift */; }; + DC09B815B69BEE1E647E9B4B13773862 /* DismissSegue.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA572113D06B64454BE1A0F50BFBBAB5 /* DismissSegue.swift */; }; + DC3A67C98F1F6B68F7AC58AD8F44F37F /* LOTBezierPath.h in Headers */ = {isa = PBXBuildFile; fileRef = 89C34A9D1BBDC3F65CF5B6B8EDFF2F17 /* LOTBezierPath.h */; settings = {ATTRIBUTES = (Project, ); }; }; + DC59CFFC30438F570725F35985276425 /* LOTGradientFillRender.h in Headers */ = {isa = PBXBuildFile; fileRef = 2EF92139B818DD3662292A745CA29DFB /* LOTGradientFillRender.h */; settings = {ATTRIBUTES = (Project, ); }; }; + DD043F1C6B337C646F83C8D192838322 /* String+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1C6E7F63F9B6B927CF3154BBAF69C250 /* String+Rx.swift */; }; + DD36A930E9DDADEF0D84E7D521A559A8 /* ShadowDesignable.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8BF1382568A0736D5B4CFEC5796B31D /* ShadowDesignable.swift */; }; + DD6CC832243EFDC8114FC940938F0A21 /* LOTRoundedRectAnimator.h in Headers */ = {isa = PBXBuildFile; fileRef = B7934C0E81F43F17B6FA03585129D6C2 /* LOTRoundedRectAnimator.h */; settings = {ATTRIBUTES = (Project, ); }; }; + DD9477550AD7291939B1A1659FB0D8F2 /* ThemePicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2441AECAC966A445BFE10002F09A0DC3 /* ThemePicker.swift */; }; + DDAA7FCE37A0B91BD6D6EEE3DD433E97 /* UISlider+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = A302E5AFEE67797A6942840A61A26FF7 /* UISlider+Rx.swift */; }; + DDDAEC933286B9F03779A2632D490B22 /* ScheduledItemType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 49F31712D1386AE04219B86A821B3D28 /* ScheduledItemType.swift */; }; DDEB604E6D475C89DA079DE3F594ACC8 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 233D9DA986ACE8F0A8734B129D658506 /* Foundation.framework */; }; - DE17E4C2C6EADE5D2D531268B1695405 /* UIView+MJExtension.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F808464614F916693212A4BEC639ECB /* UIView+MJExtension.h */; settings = {ATTRIBUTES = (Public, ); }; }; - DE352D952B3EA2464C268D300CBDBF1B /* FillDesignable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 90DB08A6BAF2E50EF83D7EA074DB07BF /* FillDesignable.swift */; }; - DE607F12CDB78D8D66E563010C4D15EA /* NVActivityIndicatorAnimationBallRotateChase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3EB69C0D22027D5CB62727B0205DD459 /* NVActivityIndicatorAnimationBallRotateChase.swift */; }; - DEEB56C6BAD6CC965DB4998B5FC7E05B /* LOTPathInterpolator.m in Sources */ = {isa = PBXBuildFile; fileRef = 270FA3A96A373887B074091D726AA287 /* LOTPathInterpolator.m */; }; - DF2532B2B72A7209E338806D31F69A51 /* BMSubtitles.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4EF6CC89DB4BA0538725D67C74F7DBD /* BMSubtitles.swift */; }; - DF3A20133DDBDCAADC4CBD51AD523CD9 /* ConstraintMakerExtendable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 785F9D56026FA287C5B82D17B4E79344 /* ConstraintMakerExtendable.swift */; }; - DF755BB6949F6B51F50FE883BCEA5D54 /* Binder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54A95D03FA93F9D21B6C2DCFFEDB7D48 /* Binder.swift */; }; - E0038C99D6584DC35E0B9105426C14AE /* Reactive.swift in Sources */ = {isa = PBXBuildFile; fileRef = C6B404FAEA1EAC5043F1DCC920E1230D /* Reactive.swift */; }; - E0104265D862F1A39B9EF4CBD8ABDC5C /* TurnAnimator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9598045446CB078DDB5903F8438FE909 /* TurnAnimator.swift */; }; - E0B8D0ACC8156BB106AD064C23E85A91 /* CombineLatest+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1DB1331BF63923BADAC8031A067902BD /* CombineLatest+arity.swift */; }; - E0DC63E3FEA808360D265AC495098144 /* String+MD5.swift in Sources */ = {isa = PBXBuildFile; fileRef = 740F848D4A36AA052A9EF6E9F89E49F2 /* String+MD5.swift */; }; - E0EA69748F2390500374DFA5F5EEFAE3 /* ObserveOn.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E9B63B14CDD46F1A404BB7E47EDE9AB /* ObserveOn.swift */; }; - E2355F814C977EC87AD847EC2BE56E11 /* ConstraintItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 10D5724FBD15C6EC747828B2D3B4AB04 /* ConstraintItem.swift */; }; - E26341CE19A7AC4929FFD523201C0860 /* BinaryDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7979AF77048894DDDDD59F629236A8CE /* BinaryDisposable.swift */; }; - E2999356E400C7E38B2D4424CFD9A9D9 /* RetryWhen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7EC4BE2323F5FEE5106974DD88365BA6 /* RetryWhen.swift */; }; - E2B398A471EF327E365F49D2AED4B29F /* ConcurrentDispatchQueueScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3133B38DFE470FB97A355E3CB4FA392 /* ConcurrentDispatchQueueScheduler.swift */; }; - E2E591B30B5C16DB65E6EF371CD2DA3C /* AnimatableSlider.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9CB9486D0FD72612383266E9EA8ADC8 /* AnimatableSlider.swift */; }; - E3B9889995CDB3F3BD21F7FD8EB1A7C6 /* LOTShapeGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = 9435389B0DE732322ED79650ACF63E9E /* LOTShapeGroup.m */; }; - E3DB89EAFACD5BB7C00B93877C8FFDEC /* LOTGradientFillRender.h in Headers */ = {isa = PBXBuildFile; fileRef = 44D77DCA3505F512E047A6F3617AB349 /* LOTGradientFillRender.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E3FA78E47A68EAD5577A6DF0FA2926D7 /* ControlProperty+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57E58EF5F2D77DF06AB878B8D047A5F5 /* ControlProperty+Driver.swift */; }; - E47A151BDF5B4EEF144B9A0E68F075FE /* LOTHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = A2C2DFE5E2561B27CA56FC9AB9BE8DE8 /* LOTHelpers.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E486C961968E601AD28D111DE6554FD7 /* ObservableConvertibleType+Signal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EE97F08412CC4EBD6A08DE9363A4C8B /* ObservableConvertibleType+Signal.swift */; }; - E4E53DA7BD92BC3D4FBC7FFC545BFDF4 /* ThemeCGColorPicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 86527B12A31E2ED4657C2C7B994F403B /* ThemeCGColorPicker.swift */; }; - E4EB6A52E4151FC86132990021814C70 /* ThemeFontPicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94FC52153FBD7722B7ECD262A438FF19 /* ThemeFontPicker.swift */; }; - E545FE85E147AB93353374CDF09262C0 /* InvocableType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5311E03BBEEE0942F96678CCB316F9F3 /* InvocableType.swift */; }; - E57312010AFB591EE37870F65E651EA6 /* MJRefreshNormalHeader.m in Sources */ = {isa = PBXBuildFile; fileRef = 79E49EB988BB0ECE3365051A6066B49B /* MJRefreshNormalHeader.m */; }; - E58508C17AF1E8F15D37BF3FC5D2C782 /* NVActivityIndicatorAnimationBallClipRotate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4FD891EFE190D6845A7250AA6E9B5F10 /* NVActivityIndicatorAnimationBallClipRotate.swift */; }; - E5B4D701EB2CD914F23C1A35C30FE714 /* AddRef.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43EEA8401C94C471A8D423EC9D32BA92 /* AddRef.swift */; }; - E5D9851A41395BD8AA5E356D3E7B174E /* FDFullscreenPopGesture-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F5A41076622E73D307D97BDD3F6B0486 /* FDFullscreenPopGesture-dummy.m */; }; - E637580645881306743C135F50EEBDA1 /* Transformable.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD12E503B92D7B6B0F0CD9ABC6AF35FC /* Transformable.swift */; }; - E6D8BEF654D7BECC26CE6CCCD522A493 /* LOTSizeInterpolator.m in Sources */ = {isa = PBXBuildFile; fileRef = 0AF548D11E96AF1E95009082CE1415E9 /* LOTSizeInterpolator.m */; }; - E6F0820BDC22A6E5FEF7ED837004ABFB /* Pods-News-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 0E17E75EF2447F391F8D31ED49B3E8EE /* Pods-News-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E6FFB2EA81C85ED214CB9B8B1973930B /* DispatchQueue+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8D0398F22E2DCC7CC946E68E85D068F /* DispatchQueue+Extensions.swift */; }; - E7346582B355071A7A043DDEA7073163 /* ScreenEdgePanInteractiveAnimator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F328BBD54503DCEBF4593FE3908BC72 /* ScreenEdgePanInteractiveAnimator.swift */; }; - E7E430D9E163DEA968AB73F6481319C1 /* Skip.swift in Sources */ = {isa = PBXBuildFile; fileRef = E9DD3AF0FE0BE9013DE02481B6D6F985 /* Skip.swift */; }; - E7E5527DD754FA172DB43FD9FD3F193F /* GradientDesignable.swift in Sources */ = {isa = PBXBuildFile; fileRef = E9B6DA7E4651BAB2248221DEFC938BEE /* GradientDesignable.swift */; }; - E80DB5D9B2D35085282DF057BB540AFE /* MJRefreshBackFooter.m in Sources */ = {isa = PBXBuildFile; fileRef = CDFDEBECF8E9E4A48CFB9FAABE187EB1 /* MJRefreshBackFooter.m */; }; - E8252353BEE6CA9AFAC8DAC3557DA231 /* ElementAt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 21E3024926AA632789C19CB55B902855 /* ElementAt.swift */; }; - E84966064FC1C0803BE923842202ACEF /* Placeholder.swift in Sources */ = {isa = PBXBuildFile; fileRef = E3693F58675AB909752C51A9129BADE3 /* Placeholder.swift */; }; - E8BAC033E647A5DB4525ACAB48B065DF /* SwitchIfEmpty.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F98CF6D8514FFD75091F542D35D2D14 /* SwitchIfEmpty.swift */; }; - E8CFE5D5B6472D896079F5BFE10BED7C /* NVActivityIndicatorAnimationPacman.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C9C436C6D9A4EF106151917CEC31945 /* NVActivityIndicatorAnimationPacman.swift */; }; - E8F50B0CCA5FCE2E3C71B4FF86187F74 /* LOTPlatformCompat.h in Headers */ = {isa = PBXBuildFile; fileRef = 2AF32E235640711199EA78D2F64AFA45 /* LOTPlatformCompat.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E9111BFC472A1A33F17CEB9EF152B290 /* LOTAnimatedControl.h in Headers */ = {isa = PBXBuildFile; fileRef = E20C10B2E440ED436FFDA3244375863B /* LOTAnimatedControl.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E967F9E26E31C00B1EB8E93439E73757 /* LOTShapeRectangle.m in Sources */ = {isa = PBXBuildFile; fileRef = D9F70B1344F7C3AC912BDCF11D462801 /* LOTShapeRectangle.m */; }; - E997DA56F86F0E8D263B7850624BF09B /* PresentSlideSegue.swift in Sources */ = {isa = PBXBuildFile; fileRef = AC1A322C82A68BA9E8AFA8DD9D0121A4 /* PresentSlideSegue.swift */; }; - E99D9E00162A904A502B8BE2BA053075 /* ActivityIndicatorAnimatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5461DA6FDD3CDF64DBDE67F8782B3E2F /* ActivityIndicatorAnimatable.swift */; }; - EA0D2C86DC7CB142D318B59D1E7D461B /* CornerSide.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAEC7393247B20C0F5FAC244381AB32E /* CornerSide.swift */; }; - EA1DFEE7F19F88D313165E81E0A7A97A /* ActivityIndicatorAnimationBallClipRotate.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6162F22B028CE83F7882896BF9CDE2F /* ActivityIndicatorAnimationBallClipRotate.swift */; }; - EA47ED17144D3CE238481709DB602D79 /* ActivityIndicatorAnimationBallScaleRippleMultiple.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3ABBDE657A5B258096F61BBCBC03D605 /* ActivityIndicatorAnimationBallScaleRippleMultiple.swift */; }; - EA7DD6E9933A9B5C6638651D33DDD25E /* DisposeBase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04205A96B0B2EAC5C3854C4FF1DC0007 /* DisposeBase.swift */; }; - EAA714197FC4B5125930E7FF28A8A71C /* Measuable.swift in Sources */ = {isa = PBXBuildFile; fileRef = D3D11C75A4AFF814C8812077ADE53C13 /* Measuable.swift */; }; - EABD512410F54CDD32037EBE5706C7D7 /* DelegateProxyType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E62C365844EE8C8FA698829EDF7495E /* DelegateProxyType.swift */; }; - EB5DF698B9A019BAE45B2EEAD53344CB /* LOTPathInterpolator.h in Headers */ = {isa = PBXBuildFile; fileRef = 65904D73AA291AF5444177C0991BE6D0 /* LOTPathInterpolator.h */; settings = {ATTRIBUTES = (Project, ); }; }; - EB721DC4E2C76780BE41BA4DC77252CB /* LOTCacheProvider.m in Sources */ = {isa = PBXBuildFile; fileRef = 824F3411CD7152831B86BFAED437FE40 /* LOTCacheProvider.m */; }; - EBEB72F80DCD10DEB82BF5F856D467FD /* MJRefreshConst.h in Headers */ = {isa = PBXBuildFile; fileRef = E95940F3C780FCD923D7EAC9C6829273 /* MJRefreshConst.h */; settings = {ATTRIBUTES = (Public, ); }; }; - EC26743A8BDDA3A7A61979566C9DAD65 /* RxTableViewReactiveArrayDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3EFBDED2575213F1903D70663EF22670 /* RxTableViewReactiveArrayDataSource.swift */; }; - EC5A536DA874DDAAA7B91C880E983291 /* NVActivityIndicatorAnimationBallGridPulse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CC32C89E413CF13A91937CDEB0E8CA2 /* NVActivityIndicatorAnimationBallGridPulse.swift */; }; - EC88F5693A27CC25B5F5BC066C9A16D3 /* LOTShapePath.h in Headers */ = {isa = PBXBuildFile; fileRef = C9E4E16F5872E43E3A7C997788AB14BE /* LOTShapePath.h */; settings = {ATTRIBUTES = (Project, ); }; }; - ED0ADC3303D0E00DB60672799DC58633 /* SnapKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 00B5AD25079A623CB19EE4300FD7E482 /* SnapKit-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - ED39AF7EAC8DE72851E95C1C519A1C4B /* Completable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82B4A242E0BC3BC2581DD1C49FDA6479 /* Completable.swift */; }; - EDA044C8EFCA4601C73C1A1C49B2EA27 /* PresentSlideWithDismissInteractionSegue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9339D594A12B83EF8C4017E22727301C /* PresentSlideWithDismissInteractionSegue.swift */; }; - EDBD4E7D36E36B28DD3CBDF0C47EBBEB /* BehaviorSubject.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2274F70E10582AE3A72201560A86CE59 /* BehaviorSubject.swift */; }; - EDE02880BD91D5EC519B4C889DFE7C0B /* UIGestureRecognizer+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7DF9B525B22095A90BF11EB5F4481D9 /* UIGestureRecognizer+Rx.swift */; }; - EE5296BF6A6B39803F2872971DD8BC3B /* UIViewController+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A306DE1C26AE416FAB0033B6B5D499E /* UIViewController+Rx.swift */; }; - EE8D1444BA83428D81BE50C346156A8E /* LOTShapeStar.m in Sources */ = {isa = PBXBuildFile; fileRef = 749A67AC6E14DE070565470E422604B1 /* LOTShapeStar.m */; }; - EE917CD21C0C27CD5E30782B7E4E2F37 /* UIColor+Expanded.h in Headers */ = {isa = PBXBuildFile; fileRef = C035E9355268E0E0EBE8832FE82593AC /* UIColor+Expanded.h */; settings = {ATTRIBUTES = (Project, ); }; }; - EEAABF9F5D1751371149959C801D0BFB /* Properties.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8ABEDDB5EF5CA74B99D9DF9261D9ED40 /* Properties.swift */; }; - EEC2484FE8B0B2730C21960BA0E78C70 /* CoverAnimator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 47A424D1830AF74E78103CA9C83BEA7A /* CoverAnimator.swift */; }; - EF0BE1BACB15B4327C39153E84AF7019 /* Repeat.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8846D7B8A473E71D165FD9EA2EC1A17D /* Repeat.swift */; }; + DE17E4C2C6EADE5D2D531268B1695405 /* UIView+MJExtension.h in Headers */ = {isa = PBXBuildFile; fileRef = 270488D94A9D1CE214E4E634143D27A4 /* UIView+MJExtension.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DE352D952B3EA2464C268D300CBDBF1B /* FillDesignable.swift in Sources */ = {isa = PBXBuildFile; fileRef = E18DBDDA257BEA25E7A1E8BD9161465A /* FillDesignable.swift */; }; + DE607F12CDB78D8D66E563010C4D15EA /* NVActivityIndicatorAnimationBallRotateChase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 40160B0920995852DDB4432A3BD349E6 /* NVActivityIndicatorAnimationBallRotateChase.swift */; }; + DEA456ADF5787AAE28AC8E5C6ACA00DD /* LOTShapeStroke.m in Sources */ = {isa = PBXBuildFile; fileRef = 6700D779DCE09A70C73648E531B43548 /* LOTShapeStroke.m */; }; + DEFD374E21759BEB36D8FE5606114288 /* ObserveOn.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4FB888EF9FD58CC3B2F23EFBADA4D4E2 /* ObserveOn.swift */; }; + DF1E2D12F4703786B8FA63F86A3CA6A4 /* LOTAnimationView_Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 5023D914ADE908BD09333AC1651F50C7 /* LOTAnimationView_Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + DF2532B2B72A7209E338806D31F69A51 /* BMSubtitles.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9FB32392004653CDC6535856CEC20CE /* BMSubtitles.swift */; }; + DF3A20133DDBDCAADC4CBD51AD523CD9 /* ConstraintMakerExtendable.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC756AA74990BD8038ADE96C4914EF2D /* ConstraintMakerExtendable.swift */; }; + DF509C5997011821B9BD0593D18366FF /* BehaviorSubject.swift in Sources */ = {isa = PBXBuildFile; fileRef = C34EFD8E43DBB7865C840EEB0AF06DD3 /* BehaviorSubject.swift */; }; + DF5C9EC8A41589B332977C2E2EF74161 /* RxCollectionViewReactiveArrayDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDE45B56F931BBEFB016DAFBF8558DC2 /* RxCollectionViewReactiveArrayDataSource.swift */; }; + DFDA7F6557BC0AB91805D6C050E661FC /* NSTextStorage+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE435F1E8CAD3196E00800F4653C4601 /* NSTextStorage+Rx.swift */; }; + E0104265D862F1A39B9EF4CBD8ABDC5C /* TurnAnimator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DC621FA7F983258288A19328BFCDA27 /* TurnAnimator.swift */; }; + E02BB658D552F1B5A17449C787E4ED15 /* DelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7956883A629B8CECE9E8D491C3EF6C88 /* DelegateProxy.swift */; }; + E03C4E99C00481A7D694C34515651CED /* LOTPointInterpolator.h in Headers */ = {isa = PBXBuildFile; fileRef = ABC8E6A208DBBC39291CB23593220FEC /* LOTPointInterpolator.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E0BC22E5BDBDD4389A1E22AEEB7993DF /* LOTShapeGradientFill.h in Headers */ = {isa = PBXBuildFile; fileRef = F03FC1BE8D777ACCCD641F5F25860E54 /* LOTShapeGradientFill.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E13CD6CEAABAB2DA56431299C71E67DA /* LOTInterpolatorCallback.m in Sources */ = {isa = PBXBuildFile; fileRef = BA157A544F7AE9E1A17266A231722213 /* LOTInterpolatorCallback.m */; }; + E22A1B23E75105943EA0617003A1BD4B /* UIDatePicker+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 063102306C5A4EF6E341D535CBF71013 /* UIDatePicker+Rx.swift */; }; + E2355F814C977EC87AD847EC2BE56E11 /* ConstraintItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6967C164D7D75419611C4BBB99072379 /* ConstraintItem.swift */; }; + E2E591B30B5C16DB65E6EF371CD2DA3C /* AnimatableSlider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4DD7A37BA0EAE534730B89DA53DA2093 /* AnimatableSlider.swift */; }; + E308D0988094514B69CDC4C77C05FE57 /* LOTCacheProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = EF661261D0DA5383378F9EE39C99BCA7 /* LOTCacheProvider.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E3D37E0917103BCA51D686E424095172 /* ElementAt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 12EDE83890AFF6571CF34C7E58A4197A /* ElementAt.swift */; }; + E408247571C64748ACC76BEDCAA0D74E /* LOTShapePath.m in Sources */ = {isa = PBXBuildFile; fileRef = 426BEB1101A93738BCB670F7B19257AE /* LOTShapePath.m */; }; + E473B8D19D1B2555C2C46759F3F08D63 /* PublishSubject.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC3FFB8147A0918D942B3140A44DD782 /* PublishSubject.swift */; }; + E4E53DA7BD92BC3D4FBC7FFC545BFDF4 /* ThemeCGColorPicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4FF79063678FA89C91FBDE02A77E0FB /* ThemeCGColorPicker.swift */; }; + E4EB6A52E4151FC86132990021814C70 /* ThemeFontPicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = E39AC8B24802B56A28805D0E6F284DC6 /* ThemeFontPicker.swift */; }; + E57312010AFB591EE37870F65E651EA6 /* MJRefreshNormalHeader.m in Sources */ = {isa = PBXBuildFile; fileRef = 39174E077D1B7E99D9AFCECAC1720680 /* MJRefreshNormalHeader.m */; }; + E58508C17AF1E8F15D37BF3FC5D2C782 /* NVActivityIndicatorAnimationBallClipRotate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C27766D0EC45174FBB5765B86FDE5FE /* NVActivityIndicatorAnimationBallClipRotate.swift */; }; + E5D9851A41395BD8AA5E356D3E7B174E /* FDFullscreenPopGesture-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 2E39F2424532AA525BA89C265894B9B5 /* FDFullscreenPopGesture-dummy.m */; }; + E5EEFAD6753F306A888B0977E6C13F9C /* LOTStrokeRenderer.m in Sources */ = {isa = PBXBuildFile; fileRef = 18A5043C4B6871D75B9B7DCCC0651CEC /* LOTStrokeRenderer.m */; }; + E601C2A38908E4E975B756ADF720CB08 /* Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD930F5FF98C196D177C7ED1549E5D9A /* Driver.swift */; }; + E637580645881306743C135F50EEBDA1 /* Transformable.swift in Sources */ = {isa = PBXBuildFile; fileRef = D3B819CDBFD477675968C5D3A567B5F3 /* Transformable.swift */; }; + E6488FA576AB38A7AAC012CD94F69539 /* LOTAnimationCache.m in Sources */ = {isa = PBXBuildFile; fileRef = AB5EB9615015D55AA7C5B3429ED91C84 /* LOTAnimationCache.m */; }; + E6F0820BDC22A6E5FEF7ED837004ABFB /* Pods-News-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = CDBFAE6F259E1448099E16AA46388CFB /* Pods-News-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E7346582B355071A7A043DDEA7073163 /* ScreenEdgePanInteractiveAnimator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 973F1A324396C0373E192520F04799B4 /* ScreenEdgePanInteractiveAnimator.swift */; }; + E76B939BB95EF6A19C490CBA767C708E /* Map.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B2DDEF53A6DEF4768F2F471881886C1 /* Map.swift */; }; + E7B09014C308B924BED50064DB7D33A5 /* WithLatestFrom.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4AB6CA4430FBE192DE684AA97EA337B9 /* WithLatestFrom.swift */; }; + E7B345242CFD819EF5FA2F1682CE22AE /* SectionedViewDataSourceType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8E3E2710368F10F04EB56D1C1453A9E8 /* SectionedViewDataSourceType.swift */; }; + E7E5527DD754FA172DB43FD9FD3F193F /* GradientDesignable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0B271A65B90855DB46E2EDD9AECCC475 /* GradientDesignable.swift */; }; + E80DB5D9B2D35085282DF057BB540AFE /* MJRefreshBackFooter.m in Sources */ = {isa = PBXBuildFile; fileRef = 18A151E9D70A368FEB692F0678049554 /* MJRefreshBackFooter.m */; }; + E8CFE5D5B6472D896079F5BFE10BED7C /* NVActivityIndicatorAnimationPacman.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A52B23990CF613901FEA42A2730D8DF /* NVActivityIndicatorAnimationPacman.swift */; }; + E8D7400941BFC86840A3672098691896 /* UITableView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F2530C1F6DC512D25385331D522483D /* UITableView+Rx.swift */; }; + E9575187BAC9155DF22D5308B0F848EF /* Debounce.swift in Sources */ = {isa = PBXBuildFile; fileRef = 022780496B95F0C1C8355D4644AA968D /* Debounce.swift */; }; + E997DA56F86F0E8D263B7850624BF09B /* PresentSlideSegue.swift in Sources */ = {isa = PBXBuildFile; fileRef = D69C4F1A50378DD6B9FA5D1C531464E0 /* PresentSlideSegue.swift */; }; + E99D9E00162A904A502B8BE2BA053075 /* ActivityIndicatorAnimatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3ACB16ACA77EC7DC1DF6EC9F9CCE1CDF /* ActivityIndicatorAnimatable.swift */; }; + E9E5F082818BE1AA4722E77DD066450F /* Kingfisher.swift in Sources */ = {isa = PBXBuildFile; fileRef = F75D85395CFB1475689C2E8E0A4ABBFE /* Kingfisher.swift */; }; + EA0D2C86DC7CB142D318B59D1E7D461B /* CornerSide.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7595EF44D5F8A16CCB4D3645C921FD5C /* CornerSide.swift */; }; + EA1DFEE7F19F88D313165E81E0A7A97A /* ActivityIndicatorAnimationBallClipRotate.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5F4D28CB6F97F3B30023EFDB5BBD2EB /* ActivityIndicatorAnimationBallClipRotate.swift */; }; + EA1FA53D69133CFCFA03F5DAA5A85583 /* LOTModels.h in Headers */ = {isa = PBXBuildFile; fileRef = 2EED35113F404B2C340F1162274B3C3F /* LOTModels.h */; settings = {ATTRIBUTES = (Project, ); }; }; + EA47ED17144D3CE238481709DB602D79 /* ActivityIndicatorAnimationBallScaleRippleMultiple.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33FF65ED3670D4AA434D31BDE271DEC0 /* ActivityIndicatorAnimationBallScaleRippleMultiple.swift */; }; + EAA714197FC4B5125930E7FF28A8A71C /* Measuable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43649EA63BC6AE01F1B9053E68C8583B /* Measuable.swift */; }; + EAF42CB912DAB8F60EC2AAC8860BCD3C /* LOTShapeTrimPath.h in Headers */ = {isa = PBXBuildFile; fileRef = 91ED8C7990A52A78A8187ECEA5557260 /* LOTShapeTrimPath.h */; settings = {ATTRIBUTES = (Project, ); }; }; + EB4E1EE97A37A3471FC12B39AB5642C6 /* LOTShapeTrimPath.m in Sources */ = {isa = PBXBuildFile; fileRef = 18B7011A94905143AEF447401F2F7825 /* LOTShapeTrimPath.m */; }; + EBA008FEDEF6A6703DAF99E9C3BD1F69 /* Take.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7BCC94E816C4D27DEE888910AE743C32 /* Take.swift */; }; + EBA1B2986248AE330A2C29217EDCAC0A /* PriorityQueue.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD1D682716FEC439DA12B6B93AB0BDF6 /* PriorityQueue.swift */; }; + EBC6B1CD30D6771245E060BA764C9780 /* LOTAnimatorNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 6A98CF39CDBA5939DACE3FC00D87DE0C /* LOTAnimatorNode.m */; }; + EBEB72F80DCD10DEB82BF5F856D467FD /* MJRefreshConst.h in Headers */ = {isa = PBXBuildFile; fileRef = B6085B98FBB672FA51F7F0B80F594714 /* MJRefreshConst.h */; settings = {ATTRIBUTES = (Public, ); }; }; + EBEF6D832A1004339C1A74469DD1FBF2 /* RxTableViewReactiveArrayDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F46C8592F6210E66F2C23CEAA329261 /* RxTableViewReactiveArrayDataSource.swift */; }; + EC52D51D35C0FD83256E43E22DBD6AEE /* UINavigationItem+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82EF80C5AB66B574E38B1B205207BC1B /* UINavigationItem+Rx.swift */; }; + EC5A536DA874DDAAA7B91C880E983291 /* NVActivityIndicatorAnimationBallGridPulse.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF2DC36827CD9F4D5EF333326C35ABC2 /* NVActivityIndicatorAnimationBallGridPulse.swift */; }; + EC7CF254B3756186F663B8012DFFD5DF /* LOTPathAnimator.m in Sources */ = {isa = PBXBuildFile; fileRef = 6215770D71913087A29E3F886B80F3E4 /* LOTPathAnimator.m */; }; + ECBA3A5C67BEDA4E12E56E5373E57C3A /* Disposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A8EB38A17F4B4A2B23A063D41A5C7D7 /* Disposable.swift */; }; + ED0ADC3303D0E00DB60672799DC58633 /* SnapKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = A95468FE10B0A73180E3D6683EE16A83 /* SnapKit-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + EDA044C8EFCA4601C73C1A1C49B2EA27 /* PresentSlideWithDismissInteractionSegue.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE83E0E889B42CC78E90CD7AB388A4B8 /* PresentSlideWithDismissInteractionSegue.swift */; }; + EDD533993B66DEE6738B135725E1D31F /* ObservableType+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32E5D26492C74456A7D6B726C8B50F2D /* ObservableType+Extensions.swift */; }; + EEAABF9F5D1751371149959C801D0BFB /* Properties.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4E17E9043F364553B7BCB6378A7ACE4 /* Properties.swift */; }; + EEC2484FE8B0B2730C21960BA0E78C70 /* CoverAnimator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79826CC0CAEF0A8D81E0235D0292CDD5 /* CoverAnimator.swift */; }; EF613B4AABE7625C64A83ECF6C974119 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2C7C898F5F650F65008E903708D884F9 /* UIKit.framework */; }; - EF682831EC2884A01DCD954988095BF8 /* SingleAssignmentDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = A2D6278CCEB5EE7774C228724F1123EA /* SingleAssignmentDisposable.swift */; }; - EF7AA1CEC82CE54CA8703695B47C15BD /* NVActivityIndicatorAnimationBallClipRotateMultiple.swift in Sources */ = {isa = PBXBuildFile; fileRef = FEC2FF264705701AF916824A1FD3B011 /* NVActivityIndicatorAnimationBallClipRotateMultiple.swift */; }; - EF8E7957511FB5B3EC3EF90FD7475B8D /* Animatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4A1339D782D585136EA9D94889F477A /* Animatable.swift */; }; - EFC5B0C4BDAA8881982E0662D5D5C8E0 /* FoldAnimator.swift in Sources */ = {isa = PBXBuildFile; fileRef = AAA9415D14E3D0F07FE88BEED93338D9 /* FoldAnimator.swift */; }; - EFD264FC408EBF3BA2528E70B08DDD94 /* Notifications.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52812876CB95A32785248E86FC655AA2 /* Notifications.swift */; }; - F03438B49DD7EA9123F82A1C1F9BD2EF /* TransitionPresenterManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = AFAE08A1E538979A8A54BD268241EB7F /* TransitionPresenterManager.swift */; }; - F06619D65016EDB4D19DA68691DCDB6A /* MainScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8F73BCA8FEEA753D82D2791ADFAE12E5 /* MainScheduler.swift */; }; - F0736E8618579D7AF670E9E7E3D3BF10 /* SVRadialGradientLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 1C67AD783E4542135BB06E7B8A2B8DE1 /* SVRadialGradientLayer.m */; }; - F09A62D930F371445BC5304F49EFD20D /* NVActivityIndicatorViewable.swift in Sources */ = {isa = PBXBuildFile; fileRef = B2E72BD7314CF94C10208EB7517A3D6B /* NVActivityIndicatorViewable.swift */; }; - F0B923A10AF787DF14399A9B3E1D7F56 /* ConstraintPriority.swift in Sources */ = {isa = PBXBuildFile; fileRef = FB27ED8DA0AC4389EE59CBC0A50EE59A /* ConstraintPriority.swift */; }; - F0E1D70C58814D2A55A3818B554C323D /* ConstraintMakerFinalizable.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5B4292A7167883AF83F46B82150BBCC /* ConstraintMakerFinalizable.swift */; }; - F17038401495DBF46EBF17DAF51B4C6C /* DateTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = A502ACBEB9E2230805E26BC070F7A27F /* DateTransform.swift */; }; - F19407A5AB1327FB0825E08771309CF1 /* PresentationKeyboardTranslation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8F2BC53389FA20F1A1F04AC72A15A98F /* PresentationKeyboardTranslation.swift */; }; - F294A79644A1849257FD418D115A5614 /* LOTAnimatedControl.m in Sources */ = {isa = PBXBuildFile; fileRef = 97C302BDBC796B4F2280D53E200DCBC6 /* LOTAnimatedControl.m */; }; - F352C5269D8E1C9450D1F268848E4E84 /* NatGeoAnimator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5234F607F8527DFD8E56503BC8B13854 /* NatGeoAnimator.swift */; }; - F3839D076C1076DB5A08BA46B9DF8504 /* AnyObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7ECC4727E7FB790A52A8708A4CF3F155 /* AnyObserver.swift */; }; - F4297451347C8D64F7F7EF970D2D5729 /* ConstraintLayoutSupportDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = E1A16DD4A706AF765B8EA0751EBF4E63 /* ConstraintLayoutSupportDSL.swift */; }; - F47C7078597A3831A2CC78A179765518 /* UILayoutSupport+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64552828511783624379C226338C1235 /* UILayoutSupport+Extensions.swift */; }; - F4835E3A09CF05A835C3E26041C454C2 /* PresentationPresenter.swift in Sources */ = {isa = PBXBuildFile; fileRef = A284A7A265602ECAFBB1A54C1D0D7BB8 /* PresentationPresenter.swift */; }; - F4A57F7C1F8184A6DDEABB07FA6D7083 /* NSBundle+MJRefresh.m in Sources */ = {isa = PBXBuildFile; fileRef = BDA124F864070C9BB9F94579A16E9ED6 /* NSBundle+MJRefresh.m */; }; - F5893864EC514482E3C406A49322F88E /* LOTShapeTransform.h in Headers */ = {isa = PBXBuildFile; fileRef = 9FEDA919CCA6F527A46CAA827DE66B1B /* LOTShapeTransform.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F68EA720B0ED1BF96CEBF07977A1C0A2 /* MJRefreshComponent.m in Sources */ = {isa = PBXBuildFile; fileRef = 81EBB1A8AA770DEF23561062C6C66A90 /* MJRefreshComponent.m */; }; - F6979BB91E1F64A828FC375A1B109DBF /* RecursiveLock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51DBE9AA5DFA7FFF26979E0B30D441E7 /* RecursiveLock.swift */; }; - F6BECD98B97CBFEBE2C96F0E9E72A6C0 /* ResponseSerialization.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EC9F164835104089C7BEE1EC4C7514E /* ResponseSerialization.swift */; }; - F6E1AA76EBFF9E225E7998FE7127AE09 /* KVORepresentable+Swift.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9339E974AF3390CBCED35BBBFC4332EC /* KVORepresentable+Swift.swift */; }; - F78982EDF3C249FA49BBDD547EAD8519 /* TakeLast.swift in Sources */ = {isa = PBXBuildFile; fileRef = BCA3E9AB57C3991F5200992B838DF438 /* TakeLast.swift */; }; - F7BEFC20EB6A130740562821D11D7D45 /* ActivityIndicatorAnimationPacman.swift in Sources */ = {isa = PBXBuildFile; fileRef = D194C7A11D18F82EE469E9145320295F /* ActivityIndicatorAnimationPacman.swift */; }; - F86FB6B62DB0F8EFCB3630FF2E31E8F3 /* SwiftyJSON-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = DFF735F3AD2C69D2DD0BD84D92419A6A /* SwiftyJSON-dummy.m */; }; - F88EE7A155ADEB81FE36400267110AD2 /* Errors.swift in Sources */ = {isa = PBXBuildFile; fileRef = D4A573215CC1819D2D36B2DF6E1B276E /* Errors.swift */; }; - F8B3D3092ED0417E8CDF32033F6122F5 /* Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = 20954A2A132601E2AA6FA9B24498E2B6 /* Alamofire.swift */; }; - F8B6F1D5FC49ADD5911BE16BE3D313EF /* ActivityIndicatorAnimationBallZigZagDeflect.swift in Sources */ = {isa = PBXBuildFile; fileRef = C6D2A38724FACF994BBC57E994D7AA41 /* ActivityIndicatorAnimationBallZigZagDeflect.swift */; }; - F8F799D5F8E999CA47641097AF8EAE91 /* LOTArrayInterpolator.h in Headers */ = {isa = PBXBuildFile; fileRef = 45224CB0E544A0ED792C58DE136B6CD3 /* LOTArrayInterpolator.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F92BC2609473553EDBE3F9C30E867E2E /* UIAlertAction+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB983EBA19AEB1F633530BBD9039BCAE /* UIAlertAction+Rx.swift */; }; - F949B79CF0DE1A67721B764EC95D20AD /* Kingfisher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 388184AD4C48733E83CB6051AE641421 /* Kingfisher.swift */; }; - F9515AAABFA0F5C538E88A663A0C6788 /* SliderImagesDesignable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33FD5CF5D22CCD418BBB6FFD1AE53579 /* SliderImagesDesignable.swift */; }; - F97925D06A70CD02BFF3651E2A527A2D /* AnimatedTransitioning.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE1B1E6DD575DC7EA14D3349B32BCF07 /* AnimatedTransitioning.swift */; }; - F9ED47AFD114AD2E6F8E10CB799F5089 /* ActivityIndicatorAnimationBallPulseSync.swift in Sources */ = {isa = PBXBuildFile; fileRef = 80089D9BDA8AF6850A3099D0742654FF /* ActivityIndicatorAnimationBallPulseSync.swift */; }; - F9F10466111C437521082477EBB40777 /* LOTTransformInterpolator.h in Headers */ = {isa = PBXBuildFile; fileRef = DF6C4295D97240E793C8143E7FA1BC7C /* LOTTransformInterpolator.h */; settings = {ATTRIBUTES = (Project, ); }; }; - FA8042E7B8305CBF1823CDBF6ACD4D4C /* InteractiveGestureType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 91CE9A45A5B1926ACE162BE5C33FB72C /* InteractiveGestureType.swift */; }; - FAD9131DD10703CC6880BFC68FED8B51 /* NVActivityIndicatorAnimationBallPulseSync.swift in Sources */ = {isa = PBXBuildFile; fileRef = A6DCD24A709B709BFBB4143022669DFA /* NVActivityIndicatorAnimationBallPulseSync.swift */; }; - FB1319C5A8ED8E5A9A523D6D325D09AD /* HandyJSON-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = B642E00E67E0A77543079F4274DF9532 /* HandyJSON-dummy.m */; }; - FB1D53DE27A0944D85AD72CD53A51012 /* RxPickerViewAdapter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 77CFCE4B7CD41EF943170060CE7BCDD4 /* RxPickerViewAdapter.swift */; }; - FB3D7DD5E37D5CF0B1EE435993172320 /* LOTLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 42EAFE236B126875E3676DDF667390B1 /* LOTLayer.h */; settings = {ATTRIBUTES = (Project, ); }; }; - FB4EE67AF9393C7C621E724000DF69EF /* ThemeBarStylePicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6278DED1E5E256A728B4F22B1473CB3B /* ThemeBarStylePicker.swift */; }; - FB6F462E4731C3DAF61AE97FCB2EFAC2 /* ConstraintDescription.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BCFCCB89C0EFDDB0353777EE9101C13 /* ConstraintDescription.swift */; }; - FB9C6242B11049E2F1062D04565E568D /* UIScrollView+MJExtension.m in Sources */ = {isa = PBXBuildFile; fileRef = C756760B5C2D6F888C93CD85E61697F3 /* UIScrollView+MJExtension.m */; }; - FC15179B19C902E9BA1A41664C6A9450 /* LOTAsset.m in Sources */ = {isa = PBXBuildFile; fileRef = 97E5CCA0FFD0F0F98680926531DC178E /* LOTAsset.m */; }; - FC34D8D22C5F8297F44E3823A39209FE /* PriorityQueue.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3FD5420B9BA99B1F4CB34B325186DD7 /* PriorityQueue.swift */; }; - FC35D462D7F8823702E27875DCB8F1F8 /* SubscribeOn.swift in Sources */ = {isa = PBXBuildFile; fileRef = A198367C0EABC925993D409EDFC01E1D /* SubscribeOn.swift */; }; - FC63C01D7951D40756AFAAE788BE8013 /* Logger.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6134ABF753A3BE6C7233AFE6428F6470 /* Logger.swift */; }; - FCAC586694D2A04DFE489EEBD56D8307 /* AnimatableLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 396C45FE0958F601CB9B783E48247447 /* AnimatableLabel.swift */; }; - FD31283E2A43955C5BA6FA9008EE8D7C /* MJRefreshGifHeader.m in Sources */ = {isa = PBXBuildFile; fileRef = 0336129454D6920F71BC61CB97C2A1D6 /* MJRefreshGifHeader.m */; }; - FD3AC269AE8FBB28BBF9B1A1ED8407D1 /* Debounce.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42AC69E5CD8A27216BFAA3656E836C31 /* Debounce.swift */; }; - FD529765BC5A2832BD4A2E0699D922AE /* LOTBezierPath.m in Sources */ = {isa = PBXBuildFile; fileRef = 54EB7ED0C4D1552DFA21A52FB9C8D704 /* LOTBezierPath.m */; }; - FE356F7E582DB6A02BA4E6F7BDF0FE8A /* ActivityIndicatorType.swift in Sources */ = {isa = PBXBuildFile; fileRef = F9FEC101D9BF91E23C13BA526DBF5482 /* ActivityIndicatorType.swift */; }; - FF54D758A116A9919997B85C886EE9B9 /* ActivityIndicatorAnimationBallBeat.swift in Sources */ = {isa = PBXBuildFile; fileRef = 810FEB19327309ACB4F4D308EE6F5AEE /* ActivityIndicatorAnimationBallBeat.swift */; }; - FFC8063AA7ECC642A57F7857E5204C1F /* Concat.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0AF615DDEBA8A6F3F0601399A19D9315 /* Concat.swift */; }; - FFDB2A31CEAB97691515D6784CD053BD /* AnimatableStackView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B85B8F95835A717D07373D6755CCF1A /* AnimatableStackView.swift */; }; - FFF4232C3E4428AC19EB7C985D8E6ED3 /* Deferred.swift in Sources */ = {isa = PBXBuildFile; fileRef = 90ADE8E36AF6EC123353DD73029503DB /* Deferred.swift */; }; + EF7AA1CEC82CE54CA8703695B47C15BD /* NVActivityIndicatorAnimationBallClipRotateMultiple.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5804E955373BD503DDC6B02FBF3E1B15 /* NVActivityIndicatorAnimationBallClipRotateMultiple.swift */; }; + EF8E7957511FB5B3EC3EF90FD7475B8D /* Animatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19A07F2E53385E3AAAD8B284EC136D18 /* Animatable.swift */; }; + EFC5B0C4BDAA8881982E0662D5D5C8E0 /* FoldAnimator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1BE1DE48E29CAE28AD0188B1748FD99C /* FoldAnimator.swift */; }; + EFD264FC408EBF3BA2528E70B08DDD94 /* Notifications.swift in Sources */ = {isa = PBXBuildFile; fileRef = 35AACB35406F1B2AE414A4F6EC164F26 /* Notifications.swift */; }; + F03438B49DD7EA9123F82A1C1F9BD2EF /* TransitionPresenterManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 76BCD4841795F9DC12742094762007B9 /* TransitionPresenterManager.swift */; }; + F067F3E4950DE7BEE47752FFC6F680A4 /* ObservableConvertibleType+SharedSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 855D31375AC89AAED40EC1BA94EBB6AB /* ObservableConvertibleType+SharedSequence.swift */; }; + F0736E8618579D7AF670E9E7E3D3BF10 /* SVRadialGradientLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = F0847D1A3D3F9BCDCD3184083C4F76B0 /* SVRadialGradientLayer.m */; }; + F09A62D930F371445BC5304F49EFD20D /* NVActivityIndicatorViewable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 00BADAC5E6217FE65E242EDDC6A54F3D /* NVActivityIndicatorViewable.swift */; }; + F0B923A10AF787DF14399A9B3E1D7F56 /* ConstraintPriority.swift in Sources */ = {isa = PBXBuildFile; fileRef = 854CA1B5A251A220252626547D0D0328 /* ConstraintPriority.swift */; }; + F0B9A279E37485637B0F6942932DAFFF /* Zip.swift in Sources */ = {isa = PBXBuildFile; fileRef = B53A6777013D9670B38008FB7C2C2D1C /* Zip.swift */; }; + F0D6D48A57D43F5058C133235EC27BD1 /* Optional.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8028F709EBEC213EB44C7F37AE8DA771 /* Optional.swift */; }; + F0E1D70C58814D2A55A3818B554C323D /* ConstraintMakerFinalizable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7E3960071DEB42B7E1720302BAC6B443 /* ConstraintMakerFinalizable.swift */; }; + F17038401495DBF46EBF17DAF51B4C6C /* DateTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6CAF593FB620DA5A557DDE1EE870010D /* DateTransform.swift */; }; + F19407A5AB1327FB0825E08771309CF1 /* PresentationKeyboardTranslation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5808215369F555A801134C53C96D6AFD /* PresentationKeyboardTranslation.swift */; }; + F1F92C366C3DC310792F9A00E0D53B59 /* LOTTransformInterpolator.m in Sources */ = {isa = PBXBuildFile; fileRef = 3AC807891205C6C7DB3B49729A4D9BA3 /* LOTTransformInterpolator.m */; }; + F2451FD62A81371DA2525F216BC7B84E /* Merge.swift in Sources */ = {isa = PBXBuildFile; fileRef = E77FC834BCDF5CE3B65FC7A50F51CDFA /* Merge.swift */; }; + F2B66221F41720F50BA0B656330FD7CB /* Maybe.swift in Sources */ = {isa = PBXBuildFile; fileRef = DBEFA276629C02C3A51646DAD2D15CD1 /* Maybe.swift */; }; + F352C5269D8E1C9450D1F268848E4E84 /* NatGeoAnimator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7306673949C7A4E3B6123476659E0A32 /* NatGeoAnimator.swift */; }; + F3CCD9DCB94A2157E0D07F957B68FD54 /* UIColor.h in Headers */ = {isa = PBXBuildFile; fileRef = E38AA05CE8BF07C4F963F92794253E66 /* UIColor.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F4064BE5CEB9005C57C4B38478C426D6 /* Deprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA9958EE49FE10817A5797CE10F71B89 /* Deprecated.swift */; }; + F4297451347C8D64F7F7EF970D2D5729 /* ConstraintLayoutSupportDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = A42598ADE287EBD5A63385CA70401CA0 /* ConstraintLayoutSupportDSL.swift */; }; + F47C7078597A3831A2CC78A179765518 /* UILayoutSupport+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 345D5C0F59CB0D5CEAC3F66831227E22 /* UILayoutSupport+Extensions.swift */; }; + F4835E3A09CF05A835C3E26041C454C2 /* PresentationPresenter.swift in Sources */ = {isa = PBXBuildFile; fileRef = ACA550BBFD505276BE63CD6DBDF1277E /* PresentationPresenter.swift */; }; + F48A25BC786D3CA8438F42A75DB09265 /* LOTShapeTransform.m in Sources */ = {isa = PBXBuildFile; fileRef = 3E7032294CFA4F12B748BC72186F2161 /* LOTShapeTransform.m */; }; + F4A57F7C1F8184A6DDEABB07FA6D7083 /* NSBundle+MJRefresh.m in Sources */ = {isa = PBXBuildFile; fileRef = 0A4FDBA982D791203E1F2C786C6B0A7A /* NSBundle+MJRefresh.m */; }; + F4C40E17BB43A1501730A2F52A286036 /* Reduce.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1BB5E1E996EDB58160CA807FF5B3E68B /* Reduce.swift */; }; + F5827F59974BD6B3F1FAB9FF055C32D6 /* SharedSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F72106675C0174F6366E0DEA0CF72BC /* SharedSequence.swift */; }; + F5927A9424A561921958D58CC043BA0A /* UITabBarItem+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 80844F96601B91D555807E452FADF9D2 /* UITabBarItem+Rx.swift */; }; + F5A71ABC5987129D47D27F66A6045FD4 /* Materialize.swift in Sources */ = {isa = PBXBuildFile; fileRef = C5AFC9BE9793A15E7A9EB9AEB0C193B4 /* Materialize.swift */; }; + F68EA720B0ED1BF96CEBF07977A1C0A2 /* MJRefreshComponent.m in Sources */ = {isa = PBXBuildFile; fileRef = D6543789722A7C3A2EA023CF3006F4D6 /* MJRefreshComponent.m */; }; + F6BECD98B97CBFEBE2C96F0E9E72A6C0 /* ResponseSerialization.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8BC2B09C216DB6FF1860CA79E45D7DF5 /* ResponseSerialization.swift */; }; + F6CF7E06B5C2D01BDF11172AFE18BA94 /* LOTShapeStar.h in Headers */ = {isa = PBXBuildFile; fileRef = 10034189A51CD08F2A3DE044F9E908AE /* LOTShapeStar.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F7A5AEDBDC5064C89EB168703F896194 /* SchedulerServices+Emulation.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6C5A1F02DA98D4EC40E7C18CCB0F1CD /* SchedulerServices+Emulation.swift */; }; + F7BEFC20EB6A130740562821D11D7D45 /* ActivityIndicatorAnimationPacman.swift in Sources */ = {isa = PBXBuildFile; fileRef = FAA7FE263028F91E75B5B1ECE17F7110 /* ActivityIndicatorAnimationPacman.swift */; }; + F84259C1B09EB8BB5AFFB42B1FB57F06 /* _RXObjCRuntime.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F5C13066481DD185C9F2F6C9F4F1729 /* _RXObjCRuntime.m */; }; + F86843C786C6C06BFA9322A4A0DEAAC1 /* LOTKeypath.m in Sources */ = {isa = PBXBuildFile; fileRef = 1F75533BCB19C86129017345228A7FEF /* LOTKeypath.m */; }; + F86FB6B62DB0F8EFCB3630FF2E31E8F3 /* SwiftyJSON-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 0C3E92227F0D4BC57D6208210DDA8460 /* SwiftyJSON-dummy.m */; }; + F8A981199739999CD0AAEB6B202FF63F /* ControlProperty.swift in Sources */ = {isa = PBXBuildFile; fileRef = D08D11E7C1FE9922378882CC0903962A /* ControlProperty.swift */; }; + F8B3D3092ED0417E8CDF32033F6122F5 /* Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8B06064F66FA35474BA3C50BF9FC51B1 /* Alamofire.swift */; }; + F8B6F1D5FC49ADD5911BE16BE3D313EF /* ActivityIndicatorAnimationBallZigZagDeflect.swift in Sources */ = {isa = PBXBuildFile; fileRef = F7E24560CEF0970C4B696ECC807E7A8C /* ActivityIndicatorAnimationBallZigZagDeflect.swift */; }; + F933903AE3975869D9BDCC583215F87C /* UIViewController+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC9FA0674D3055F0C4F18066A315A3A3 /* UIViewController+Rx.swift */; }; + F9515AAABFA0F5C538E88A663A0C6788 /* SliderImagesDesignable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42252615449A9C5469554DF0149BB755 /* SliderImagesDesignable.swift */; }; + F97925D06A70CD02BFF3651E2A527A2D /* AnimatedTransitioning.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7C30AA4805C805B9B7DF89C80F35E084 /* AnimatedTransitioning.swift */; }; + F9ED47AFD114AD2E6F8E10CB799F5089 /* ActivityIndicatorAnimationBallPulseSync.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E40C11A8EFEB738DE424DD6DA74DA73 /* ActivityIndicatorAnimationBallPulseSync.swift */; }; + FA1397073A0C465B70330BA337924C85 /* DelegateProxyType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23A6D21E34E26AECC8D241A405B30113 /* DelegateProxyType.swift */; }; + FA8042E7B8305CBF1823CDBF6ACD4D4C /* InteractiveGestureType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1B89F255263D22BF16059A33615AE081 /* InteractiveGestureType.swift */; }; + FA95EAC81DF7CC55478A812C5B353082 /* LOTTrimPathNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 335F14A562B950036768C583032735EF /* LOTTrimPathNode.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FAA600CE3C8EA4D94D51303BC34D1A4E /* Disposables.swift in Sources */ = {isa = PBXBuildFile; fileRef = 466BBB2EFC03F9AB415017F8AB695336 /* Disposables.swift */; }; + FAD9131DD10703CC6880BFC68FED8B51 /* NVActivityIndicatorAnimationBallPulseSync.swift in Sources */ = {isa = PBXBuildFile; fileRef = C19E561FD5A94B95CCF5BBD29E5EA5DA /* NVActivityIndicatorAnimationBallPulseSync.swift */; }; + FB1319C5A8ED8E5A9A523D6D325D09AD /* HandyJSON-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = C3EEB0E0797A0A9FC1198898E7CDCD72 /* HandyJSON-dummy.m */; }; + FB4EE67AF9393C7C621E724000DF69EF /* ThemeBarStylePicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = A6E1709254E6C207F0A9D160F0337BAD /* ThemeBarStylePicker.swift */; }; + FB6F462E4731C3DAF61AE97FCB2EFAC2 /* ConstraintDescription.swift in Sources */ = {isa = PBXBuildFile; fileRef = E97B827A866105C835FD096380705CE7 /* ConstraintDescription.swift */; }; + FB9C6242B11049E2F1062D04565E568D /* UIScrollView+MJExtension.m in Sources */ = {isa = PBXBuildFile; fileRef = 29F9CBB44ABDA066C0E533B406A0FDA0 /* UIScrollView+MJExtension.m */; }; + FBD133A06AA02D4AADA1E1C24848B89D /* LOTValueInterpolator.h in Headers */ = {isa = PBXBuildFile; fileRef = C3CC6A40960E035A876DE307334D43AB /* LOTValueInterpolator.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FC63C01D7951D40756AFAAE788BE8013 /* Logger.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51E8DAD48CC72859126174EC5DE4AEDF /* Logger.swift */; }; + FCAC586694D2A04DFE489EEBD56D8307 /* AnimatableLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = FB1B7FEAF6B9DBF10BD8E2992656630F /* AnimatableLabel.swift */; }; + FCB53B6F4756CCD488CD2D114738DAD3 /* RxPickerViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = B7A86AABD45B222B9CE0E5EA3D76F8E2 /* RxPickerViewDelegateProxy.swift */; }; + FCB791E8D64773EA20EAAA9EF5F24CCB /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2C7C898F5F650F65008E903708D884F9 /* UIKit.framework */; }; + FCE72DF8A3871D1B124F53560AD534C4 /* Concat.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AE868EA2541F35475745791C5F02448 /* Concat.swift */; }; + FD31283E2A43955C5BA6FA9008EE8D7C /* MJRefreshGifHeader.m in Sources */ = {isa = PBXBuildFile; fileRef = 6C0CE40DEBA0DD12A22BF841FAFA2614 /* MJRefreshGifHeader.m */; }; + FD7AC77B0A5FE3536FBD399D73ED1685 /* TextInput.swift in Sources */ = {isa = PBXBuildFile; fileRef = BCACCAF737C2865D9AA6460BBE8A1010 /* TextInput.swift */; }; + FE356F7E582DB6A02BA4E6F7BDF0FE8A /* ActivityIndicatorType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6FB1FBB4EC817CA9A8741BBED466B240 /* ActivityIndicatorType.swift */; }; + FED97351EC4705507DAB175106B819C8 /* UIButton+Kingfisher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04E6A1714DA9F362583C70FFB2F95DFF /* UIButton+Kingfisher.swift */; }; + FF54D758A116A9919997B85C886EE9B9 /* ActivityIndicatorAnimationBallBeat.swift in Sources */ = {isa = PBXBuildFile; fileRef = 87AFAC0DC05D8C4EEB92B53AF8B0B90A /* ActivityIndicatorAnimationBallBeat.swift */; }; + FFC2B5032E465E08261662839B601928 /* URLSession+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = D20E5F1F49E0D3B1E6025F09EF4ADF4D /* URLSession+Rx.swift */; }; + FFDB2A31CEAB97691515D6784CD053BD /* AnimatableStackView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F025481B57CD36B2A8A26D8F46A0E26A /* AnimatableStackView.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -937,7 +951,7 @@ isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 8386817F9A5E38AB99F1AA49CD86EB76; + remoteGlobalIDString = 8EEA87EC20A241510DE48460AC208D2F; remoteInfo = "lottie-ios"; }; 7FF186BE4ABED0DFFCFCA5D89EF0482D /* PBXContainerItemProxy */ = { @@ -951,7 +965,7 @@ isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 6F712943B3C5592E82604940D11CE08A; + remoteGlobalIDString = 4F87037150ABE2C9238B54E8F6E33F36; remoteInfo = Kingfisher; }; 86876F42EDBA98C658046BF887D86417 /* PBXContainerItemProxy */ = { @@ -1013,941 +1027,955 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 0091772621F2D2D616DB64C5605C70E7 /* DateFormatterTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DateFormatterTransform.swift; path = Source/DateFormatterTransform.swift; sourceTree = ""; }; - 00B5AD25079A623CB19EE4300FD7E482 /* SnapKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SnapKit-umbrella.h"; sourceTree = ""; }; - 00C37190B4A3AD3E1AC3CA92D458F182 /* ColorType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ColorType.swift; path = Sources/Enums/ColorType.swift; sourceTree = ""; }; - 00E2D1CF190C677489B8F7AB63480C8A /* ImageDownloader.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImageDownloader.swift; path = Sources/ImageDownloader.swift; sourceTree = ""; }; - 0126BA6163E7E8BA4860CDE3F78C076C /* DispatchQueue+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "DispatchQueue+Alamofire.swift"; path = "Source/DispatchQueue+Alamofire.swift"; sourceTree = ""; }; - 0186DF89A7DED93C8085D1AD66389B06 /* SharedSequence+Operators+arity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "SharedSequence+Operators+arity.swift"; path = "RxCocoa/Traits/SharedSequence/SharedSequence+Operators+arity.swift"; sourceTree = ""; }; - 0205F13F663A2197A5AE557205A7CA71 /* UIControl+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIControl+Rx.swift"; path = "RxCocoa/iOS/UIControl+Rx.swift"; sourceTree = ""; }; - 02532D5C28DACCDCBE8DF44805B33236 /* ControlEvent.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ControlEvent.swift; path = RxCocoa/Traits/ControlEvent.swift; sourceTree = ""; }; - 0254A10083DCE5EA0FC7C103C4046A49 /* NVActivityIndicatorPresenter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorPresenter.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Presenter/NVActivityIndicatorPresenter.swift; sourceTree = ""; }; - 026DD9F54346568D494DE2135988F500 /* PublishRelay.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PublishRelay.swift; path = RxCocoa/Traits/PublishRelay.swift; sourceTree = ""; }; - 02BA589C8AD7985615B4DAEF4077CEA7 /* ImmediateSchedulerType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImmediateSchedulerType.swift; path = RxSwift/ImmediateSchedulerType.swift; sourceTree = ""; }; - 02EF30EDB2722368674A603DCFC14E54 /* ThemeManager+OC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ThemeManager+OC.swift"; path = "Source/ThemeManager+OC.swift"; sourceTree = ""; }; - 030824B9D6A184F2A49F2064A02A2BE1 /* MJRefreshAutoNormalFooter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshAutoNormalFooter.m; path = MJRefresh/Custom/Footer/Auto/MJRefreshAutoNormalFooter.m; sourceTree = ""; }; - 031A0A98B751ADE6C79919ADE0ECCBAC /* ThemeManager+Index.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ThemeManager+Index.swift"; path = "Source/ThemeManager+Index.swift"; sourceTree = ""; }; - 0336129454D6920F71BC61CB97C2A1D6 /* MJRefreshGifHeader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshGifHeader.m; path = MJRefresh/Custom/Header/MJRefreshGifHeader.m; sourceTree = ""; }; - 0351A2AE282ECE717987E896F7A977EE /* AnimatableView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnimatableView.swift; path = Sources/Views/AnimatableView.swift; sourceTree = ""; }; - 039F685C8466FCD9D44D4FCC726AFEC5 /* SGPagingView.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = SGPagingView.modulemap; sourceTree = ""; }; - 03AF4053EB312EF6B6022AFBA137BC08 /* ActivityIndicatorAnimationCubeTransition.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorAnimationCubeTransition.swift; path = Sources/ActivityIndicators/Animations/ActivityIndicatorAnimationCubeTransition.swift; sourceTree = ""; }; - 04205A96B0B2EAC5C3854C4FF1DC0007 /* DisposeBase.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DisposeBase.swift; path = RxSwift/Disposables/DisposeBase.swift; sourceTree = ""; }; - 04ACEF3624F7EC02B897C81D5CD971B3 /* LOTValueInterpolator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTValueInterpolator.h; path = "lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTValueInterpolator.h"; sourceTree = ""; }; - 05C1CC7AD909075CBCCA3CF067FB78BF /* LOTModels.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTModels.h; path = "lottie-ios/Classes/Models/LOTModels.h"; sourceTree = ""; }; - 05DED0B22E5F09A19343D4BAFFD2B3AD /* CheckBoxDesignable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CheckBoxDesignable.swift; path = Sources/Protocols/Designable/CheckBoxDesignable.swift; sourceTree = ""; }; - 065759FD81B9F8A11BA8512935E5558A /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 06918280FB9DD225735F27A67699368D /* UIColor+Expanded.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIColor+Expanded.m"; path = "lottie-ios/Classes/Extensions/UIColor+Expanded.m"; sourceTree = ""; }; - 0775412FA8744446709B2C6F63CA3397 /* CustomFunctions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CustomFunctions.swift; path = Sources/SQLite/Typed/CustomFunctions.swift; sourceTree = ""; }; - 0899CA737C480283614FCEA77D18D661 /* LOTBezierData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTBezierData.h; path = "lottie-ios/Classes/AnimatableProperties/LOTBezierData.h"; sourceTree = ""; }; - 08B2DC9D70CA1F3DFA74FD5E24949DCE /* HandyJSON.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = HandyJSON.framework; path = HandyJSON.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 08B55C15CBBE0AB6B7F15979EC69AD66 /* AsyncSubject.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AsyncSubject.swift; path = RxSwift/Subjects/AsyncSubject.swift; sourceTree = ""; }; - 08C33EBCE60951B3237246905E0057A5 /* SharedSequence+Operators.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "SharedSequence+Operators.swift"; path = "RxCocoa/Traits/SharedSequence/SharedSequence+Operators.swift"; sourceTree = ""; }; - 08F5D5F30677524F5E1E69E3332EC510 /* RxScrollViewDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxScrollViewDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxScrollViewDelegateProxy.swift; sourceTree = ""; }; - 0900930FF7D46341C3351EF6374A76DB /* RxSwift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = RxSwift.framework; path = RxSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 0933220A8D6CF0AE38A97800A6EFEC28 /* Generate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Generate.swift; path = RxSwift/Observables/Generate.swift; sourceTree = ""; }; - 09B4AB1C88F70BA17E7ADD1D8AE89C0C /* Signal+Subscription.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Signal+Subscription.swift"; path = "RxCocoa/Traits/Signal/Signal+Subscription.swift"; sourceTree = ""; }; - 09ECCE2070D0AFFD99AFBDACFF1EC32E /* ThemeCGFloatPicker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ThemeCGFloatPicker.swift; path = Source/ThemeCGFloatPicker.swift; sourceTree = ""; }; - 0A526298B38F701CA729115DD8D4A50E /* NVActivityIndicatorShape.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorShape.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/NVActivityIndicatorShape.swift; sourceTree = ""; }; - 0A73D20F5EB6F948D6B01F94C372813F /* MJRefreshComponent.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshComponent.h; path = MJRefresh/Base/MJRefreshComponent.h; sourceTree = ""; }; - 0AA8637192A3593DEC13F6CF3D50E265 /* Just.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Just.swift; path = RxSwift/Observables/Just.swift; sourceTree = ""; }; - 0AAA17290F5B4BE76AB85EC5608DC32A /* Maybe.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Maybe.swift; path = RxSwift/Traits/Maybe.swift; sourceTree = ""; }; - 0AB6297C3CD6368F7998F7373B9FE811 /* MJRefreshHeader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshHeader.m; path = MJRefresh/Base/MJRefreshHeader.m; sourceTree = ""; }; - 0ABBD4A0FD9D5A5318CC16789319A8E6 /* NVActivityIndicatorAnimationBallZigZagDeflect.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallZigZagDeflect.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallZigZagDeflect.swift; sourceTree = ""; }; - 0AF548D11E96AF1E95009082CE1415E9 /* LOTSizeInterpolator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTSizeInterpolator.m; path = "lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTSizeInterpolator.m"; sourceTree = ""; }; - 0AF615DDEBA8A6F3F0601399A19D9315 /* Concat.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Concat.swift; path = RxSwift/Observables/Concat.swift; sourceTree = ""; }; - 0B18D89860518A003FB3B12D4B26CA9C /* CGGeometry+LOTAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "CGGeometry+LOTAdditions.m"; path = "lottie-ios/Classes/Extensions/CGGeometry+LOTAdditions.m"; sourceTree = ""; }; - 0BD531F57A82D05976594038D6B1F37F /* _RX.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _RX.h; path = RxCocoa/Runtime/include/_RX.h; sourceTree = ""; }; - 0BE0D2B0B8C0D20063ED146DCF1F23D0 /* WithLatestFrom.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = WithLatestFrom.swift; path = RxSwift/Observables/WithLatestFrom.swift; sourceTree = ""; }; - 0C223AF30CEBDFEACD2718FA0F96A254 /* Typealias.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Typealias.swift; path = Sources/Common/Typealias.swift; sourceTree = ""; }; - 0C2552321F77B96D77A48C55AD32D6BB /* SwiftyJSON.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = SwiftyJSON.modulemap; sourceTree = ""; }; - 0C30FB2445A13671E70033CF31F9BF48 /* RxCollectionViewDataSourceType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxCollectionViewDataSourceType.swift; path = RxCocoa/iOS/Protocols/RxCollectionViewDataSourceType.swift; sourceTree = ""; }; - 0C9C27B27D9013608A23977C8423AC3E /* ActivityIndicatorAnimationBallClipRotateMultiple.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorAnimationBallClipRotateMultiple.swift; path = Sources/ActivityIndicators/Animations/ActivityIndicatorAnimationBallClipRotateMultiple.swift; sourceTree = ""; }; - 0D1F4B688255B82CB4391A5FDB2A66F2 /* Alamofire-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Alamofire-dummy.m"; sourceTree = ""; }; - 0DF95F092886036754BA55304A1C864B /* ConstraintMaker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMaker.swift; path = Source/ConstraintMaker.swift; sourceTree = ""; }; - 0E176665CF4CDEC57664FD5AAD1B2A46 /* RotationDesignable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RotationDesignable.swift; path = Sources/Protocols/Designable/RotationDesignable.swift; sourceTree = ""; }; - 0E17E75EF2447F391F8D31ED49B3E8EE /* Pods-News-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-News-umbrella.h"; sourceTree = ""; }; - 0EB9C6C82C51CAA9857CF5D21339B821 /* LOTRoundedRectAnimator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTRoundedRectAnimator.h; path = "lottie-ios/Classes/RenderSystem/AnimatorNodes/LOTRoundedRectAnimator.h"; sourceTree = ""; }; - 0EC9F164835104089C7BEE1EC4C7514E /* ResponseSerialization.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ResponseSerialization.swift; path = Source/ResponseSerialization.swift; sourceTree = ""; }; - 0F252607A15F344A64C86C7A4B130B13 /* IBAnimatable-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "IBAnimatable-dummy.m"; sourceTree = ""; }; - 0F27E0E6A8AE9D6BD1F1C9957E72EF54 /* NSValue+Compat.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSValue+Compat.h"; path = "lottie-ios/Classes/MacCompatability/NSValue+Compat.h"; sourceTree = ""; }; - 0F7CEE59118B6BF1A0FB749DC196C7D7 /* ConstraintLayoutGuide.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutGuide.swift; path = Source/ConstraintLayoutGuide.swift; sourceTree = ""; }; - 0F808464614F916693212A4BEC639ECB /* UIView+MJExtension.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIView+MJExtension.h"; path = "MJRefresh/UIView+MJExtension.h"; sourceTree = ""; }; - 0FA9A0352B9FF0DCCACCCC9BD526E13B /* KingfisherManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = KingfisherManager.swift; path = Sources/KingfisherManager.swift; sourceTree = ""; }; - 101908FF6546070B0F0A7E76B80D5749 /* ViewControllerDesignable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ViewControllerDesignable.swift; path = Sources/Protocols/Designable/ViewControllerDesignable.swift; sourceTree = ""; }; - 101D654A5F60FDA6F2BE08E2C47D0359 /* Disposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Disposable.swift; path = RxSwift/Disposable.swift; sourceTree = ""; }; - 102DF99F3A9757AD6973CC587516700F /* SerialDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SerialDisposable.swift; path = RxSwift/Disposables/SerialDisposable.swift; sourceTree = ""; }; - 10305D9ABD2DC366AD35EDC8CBF583BC /* OtherExtension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = OtherExtension.swift; path = Source/OtherExtension.swift; sourceTree = ""; }; - 10D5724FBD15C6EC747828B2D3B4AB04 /* ConstraintItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintItem.swift; path = Source/ConstraintItem.swift; sourceTree = ""; }; - 10DADE548950E2183AEF492669FC6181 /* UIScrollView+MJRefresh.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIScrollView+MJRefresh.h"; path = "MJRefresh/UIScrollView+MJRefresh.h"; sourceTree = ""; }; - 10E4C2731B1A70BE593408B1BAFF11B4 /* PresentPortalSegue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PresentPortalSegue.swift; path = Sources/Segues/PresentPortalSegue.swift; sourceTree = ""; }; - 114058F5B3E5A7FD0ACFDE8B446B025E /* UIImageView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIImageView+Rx.swift"; path = "RxCocoa/iOS/UIImageView+Rx.swift"; sourceTree = ""; }; - 12EB1C12CFA00FDF440A413CF88FC5B2 /* NVActivityIndicatorAnimationBallBeat.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallBeat.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallBeat.swift; sourceTree = ""; }; - 135DC9A0ADFBB52E74BC80E4DAE986FA /* ObservableType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObservableType.swift; path = RxSwift/ObservableType.swift; sourceTree = ""; }; - 14063873909746745CA2214A74624862 /* LOTComposition.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTComposition.h; path = "lottie-ios/Classes/PublicHeaders/LOTComposition.h"; sourceTree = ""; }; - 1477CF9575CB07A50A3FAF14BF8A68DB /* FDFullscreenPopGesture.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = FDFullscreenPopGesture.modulemap; sourceTree = ""; }; - 147990E837085DEECB1B14F88E883077 /* TimingFunctionType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TimingFunctionType.swift; path = Sources/Enums/TimingFunctionType.swift; sourceTree = ""; }; - 14A44AA8ADAB4952098BD99115015B04 /* ConstraintConfig.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintConfig.swift; path = Source/ConstraintConfig.swift; sourceTree = ""; }; - 153FE52A3B316E8E00009D08C81E50DD /* URLSession+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "URLSession+Rx.swift"; path = "RxCocoa/Foundation/URLSession+Rx.swift"; sourceTree = ""; }; - 16DC0CF1E57DA05B343DE6FCB7BECD61 /* Buffer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Buffer.swift; path = RxSwift/Observables/Buffer.swift; sourceTree = ""; }; - 16DFE44A71BFE75E6AEC8A5A634A344F /* NVActivityIndicatorAnimationTriangleSkewSpin.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationTriangleSkewSpin.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationTriangleSkewSpin.swift; sourceTree = ""; }; - 16F689B2CBE9D1BDE47D284F80C23BE6 /* ObservableConvertibleType+SharedSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ObservableConvertibleType+SharedSequence.swift"; path = "RxCocoa/Traits/SharedSequence/ObservableConvertibleType+SharedSequence.swift"; sourceTree = ""; }; - 17090CC49F55E7722F956A4D71474149 /* SGPagingView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SGPagingView.h; path = SGPagingView/SGPagingView.h; sourceTree = ""; }; - 179F1E14E810B50D6AD1875238206208 /* URLTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = URLTransform.swift; path = Source/URLTransform.swift; sourceTree = ""; }; - 1810B7508D3AFCB929CD970857614D98 /* UISlider+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UISlider+Rx.swift"; path = "RxCocoa/iOS/UISlider+Rx.swift"; sourceTree = ""; }; - 1868D53B80F069BD2B9C74B5AF983979 /* IBAnimatable.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = IBAnimatable.framework; path = IBAnimatable.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 1873B576DE03FC4BD2ED1BC9792A7F88 /* BorderType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BorderType.swift; path = Sources/Enums/BorderType.swift; sourceTree = ""; }; - 18764AAA427FE94EF57DEEE1EE344FB3 /* LOTPathAnimator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTPathAnimator.h; path = "lottie-ios/Classes/RenderSystem/AnimatorNodes/LOTPathAnimator.h"; sourceTree = ""; }; - 19DBC2D37689D24C2C9C2DDF6DFB883C /* Alamofire.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Alamofire.xcconfig; sourceTree = ""; }; - 1A3EBBD6FE7169C3557CD3AE9A4AA527 /* NSLayoutConstraint+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSLayoutConstraint+Rx.swift"; path = "RxCocoa/Common/NSLayoutConstraint+Rx.swift"; sourceTree = ""; }; - 1A41B82129142670872F3A6F7FD0597F /* RxSwift-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RxSwift-umbrella.h"; sourceTree = ""; }; - 1ABBE4FBC2BA053B1FD0EFF1FABE3D2A /* ConstraintOffsetTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintOffsetTarget.swift; path = Source/ConstraintOffsetTarget.swift; sourceTree = ""; }; - 1AD3CC088660203742FF8ADEB5965B48 /* ActivityIndicatorAnimationBallZigZag.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorAnimationBallZigZag.swift; path = Sources/ActivityIndicators/Animations/ActivityIndicatorAnimationBallZigZag.swift; sourceTree = ""; }; - 1B09AE85829096D6E6DCB2C25910015B /* HelpingMapper.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HelpingMapper.swift; path = Source/HelpingMapper.swift; sourceTree = ""; }; - 1B5AE7D2A4836410B4324A01AF4641B8 /* Deprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Deprecated.swift; path = RxSwift/Deprecated.swift; sourceTree = ""; }; - 1B8D0BC9B8877FF1903820BBECDE1085 /* SnapKit.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SnapKit.xcconfig; sourceTree = ""; }; - 1C67AD783E4542135BB06E7B8A2B8DE1 /* SVRadialGradientLayer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SVRadialGradientLayer.m; path = SVProgressHUD/SVRadialGradientLayer.m; sourceTree = ""; }; - 1CD7151FC455CC23B9ACAB4C8163DAC8 /* TransitionPresenter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TransitionPresenter.swift; path = Sources/Animators/Common/TransitionPresenter.swift; sourceTree = ""; }; - 1D34B1C9BC775313499256BDC5AF99B2 /* SGPageContentScrollView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SGPageContentScrollView.m; path = SGPagingView/SGPageContent/SGPageContentScrollView.m; sourceTree = ""; }; - 1DA38988DBA019F3A26551B2BED2B07A /* SVProgressHUD.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SVProgressHUD.m; path = SVProgressHUD/SVProgressHUD.m; sourceTree = ""; }; - 1DB1331BF63923BADAC8031A067902BD /* CombineLatest+arity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "CombineLatest+arity.swift"; path = "RxSwift/Observables/CombineLatest+arity.swift"; sourceTree = ""; }; - 1E116E12E294301CE62A333D001BD76D /* IBAnimatable-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "IBAnimatable-umbrella.h"; sourceTree = ""; }; - 1E4D332B367E54401BD33230AD29A953 /* BMPlayer-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "BMPlayer-prefix.pch"; sourceTree = ""; }; - 1E71E68BF7B1A461677910CE8E05513F /* Switch.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Switch.swift; path = RxSwift/Observables/Switch.swift; sourceTree = ""; }; - 1EA14736959AFCC5BFDF804CEF5A073B /* InfiniteSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = InfiniteSequence.swift; path = Platform/DataStructures/InfiniteSequence.swift; sourceTree = ""; }; - 1F37113383666D43DBF467A4B17C8B6F /* RxSwift-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RxSwift-prefix.pch"; sourceTree = ""; }; - 1FBA3B5AA789EAF5083DF4D34517D047 /* Constraint.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Constraint.swift; path = Source/Constraint.swift; sourceTree = ""; }; - 204E8238FBB5A2AC371B8D67B1D16277 /* MJRefreshAutoFooter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshAutoFooter.m; path = MJRefresh/Base/MJRefreshAutoFooter.m; sourceTree = ""; }; - 20954A2A132601E2AA6FA9B24498E2B6 /* Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Alamofire.swift; path = Source/Alamofire.swift; sourceTree = ""; }; - 217558C4544B1F77AA5841C7A35D1B36 /* Debugging.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Debugging.swift; path = Source/Debugging.swift; sourceTree = ""; }; - 21C40A2C11D30BB3BE186568CCC4E59C /* TakeWhile.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TakeWhile.swift; path = RxSwift/Observables/TakeWhile.swift; sourceTree = ""; }; - 21E3024926AA632789C19CB55B902855 /* ElementAt.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ElementAt.swift; path = RxSwift/Observables/ElementAt.swift; sourceTree = ""; }; - 22153E7966A48BB16DC3908648693E73 /* ZoomAnimator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZoomAnimator.swift; path = Sources/Animators/PresentationAnimator/ZoomAnimator.swift; sourceTree = ""; }; - 2241D4DB1F8AF61114D723571EEB34B2 /* Pod_Asset_BMPlayer.xcassets */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = folder.assetcatalog; name = Pod_Asset_BMPlayer.xcassets; path = Source/Pod_Asset_BMPlayer.xcassets; sourceTree = ""; }; - 2274F70E10582AE3A72201560A86CE59 /* BehaviorSubject.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BehaviorSubject.swift; path = RxSwift/Subjects/BehaviorSubject.swift; sourceTree = ""; }; - 22BFD17548A0D68024B39C47B8D99C31 /* AggregateFunctions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AggregateFunctions.swift; path = Sources/SQLite/Typed/AggregateFunctions.swift; sourceTree = ""; }; - 22CCF47BD82A4560E8CF79FA844D089E /* DelaySubscription.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DelaySubscription.swift; path = RxSwift/Observables/DelaySubscription.swift; sourceTree = ""; }; - 2314D12F535DE26AA9FED09C4BD1E9CC /* NSObject+Rx+RawRepresentable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSObject+Rx+RawRepresentable.swift"; path = "RxCocoa/Foundation/NSObject+Rx+RawRepresentable.swift"; sourceTree = ""; }; + 006D08C1B66811CB78C39539E06F0863 /* MJRefreshHeader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshHeader.m; path = MJRefresh/Base/MJRefreshHeader.m; sourceTree = ""; }; + 007AB89F7C2377B642A9496D54176E48 /* ColorType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ColorType.swift; path = Sources/Enums/ColorType.swift; sourceTree = ""; }; + 00B19D41B5B7644FBCDDEBD6C220699F /* SVProgressHUD.bundle */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "wrapper.plug-in"; name = SVProgressHUD.bundle; path = SVProgressHUD/SVProgressHUD.bundle; sourceTree = ""; }; + 00BADAC5E6217FE65E242EDDC6A54F3D /* NVActivityIndicatorViewable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorViewable.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Presenter/NVActivityIndicatorViewable.swift; sourceTree = ""; }; + 01712A0A88100D4F47D388A4F4BD1E84 /* UIPageControl+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIPageControl+Rx.swift"; path = "RxCocoa/iOS/UIPageControl+Rx.swift"; sourceTree = ""; }; + 01CA2ACBFBA9681986447CE4D3FA6076 /* ConstraintMultiplierTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMultiplierTarget.swift; path = Source/ConstraintMultiplierTarget.swift; sourceTree = ""; }; + 01ED90D1644D01C0F7A2766D7D759E2D /* LOTAssetGroup.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTAssetGroup.m; path = "lottie-ios/Classes/Models/LOTAssetGroup.m"; sourceTree = ""; }; + 01F7DA439F38212DD0D8929346DEC6D5 /* UINavigationController+FDFullscreenPopGesture.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UINavigationController+FDFullscreenPopGesture.h"; path = "FDFullscreenPopGesture/UINavigationController+FDFullscreenPopGesture.h"; sourceTree = ""; }; + 0222A154712DAC63DB71D6664E42E6A5 /* NotificationCenter+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NotificationCenter+Rx.swift"; path = "RxCocoa/Foundation/NotificationCenter+Rx.swift"; sourceTree = ""; }; + 022780496B95F0C1C8355D4644AA968D /* Debounce.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Debounce.swift; path = RxSwift/Observables/Debounce.swift; sourceTree = ""; }; + 022C6BDD4FD67F4C1B6EC83AB83DB4BB /* _RXKVOObserver.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _RXKVOObserver.m; path = RxCocoa/Runtime/_RXKVOObserver.m; sourceTree = ""; }; + 033A896FFFA200730CD806B7341F86CF /* LOTRadialGradientLayer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTRadialGradientLayer.h; path = "lottie-ios/Classes/Extensions/LOTRadialGradientLayer.h"; sourceTree = ""; }; + 035563E120B2280513273C1FA0B42FB7 /* SchedulerType+SharedSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "SchedulerType+SharedSequence.swift"; path = "RxCocoa/Traits/SharedSequence/SchedulerType+SharedSequence.swift"; sourceTree = ""; }; + 03666BE69F668E66EFCA983101415022 /* AsMaybe.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AsMaybe.swift; path = RxSwift/Observables/AsMaybe.swift; sourceTree = ""; }; + 0454AABCB7B80F307C522AB3E8ABC65D /* AnimatableTabBarController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnimatableTabBarController.swift; path = Sources/Controllers/AnimatableTabBarController.swift; sourceTree = ""; }; + 0462A13DE352D5015B7954FD0D091B28 /* RxCocoa-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RxCocoa-umbrella.h"; sourceTree = ""; }; + 04896ED4BE5D6C38B9153E79C92E9591 /* LOTShapeRepeater.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTShapeRepeater.m; path = "lottie-ios/Classes/Models/LOTShapeRepeater.m"; sourceTree = ""; }; + 04DAAE74DF86DF1150A3304F46E679FA /* LOTFillRenderer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTFillRenderer.h; path = "lottie-ios/Classes/RenderSystem/RenderNodes/LOTFillRenderer.h"; sourceTree = ""; }; + 04E6A1714DA9F362583C70FFB2F95DFF /* UIButton+Kingfisher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIButton+Kingfisher.swift"; path = "Sources/UIButton+Kingfisher.swift"; sourceTree = ""; }; + 0540F073BA5ECA990AEBA068B412C643 /* SQLite.swift.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SQLite.swift.xcconfig; sourceTree = ""; }; + 0561DD43EAAD0FF1C41DF8A4C64BDFF1 /* ConstraintView+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ConstraintView+Extensions.swift"; path = "Source/ConstraintView+Extensions.swift"; sourceTree = ""; }; + 05708780DE05AF5DED1436B32CBD8B89 /* Constraint.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Constraint.swift; path = Source/Constraint.swift; sourceTree = ""; }; + 057C8C6069429574AD656BE717688BAD /* SQLite.swift.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SQLite.swift.modulemap; sourceTree = ""; }; + 0583D968A57FDB5C589049A6953402C8 /* LOTPathInterpolator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTPathInterpolator.h; path = "lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTPathInterpolator.h"; sourceTree = ""; }; + 05A5D4711A5A34E365F01EBDC2FF31A3 /* DelaySubscription.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DelaySubscription.swift; path = RxSwift/Observables/DelaySubscription.swift; sourceTree = ""; }; + 05F2498B4C279CD4AAD2A1948234726F /* ActivityIndicatorAnimationBallSpinFadeLoader.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorAnimationBallSpinFadeLoader.swift; path = Sources/ActivityIndicators/Animations/ActivityIndicatorAnimationBallSpinFadeLoader.swift; sourceTree = ""; }; + 063102306C5A4EF6E341D535CBF71013 /* UIDatePicker+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIDatePicker+Rx.swift"; path = "RxCocoa/iOS/UIDatePicker+Rx.swift"; sourceTree = ""; }; + 0760A17DB776D9144244C60AF0BE67D1 /* LOTCircleAnimator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTCircleAnimator.m; path = "lottie-ios/Classes/RenderSystem/AnimatorNodes/LOTCircleAnimator.m"; sourceTree = ""; }; + 07CEBF2EFD8D339657EDAC9EC6375B2A /* CALayerExtension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CALayerExtension.swift; path = Sources/Extensions/CALayerExtension.swift; sourceTree = ""; }; + 07F65ACC3A3AECB45197FF0FDBE92F7A /* LOTKeyframe.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTKeyframe.h; path = "lottie-ios/Classes/AnimatableProperties/LOTKeyframe.h"; sourceTree = ""; }; + 0873D918FC28C38DA186B6731642D4DC /* LOTKeyframe.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTKeyframe.m; path = "lottie-ios/Classes/AnimatableProperties/LOTKeyframe.m"; sourceTree = ""; }; + 08882D9E84728BB8CC325CCA274A7A2A /* BMPlayer.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = BMPlayer.xcconfig; sourceTree = ""; }; + 08AD1FD79D39507317F916202EF5E234 /* LockOwnerType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LockOwnerType.swift; path = RxSwift/Concurrency/LockOwnerType.swift; sourceTree = ""; }; + 08B2DC9D70CA1F3DFA74FD5E24949DCE /* HandyJSON.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = HandyJSON.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 0900930FF7D46341C3351EF6374A76DB /* RxSwift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = RxSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 094AF28F5114A6B8FB8CFB544B3716EC /* ThemeImagePicker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ThemeImagePicker.swift; path = Source/ThemeImagePicker.swift; sourceTree = ""; }; + 096ED65BA30877202082792141B97773 /* Resource.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Resource.swift; path = Sources/Resource.swift; sourceTree = ""; }; + 098CAAFEDB3E34D5B5FDF3817AF4151C /* PrimitiveSequence+Zip+arity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "PrimitiveSequence+Zip+arity.swift"; path = "RxSwift/Traits/PrimitiveSequence+Zip+arity.swift"; sourceTree = ""; }; + 09E557D29F303635D9316E9E64BE0E3A /* DisposeBase.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DisposeBase.swift; path = RxSwift/Disposables/DisposeBase.swift; sourceTree = ""; }; + 0A40DA1BD376E21A8B955044E6A837E3 /* LayoutConstraintItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LayoutConstraintItem.swift; path = Source/LayoutConstraintItem.swift; sourceTree = ""; }; + 0A4C13C688AA4A346BE889FCB58E9725 /* HandyJSON-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "HandyJSON-umbrella.h"; sourceTree = ""; }; + 0A4FDBA982D791203E1F2C786C6B0A7A /* NSBundle+MJRefresh.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSBundle+MJRefresh.m"; path = "MJRefresh/NSBundle+MJRefresh.m"; sourceTree = ""; }; + 0A6D034D6B9561C5D3847241097EC8BD /* BlurDesignable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlurDesignable.swift; path = Sources/Protocols/Designable/BlurDesignable.swift; sourceTree = ""; }; + 0A7DF293AD213C15C7A54A8C044E73D2 /* Range.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Range.swift; path = RxSwift/Observables/Range.swift; sourceTree = ""; }; + 0AA55B1C8FCF414BC03A5E48A97EC080 /* SnapKit.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SnapKit.xcconfig; sourceTree = ""; }; + 0B271A65B90855DB46E2EDD9AECCC475 /* GradientDesignable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GradientDesignable.swift; path = Sources/Protocols/Designable/GradientDesignable.swift; sourceTree = ""; }; + 0B5957D4C538B58713FD05FA76DC9C0F /* PresentFoldWithDismissInteractionSegue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PresentFoldWithDismissInteractionSegue.swift; path = Sources/Segues/PresentFoldWithDismissInteractionSegue.swift; sourceTree = ""; }; + 0BA4445A6DCA67F19DD6A515FF0F1D7E /* BMTimeSlider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BMTimeSlider.swift; path = Source/BMTimeSlider.swift; sourceTree = ""; }; + 0BE3C675564604EF8BE3491608F6AD00 /* ThemeManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ThemeManager.swift; path = Source/ThemeManager.swift; sourceTree = ""; }; + 0C3E92227F0D4BC57D6208210DDA8460 /* SwiftyJSON-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SwiftyJSON-dummy.m"; sourceTree = ""; }; + 0C579F16C0E9F97B70201EC5FC8D54D1 /* _RX.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _RX.h; path = RxCocoa/Runtime/include/_RX.h; sourceTree = ""; }; + 0C988A4474E1B520BCF1A7F63C49334A /* SwiftyJSON.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SwiftyJSON.swift; path = Source/SwiftyJSON.swift; sourceTree = ""; }; + 0CBAAEE6A7AB4408C7EC85281D751F50 /* BuiltInBasicType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BuiltInBasicType.swift; path = Source/BuiltInBasicType.swift; sourceTree = ""; }; + 0CE4BF46C69FD87A824E92326693828A /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 0D2132BD92166C87A50DC69EBAA9008C /* NVActivityIndicatorAnimationBallScaleMultiple.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallScaleMultiple.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallScaleMultiple.swift; sourceTree = ""; }; + 0DAFF40A47602A5811D9F3B3141BB1AD /* Alamofire-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Alamofire-umbrella.h"; sourceTree = ""; }; + 0E2BCFFD36A09538CDBCEC8BA2CB3716 /* ItemEvents.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ItemEvents.swift; path = RxCocoa/iOS/Events/ItemEvents.swift; sourceTree = ""; }; + 0E4F47A650107BC0C1BEB709ED2AC24E /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 0E649B38675E386F0660BB5FB9A50678 /* RxPickerViewDataSourceProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxPickerViewDataSourceProxy.swift; path = RxCocoa/iOS/Proxies/RxPickerViewDataSourceProxy.swift; sourceTree = ""; }; + 0E676D570794FC439396F7E7C3F27474 /* LOTLayerGroup.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTLayerGroup.h; path = "lottie-ios/Classes/Models/LOTLayerGroup.h"; sourceTree = ""; }; + 0E95971092184128EB2C2753331D0436 /* ActivityIndicatorAnimationTriangleSkewSpin.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorAnimationTriangleSkewSpin.swift; path = Sources/ActivityIndicators/Animations/ActivityIndicatorAnimationTriangleSkewSpin.swift; sourceTree = ""; }; + 0F19B157102AE66F7D465C28A91FDDCA /* AnimatedPresenting.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnimatedPresenting.swift; path = Sources/Protocols/TransitionAnimatable/AnimatedPresenting.swift; sourceTree = ""; }; + 0FCCFD3DE226412E86843BDD7164CA5E /* LOTShapeCircle.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTShapeCircle.m; path = "lottie-ios/Classes/Models/LOTShapeCircle.m"; sourceTree = ""; }; + 10034189A51CD08F2A3DE044F9E908AE /* LOTShapeStar.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTShapeStar.h; path = "lottie-ios/Classes/Models/LOTShapeStar.h"; sourceTree = ""; }; + 105CD321C127A6648D6C1E9145AF782E /* String+MD5.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+MD5.swift"; path = "Sources/String+MD5.swift"; sourceTree = ""; }; + 10817844FD4A4FA273856C2A4FF1EA3B /* TakeWhile.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TakeWhile.swift; path = RxSwift/Observables/TakeWhile.swift; sourceTree = ""; }; + 10D23F821F34BCAE19BC118CBAC20325 /* NVActivityIndicatorAnimationTriangleSkewSpin.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationTriangleSkewSpin.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationTriangleSkewSpin.swift; sourceTree = ""; }; + 11137643AE8FF51B5B06C48F40390BC1 /* LOTHelpers.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTHelpers.h; path = "lottie-ios/Classes/Extensions/LOTHelpers.h"; sourceTree = ""; }; + 113756DE167A2362A92911AB0D74696C /* MJRefreshAutoNormalFooter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshAutoNormalFooter.h; path = MJRefresh/Custom/Footer/Auto/MJRefreshAutoNormalFooter.h; sourceTree = ""; }; + 11C64C85870504CCFF8142069617C010 /* SQLite-Bridging.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "SQLite-Bridging.h"; path = "Sources/SQLiteObjc/include/SQLite-Bridging.h"; sourceTree = ""; }; + 11E9439664D7041E8C865EC2672AE26B /* LOTPlatformCompat.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTPlatformCompat.h; path = "lottie-ios/Classes/MacCompatability/LOTPlatformCompat.h"; sourceTree = ""; }; + 12422A642FEFD2B092D5113762D836AA /* RxCocoa-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "RxCocoa-dummy.m"; sourceTree = ""; }; + 129C8B9834E29E580E09B4D586AEC546 /* ActivityIndicatorAnimationBallZigZag.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorAnimationBallZigZag.swift; path = Sources/ActivityIndicators/Animations/ActivityIndicatorAnimationBallZigZag.swift; sourceTree = ""; }; + 12EDE83890AFF6571CF34C7E58A4197A /* ElementAt.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ElementAt.swift; path = RxSwift/Observables/ElementAt.swift; sourceTree = ""; }; + 13064C4ADB4A857638D1EBEB7B5C74EE /* Lottie.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Lottie.h; path = "lottie-ios/Classes/PublicHeaders/Lottie.h"; sourceTree = ""; }; + 131A7015CD2D8E822B090F7ED38E49CC /* PresentationPresenterManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PresentationPresenterManager.swift; path = Sources/Animators/Common/PresentationPresenterManager.swift; sourceTree = ""; }; + 13ABACD971570B78C43C6D9151DD855A /* lottie-ios-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "lottie-ios-dummy.m"; sourceTree = ""; }; + 140ACCCC61827B42E09980DDEEBCE5D8 /* AnimatableCheckBox.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnimatableCheckBox.swift; path = Sources/Views/AnimatableCheckBox.swift; sourceTree = ""; }; + 1414A2B53C89102DA9E59FFABD5A27E8 /* NSObject+Rx+RawRepresentable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSObject+Rx+RawRepresentable.swift"; path = "RxCocoa/Foundation/NSObject+Rx+RawRepresentable.swift"; sourceTree = ""; }; + 141660F7A04F7473EB4F2032A7BB1AA2 /* PointerType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PointerType.swift; path = Source/PointerType.swift; sourceTree = ""; }; + 141CE0861745848B89970AACDC0A4476 /* DesignableNavigationBar.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DesignableNavigationBar.swift; path = Sources/Views/DesignableNavigationBar.swift; sourceTree = ""; }; + 143644EF92A70E4D160C78B819650BCB /* NVActivityIndicatorShape.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorShape.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/NVActivityIndicatorShape.swift; sourceTree = ""; }; + 14BA1B3D41415681C5E4DB19C0E6E816 /* Coding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Coding.swift; path = Sources/SQLite/Typed/Coding.swift; sourceTree = ""; }; + 15B3CBD39226136E02B85D74924A6F59 /* Repeat.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Repeat.swift; path = RxSwift/Observables/Repeat.swift; sourceTree = ""; }; + 15CEB98B3C4079ED8B1F13BB265A8134 /* CheckBoxDesignable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CheckBoxDesignable.swift; path = Sources/Protocols/Designable/CheckBoxDesignable.swift; sourceTree = ""; }; + 164E7A800E2619B528173C18B508DB6B /* BehaviorRelay.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BehaviorRelay.swift; path = RxCocoa/Traits/BehaviorRelay.swift; sourceTree = ""; }; + 168C7A8F85E51FBD98FA68775F6C4F4F /* Throttle.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Throttle.swift; path = RxSwift/Observables/Throttle.swift; sourceTree = ""; }; + 169BDC417E3E8E68F93E89AF317708A7 /* LOTArrayInterpolator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTArrayInterpolator.m; path = "lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTArrayInterpolator.m"; sourceTree = ""; }; + 16D9BD3C29DF7BB70825ED4E24BF2487 /* UIBezierPath.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = UIBezierPath.m; path = "lottie-ios/Classes/MacCompatability/UIBezierPath.m"; sourceTree = ""; }; + 173C2D449DB38E3218CB457242A8B658 /* NVActivityIndicatorAnimationBallScaleRipple.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallScaleRipple.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallScaleRipple.swift; sourceTree = ""; }; + 17413B60A0B63B4634313EA11B706DB4 /* PresentationDesignable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PresentationDesignable.swift; path = Sources/Protocols/Designable/PresentationDesignable.swift; sourceTree = ""; }; + 17B022E3DEC0927DD8B9628D76EEF8C7 /* AnimatableActivityIndicatorView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnimatableActivityIndicatorView.swift; path = Sources/Views/AnimatableActivityIndicatorView.swift; sourceTree = ""; }; + 17C2B7E4C3336222755DD7D00856BC9A /* ActivityIndicatorAnimationBallRotate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorAnimationBallRotate.swift; path = Sources/ActivityIndicators/Animations/ActivityIndicatorAnimationBallRotate.swift; sourceTree = ""; }; + 17C9E7B67A2EE0FC46090B81A71B3FA7 /* ActivityIndicatorAnimationLineSpinFadeLoader.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorAnimationLineSpinFadeLoader.swift; path = Sources/ActivityIndicators/Animations/ActivityIndicatorAnimationLineSpinFadeLoader.swift; sourceTree = ""; }; + 1868D53B80F069BD2B9C74B5AF983979 /* IBAnimatable.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = IBAnimatable.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 18A151E9D70A368FEB692F0678049554 /* MJRefreshBackFooter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshBackFooter.m; path = MJRefresh/Base/MJRefreshBackFooter.m; sourceTree = ""; }; + 18A5043C4B6871D75B9B7DCCC0651CEC /* LOTStrokeRenderer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTStrokeRenderer.m; path = "lottie-ios/Classes/RenderSystem/RenderNodes/LOTStrokeRenderer.m"; sourceTree = ""; }; + 18B7011A94905143AEF447401F2F7825 /* LOTShapeTrimPath.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTShapeTrimPath.m; path = "lottie-ios/Classes/Models/LOTShapeTrimPath.m"; sourceTree = ""; }; + 18BB05CCB1A9DED04A0CA7F42C89B868 /* BorderSide.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BorderSide.swift; path = Sources/Enums/BorderSide.swift; sourceTree = ""; }; + 18C8C585612D3F072EFCEAE381E1B48C /* NVActivityIndicatorAnimationCubeTransition.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationCubeTransition.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationCubeTransition.swift; sourceTree = ""; }; + 1918556AA41E49EDB97E9E1DD549B8A7 /* LOTShapeFill.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTShapeFill.h; path = "lottie-ios/Classes/Models/LOTShapeFill.h"; sourceTree = ""; }; + 19A07F2E53385E3AAAD8B284EC136D18 /* Animatable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Animatable.swift; path = Sources/Protocols/Animatable/Animatable.swift; sourceTree = ""; }; + 19CDB4CDFCC7F12B0A6CF0D31D29C03E /* LOTNumberInterpolator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTNumberInterpolator.h; path = "lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTNumberInterpolator.h"; sourceTree = ""; }; + 1A0FEA5F9843EADC4D4B73E71096FDF9 /* SwiftTheme-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SwiftTheme-dummy.m"; sourceTree = ""; }; + 1A2670B9E5881C22F21D8F0813B85CB8 /* AFError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AFError.swift; path = Source/AFError.swift; sourceTree = ""; }; + 1B47CAA0F8F347E7C131B50195955F76 /* ObservableConvertibleType+Signal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ObservableConvertibleType+Signal.swift"; path = "RxCocoa/Traits/Signal/ObservableConvertibleType+Signal.swift"; sourceTree = ""; }; + 1B4F6566A265D9F59DB84FCABD28EA49 /* SGPageContentScrollView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SGPageContentScrollView.h; path = SGPagingView/SGPageContent/SGPageContentScrollView.h; sourceTree = ""; }; + 1B89F255263D22BF16059A33615AE081 /* InteractiveGestureType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = InteractiveGestureType.swift; path = Sources/Enums/InteractiveGestureType.swift; sourceTree = ""; }; + 1BB5E1E996EDB58160CA807FF5B3E68B /* Reduce.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Reduce.swift; path = RxSwift/Observables/Reduce.swift; sourceTree = ""; }; + 1BE1DE48E29CAE28AD0188B1748FD99C /* FoldAnimator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FoldAnimator.swift; path = Sources/Animators/TransitionAnimator/FoldAnimator.swift; sourceTree = ""; }; + 1C6E7F63F9B6B927CF3154BBAF69C250 /* String+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+Rx.swift"; path = "RxSwift/Extensions/String+Rx.swift"; sourceTree = ""; }; + 1C889C3FC97707D340D10F9027D9B27F /* Sample.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Sample.swift; path = RxSwift/Observables/Sample.swift; sourceTree = ""; }; + 1C961691A21933D7592F1B9159940EB2 /* BMPlayer-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "BMPlayer-umbrella.h"; sourceTree = ""; }; + 1CA5F8A15EBC2CFF54C945D571EAFB95 /* ActivityIndicatorShape.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorShape.swift; path = Sources/ActivityIndicators/Common/ActivityIndicatorShape.swift; sourceTree = ""; }; + 1CFD2D2D7D2607D4ED17BFD2631E75BA /* ExplodeAnimator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExplodeAnimator.swift; path = Sources/Animators/TransitionAnimator/ExplodeAnimator.swift; sourceTree = ""; }; + 1D2AD0BE3DDBBD5D4E5D9DAD293FF7FE /* ContainerTransition.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ContainerTransition.swift; path = Sources/Animators/Common/ContainerTransition.swift; sourceTree = ""; }; + 1D860B007C033DC17EF168503BEC453A /* Deserializer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Deserializer.swift; path = Source/Deserializer.swift; sourceTree = ""; }; + 1DE1EB39180D3DA48B62730459C8C9FC /* Scan.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Scan.swift; path = RxSwift/Observables/Scan.swift; sourceTree = ""; }; + 1E2880E8283E55FA4520EEE39CB7B376 /* LOTCircleAnimator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTCircleAnimator.h; path = "lottie-ios/Classes/RenderSystem/AnimatorNodes/LOTCircleAnimator.h"; sourceTree = ""; }; + 1F2530C1F6DC512D25385331D522483D /* UITableView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UITableView+Rx.swift"; path = "RxCocoa/iOS/UITableView+Rx.swift"; sourceTree = ""; }; + 1F53A262726597D17901E9CE46012AAF /* MJRefreshBackGifFooter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshBackGifFooter.h; path = MJRefresh/Custom/Footer/Back/MJRefreshBackGifFooter.h; sourceTree = ""; }; + 1F75533BCB19C86129017345228A7FEF /* LOTKeypath.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTKeypath.m; path = "lottie-ios/Classes/Private/LOTKeypath.m"; sourceTree = ""; }; + 204BB415F4D2C8FEF10B663E81DD2306 /* SingleAssignmentDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SingleAssignmentDisposable.swift; path = RxSwift/Disposables/SingleAssignmentDisposable.swift; sourceTree = ""; }; + 20B17F54B12ABE32630E630C2EA56A4D /* PresentNatGeoSegue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PresentNatGeoSegue.swift; path = Sources/Segues/PresentNatGeoSegue.swift; sourceTree = ""; }; + 210AD680E63F6D8E12725113F3D469EB /* MJRefreshBackFooter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshBackFooter.h; path = MJRefresh/Base/MJRefreshBackFooter.h; sourceTree = ""; }; + 21BE0FD97575C4B8F8648F415702A7F4 /* Response.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Response.swift; path = Source/Response.swift; sourceTree = ""; }; + 21DB9DD726BC4891A280CCCDB387D234 /* BarButtonItemDesignable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BarButtonItemDesignable.swift; path = Sources/Protocols/Designable/BarButtonItemDesignable.swift; sourceTree = ""; }; + 21F5B2CB19BDF9527AA1C48E583A8B47 /* PresentationBackgroundView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PresentationBackgroundView.swift; path = Sources/Controllers/PresentationBackgroundView.swift; sourceTree = ""; }; + 22292FCC9C602EA61750E5D20D1607E3 /* NSObject+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSObject+Rx.swift"; path = "RxCocoa/Foundation/NSObject+Rx.swift"; sourceTree = ""; }; + 223B416987A24AEC24B0E6EA43E09A08 /* InfiniteSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = InfiniteSequence.swift; path = Platform/DataStructures/InfiniteSequence.swift; sourceTree = ""; }; + 226A5671D1A96ABE4CECB0B87D5506DB /* LOTCompositionContainer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTCompositionContainer.h; path = "lottie-ios/Classes/AnimatableLayers/LOTCompositionContainer.h"; sourceTree = ""; }; + 22D5BC745308F5411ED17E06D53E118C /* LOTAnimatedControl.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTAnimatedControl.m; path = "lottie-ios/Classes/Private/LOTAnimatedControl.m"; sourceTree = ""; }; + 23059ADD7F4D5BD124C1D1435019BB88 /* UIApplication+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIApplication+Rx.swift"; path = "RxCocoa/iOS/UIApplication+Rx.swift"; sourceTree = ""; }; 233D9DA986ACE8F0A8734B129D658506 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; - 23CB47F089A37F60C2C30648DB1DF088 /* RxCollectionViewReactiveArrayDataSource.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxCollectionViewReactiveArrayDataSource.swift; path = RxCocoa/iOS/DataSources/RxCollectionViewReactiveArrayDataSource.swift; sourceTree = ""; }; - 23F9D1C890AF80AEC93D124A6A137364 /* LOTStrokeRenderer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTStrokeRenderer.m; path = "lottie-ios/Classes/RenderSystem/RenderNodes/LOTStrokeRenderer.m"; sourceTree = ""; }; - 24D15EBB82974262BEDCE7CCDBC1C99F /* ActivityIndicatorAnimationLineSpinFadeLoader.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorAnimationLineSpinFadeLoader.swift; path = Sources/ActivityIndicators/Animations/ActivityIndicatorAnimationLineSpinFadeLoader.swift; sourceTree = ""; }; - 24E3459F096285E8BCBCF18B8E2BAAB3 /* AnimatableTabBarController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnimatableTabBarController.swift; path = Sources/Controllers/AnimatableTabBarController.swift; sourceTree = ""; }; - 25362B715E820CE4468C76AF3AE05360 /* EnumType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EnumType.swift; path = Source/EnumType.swift; sourceTree = ""; }; - 25BA3118BED66CB487D33E050F78FFC2 /* SVProgressHUD.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SVProgressHUD.h; path = SVProgressHUD/SVProgressHUD.h; sourceTree = ""; }; - 25E97FA92A9B3E12A89B8C18B47CEEF1 /* NVActivityIndicatorAnimationBallScaleMultiple.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallScaleMultiple.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallScaleMultiple.swift; sourceTree = ""; }; - 260F5F2ACC19C38EC2779233AFE3EEFD /* RxSwift-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "RxSwift-dummy.m"; sourceTree = ""; }; - 26F152EBEF092CABAADB6AF5258BB543 /* DispatchQueueConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DispatchQueueConfiguration.swift; path = RxSwift/Schedulers/Internal/DispatchQueueConfiguration.swift; sourceTree = ""; }; - 270FA3A96A373887B074091D726AA287 /* LOTPathInterpolator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTPathInterpolator.m; path = "lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTPathInterpolator.m"; sourceTree = ""; }; - 2747193EF86B91D67A15CB03679A1F8E /* BorderDesignable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BorderDesignable.swift; path = Sources/Protocols/Designable/BorderDesignable.swift; sourceTree = ""; }; - 275E0B1A851A23390848AC14266605B6 /* ShareReplayScope.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ShareReplayScope.swift; path = RxSwift/Observables/ShareReplayScope.swift; sourceTree = ""; }; - 276A948295C315F75EEDDC0B100B6D52 /* RxCollectionViewDataSourceProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxCollectionViewDataSourceProxy.swift; path = RxCocoa/iOS/Proxies/RxCollectionViewDataSourceProxy.swift; sourceTree = ""; }; - 278796E39B63CFFAD34B2291622A3972 /* LOTGradientFillRender.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTGradientFillRender.m; path = "lottie-ios/Classes/RenderSystem/RenderNodes/LOTGradientFillRender.m"; sourceTree = ""; }; + 233DD7A36CEF398FC7D48CB1582A1CEC /* UINavigationController+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UINavigationController+Rx.swift"; path = "RxCocoa/iOS/UINavigationController+Rx.swift"; sourceTree = ""; }; + 23A6D21E34E26AECC8D241A405B30113 /* DelegateProxyType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DelegateProxyType.swift; path = RxCocoa/Common/DelegateProxyType.swift; sourceTree = ""; }; + 23B28089F809F0B728758CE59814E7DC /* BMPlayerProtocols.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BMPlayerProtocols.swift; path = Source/BMPlayerProtocols.swift; sourceTree = ""; }; + 23D96781DC61730ADE96BC0BF5F6717B /* SerialDispatchQueueScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SerialDispatchQueueScheduler.swift; path = RxSwift/Schedulers/SerialDispatchQueueScheduler.swift; sourceTree = ""; }; + 23E33F3DFB2801CC2832AAAC0ACC8B57 /* Timeline.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Timeline.swift; path = Source/Timeline.swift; sourceTree = ""; }; + 2441AECAC966A445BFE10002F09A0DC3 /* ThemePicker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ThemePicker.swift; path = Source/ThemePicker.swift; sourceTree = ""; }; + 24E21DA249A61C4B72304A7846BA5B70 /* RxNavigationControllerDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxNavigationControllerDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxNavigationControllerDelegateProxy.swift; sourceTree = ""; }; + 258A91D2958638FE967E1286F561FD6D /* SynchronizedOnType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SynchronizedOnType.swift; path = RxSwift/Concurrency/SynchronizedOnType.swift; sourceTree = ""; }; + 25C7671E04155B1AFCE855D04E677867 /* RootWindowDesignable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RootWindowDesignable.swift; path = Sources/Protocols/Designable/RootWindowDesignable.swift; sourceTree = ""; }; + 260C2AEFA097C8D34FC604A9352C73FE /* RxTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTarget.swift; path = RxCocoa/Common/RxTarget.swift; sourceTree = ""; }; + 262B8FEADE5DE373CA12B51363C5B9DA /* ReplaySubject.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ReplaySubject.swift; path = RxSwift/Subjects/ReplaySubject.swift; sourceTree = ""; }; + 2656056F3D623926A160A2C6C636B30B /* SVIndefiniteAnimatedView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SVIndefiniteAnimatedView.m; path = SVProgressHUD/SVIndefiniteAnimatedView.m; sourceTree = ""; }; + 2678875A28B2F2FE8C187B393AD058CC /* Queue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Queue.swift; path = Platform/DataStructures/Queue.swift; sourceTree = ""; }; + 268888B9FC2C4C2177CD5B4F319726EF /* RxCocoa.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RxCocoa.h; path = RxCocoa/RxCocoa.h; sourceTree = ""; }; + 26A43566805A037BFE51F4781135C90F /* LOTLayer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTLayer.m; path = "lottie-ios/Classes/Models/LOTLayer.m"; sourceTree = ""; }; + 270488D94A9D1CE214E4E634143D27A4 /* UIView+MJExtension.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIView+MJExtension.h"; path = "MJRefresh/UIView+MJExtension.h"; sourceTree = ""; }; + 2728E710461EE5BAA5B123D4B2C436AE /* LOTRenderNode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTRenderNode.m; path = "lottie-ios/Classes/RenderSystem/LOTRenderNode.m"; sourceTree = ""; }; 27A1CB008036FD58825910CF7EAF8286 /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/AVFoundation.framework; sourceTree = DEVELOPER_DIR; }; - 27DC22D76C20CC4C5E475D62860B40DE /* UIScrollView+MJExtension.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIScrollView+MJExtension.h"; path = "MJRefresh/UIScrollView+MJExtension.h"; sourceTree = ""; }; - 280843A26E60E1EFB138C2B4C803D1AC /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 280F2FA353CE9C180D30F01F131553A5 /* Lottie.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Lottie.h; path = "lottie-ios/Classes/PublicHeaders/Lottie.h"; sourceTree = ""; }; - 2846EF1D28B3D42CC695C122178A8D49 /* AFError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AFError.swift; path = Source/AFError.swift; sourceTree = ""; }; - 28738AB72A3811020BB17E146C4B9AA3 /* SVProgressHUD.bundle */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "wrapper.plug-in"; name = SVProgressHUD.bundle; path = SVProgressHUD/SVProgressHUD.bundle; sourceTree = ""; }; - 287997282FA9D72A9E11B94D65679581 /* SQLite.swift-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SQLite.swift-dummy.m"; sourceTree = ""; }; - 28C7860C52BDEBF48A16FA85CF7A9C74 /* ActivityIndicatorAnimationBallTrianglePath.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorAnimationBallTrianglePath.swift; path = Sources/ActivityIndicators/Animations/ActivityIndicatorAnimationBallTrianglePath.swift; sourceTree = ""; }; - 28F35301943CE6449EC7E839526C839A /* RxTableViewDataSourceProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTableViewDataSourceProxy.swift; path = RxCocoa/iOS/Proxies/RxTableViewDataSourceProxy.swift; sourceTree = ""; }; - 291EB4A7E6FB9B7DDB2D51067623A283 /* Timer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Timer.swift; path = RxSwift/Observables/Timer.swift; sourceTree = ""; }; - 293CA3ECDA667F47071EF0F4F0B04DED /* UISwitch+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UISwitch+Rx.swift"; path = "RxCocoa/iOS/UISwitch+Rx.swift"; sourceTree = ""; }; - 298BBA0DFABBE2329472285AA78E51DF /* NavigationBarDesginable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NavigationBarDesginable.swift; path = Sources/Protocols/Designable/NavigationBarDesginable.swift; sourceTree = ""; }; - 29973CA06A0614EF8E6205D636A338DC /* Window.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Window.swift; path = RxSwift/Observables/Window.swift; sourceTree = ""; }; - 299A2401484C06AFF142211737979A42 /* DefaultIfEmpty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DefaultIfEmpty.swift; path = RxSwift/Observables/DefaultIfEmpty.swift; sourceTree = ""; }; - 29A76F0CA92615B2C22FBEE806BD58C2 /* Zip+arity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Zip+arity.swift"; path = "RxSwift/Observables/Zip+arity.swift"; sourceTree = ""; }; - 29B69DFF7D69AD27C5736AEA592788DD /* AnimatablePresentationController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnimatablePresentationController.swift; path = Sources/Controllers/AnimatablePresentationController.swift; sourceTree = ""; }; - 29D970BC4A88ADB58933EEE25921B7E6 /* SharedSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SharedSequence.swift; path = RxCocoa/Traits/SharedSequence/SharedSequence.swift; sourceTree = ""; }; - 29E10FAFA813999DDDA3F230474CF067 /* UIDatePicker+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIDatePicker+Rx.swift"; path = "RxCocoa/iOS/UIDatePicker+Rx.swift"; sourceTree = ""; }; - 29E4ED58F389D2269E7CD54290B3A398 /* LOTFillRenderer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTFillRenderer.m; path = "lottie-ios/Classes/RenderSystem/RenderNodes/LOTFillRenderer.m"; sourceTree = ""; }; - 2AB1C03EA1742C7139642D1C2E6F4B9B /* SGPageContentScrollView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SGPageContentScrollView.h; path = SGPagingView/SGPageContent/SGPageContentScrollView.h; sourceTree = ""; }; - 2AF32E235640711199EA78D2F64AFA45 /* LOTPlatformCompat.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTPlatformCompat.h; path = "lottie-ios/Classes/MacCompatability/LOTPlatformCompat.h"; sourceTree = ""; }; - 2AFC82A05E8234A81CB1506B50376394 /* Delay.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Delay.swift; path = RxSwift/Observables/Delay.swift; sourceTree = ""; }; - 2B5FF2FAAACBBE7BB0DE875DCACA56BB /* CurrentThreadScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CurrentThreadScheduler.swift; path = RxSwift/Schedulers/CurrentThreadScheduler.swift; sourceTree = ""; }; - 2BCF8AEA6BF2CD7A4734639961EBAE64 /* NVActivityIndicatorAnimationBallTrianglePath.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallTrianglePath.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallTrianglePath.swift; sourceTree = ""; }; - 2BE5FA1D8E2BECCDB2318A076F950F6D /* Connection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Connection.swift; path = Sources/SQLite/Core/Connection.swift; sourceTree = ""; }; - 2C4C5A85A718955DA33F5062BE018BD3 /* CombineLatest+Collection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "CombineLatest+Collection.swift"; path = "RxSwift/Observables/CombineLatest+Collection.swift"; sourceTree = ""; }; + 27DA0D32B0211109EEA3009D54F4F3D6 /* SVRadialGradientLayer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SVRadialGradientLayer.h; path = SVProgressHUD/SVRadialGradientLayer.h; sourceTree = ""; }; + 28215A90429D79A7B3B404E9E3AB1480 /* Alamofire.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Alamofire.modulemap; sourceTree = ""; }; + 282A2038CFD0680C2FE07621E576F472 /* RxSearchControllerDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxSearchControllerDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxSearchControllerDelegateProxy.swift; sourceTree = ""; }; + 28641FC03802BF5870823E6BA2B1C43B /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 287D618687C3ACC728CF2313C8DE7FDB /* AsyncLock.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AsyncLock.swift; path = RxSwift/Concurrency/AsyncLock.swift; sourceTree = ""; }; + 287E566DE7E6D91534C924B14B39212B /* NavigationBarDesginable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NavigationBarDesginable.swift; path = Sources/Protocols/Designable/NavigationBarDesginable.swift; sourceTree = ""; }; + 287F842D2A60BC636215FDB2F82CEDE7 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 29A455405F6206958BE3C9B6F44DB3E0 /* MainScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MainScheduler.swift; path = RxSwift/Schedulers/MainScheduler.swift; sourceTree = ""; }; + 29F9CBB44ABDA066C0E533B406A0FDA0 /* UIScrollView+MJExtension.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIScrollView+MJExtension.m"; path = "MJRefresh/UIScrollView+MJExtension.m"; sourceTree = ""; }; + 29FBB098364F1D9AE34F5E4E99C1813D /* Buffer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Buffer.swift; path = RxSwift/Observables/Buffer.swift; sourceTree = ""; }; + 2AA649C5DFFB153D26C6473B3E74CBBB /* RxCollectionViewDataSourceProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxCollectionViewDataSourceProxy.swift; path = RxCocoa/iOS/Proxies/RxCollectionViewDataSourceProxy.swift; sourceTree = ""; }; + 2C6A6449A73D512BE7E821CFB27999CC /* ConstraintRelation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintRelation.swift; path = Source/ConstraintRelation.swift; sourceTree = ""; }; 2C7C898F5F650F65008E903708D884F9 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; }; - 2C9C436C6D9A4EF106151917CEC31945 /* NVActivityIndicatorAnimationPacman.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationPacman.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationPacman.swift; sourceTree = ""; }; - 2CDAB81BB64232C238ACE715AB244C11 /* MJRefreshAutoGifFooter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshAutoGifFooter.m; path = MJRefresh/Custom/Footer/Auto/MJRefreshAutoGifFooter.m; sourceTree = ""; }; - 2D23B3AB92CCA463334C97F083D4A166 /* ActivityIndicatorFactory.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorFactory.swift; path = Sources/ActivityIndicators/Common/ActivityIndicatorFactory.swift; sourceTree = ""; }; - 2E40CD7EA14296043B1F31BB548B88BB /* SGPagingView.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = SGPagingView.framework; path = SGPagingView.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 2E769E51044143DF5A6F2D28B2AAFED4 /* PresentationBackgroundView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PresentationBackgroundView.swift; path = Sources/Controllers/PresentationBackgroundView.swift; sourceTree = ""; }; - 2E897BB622EEFE953FF8F97F5099DA83 /* RxCocoa.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxCocoa.swift; path = RxCocoa/RxCocoa.swift; sourceTree = ""; }; + 2CC96AC404917B5BA077CED737480B2A /* IBAnimatable.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = IBAnimatable.modulemap; sourceTree = ""; }; + 2CF499307C3525026272724A4AF9D91F /* LOTShapeTransform.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTShapeTransform.h; path = "lottie-ios/Classes/Models/LOTShapeTransform.h"; sourceTree = ""; }; + 2CFA0E37FDAFEE10AF6F6EB7D906BDAB /* UIView+SGPagingView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIView+SGPagingView.h"; path = "SGPagingView/Category/UIView+SGPagingView.h"; sourceTree = ""; }; + 2D1F2065E7BC296A50F89C5F992ECE44 /* NVActivityIndicatorAnimationBallPulseRise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallPulseRise.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallPulseRise.swift; sourceTree = ""; }; + 2DFA8ADEFF83EF6947BC0BF76C0D3EDD /* UITabBar+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UITabBar+Rx.swift"; path = "RxCocoa/iOS/UITabBar+Rx.swift"; sourceTree = ""; }; + 2E058809C629DEA2F286F24E859734CE /* TransformType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TransformType.swift; path = Source/TransformType.swift; sourceTree = ""; }; + 2E39F2424532AA525BA89C265894B9B5 /* FDFullscreenPopGesture-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "FDFullscreenPopGesture-dummy.m"; sourceTree = ""; }; + 2E40CD7EA14296043B1F31BB548B88BB /* SGPagingView.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SGPagingView.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 2ED90AAF9B72D43DDC3BEC1B96C18CC2 /* SnapKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SnapKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 2F7C53C7FC6F1E08E3EE45E93A83F04A /* LOTRenderNode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTRenderNode.m; path = "lottie-ios/Classes/RenderSystem/LOTRenderNode.m"; sourceTree = ""; }; - 2FA7EB31E7506AC8B71C1AC5557E5EA5 /* ConstraintView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintView.swift; path = Source/ConstraintView.swift; sourceTree = ""; }; - 2FAB7E3B981BA9ACEB0D727A210DE84C /* PaddingDesignable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PaddingDesignable.swift; path = Sources/Protocols/Designable/PaddingDesignable.swift; sourceTree = ""; }; - 2FACF582BD3B542E1D7FD7965D01E3F3 /* SchedulerType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SchedulerType.swift; path = RxSwift/SchedulerType.swift; sourceTree = ""; }; - 2FCDD9E6A46D8493F7ACE8B3C8C752A5 /* LOTFillRenderer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTFillRenderer.h; path = "lottie-ios/Classes/RenderSystem/RenderNodes/LOTFillRenderer.h"; sourceTree = ""; }; - 302C9CB931107FA736A07AFFA69B6557 /* ParameterEncoding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ParameterEncoding.swift; path = Source/ParameterEncoding.swift; sourceTree = ""; }; - 30388FFF376A2A1672396F3CD05575B6 /* ActivityIndicatorAnimationTriangleSkewSpin.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorAnimationTriangleSkewSpin.swift; path = Sources/ActivityIndicators/Animations/ActivityIndicatorAnimationTriangleSkewSpin.swift; sourceTree = ""; }; - 307A0D460BCD2378C297F994AC8093C3 /* SVProgressHUD.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SVProgressHUD.xcconfig; sourceTree = ""; }; - 30B3615E92EC71C3F1789A88CCB83BD5 /* SwiftyJSON-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SwiftyJSON-prefix.pch"; sourceTree = ""; }; - 30B675752025DDCD0A8457947C47405E /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 30E7246682BF1E80A05CF95D88B8E904 /* TransitionAnimationType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TransitionAnimationType.swift; path = Sources/Enums/TransitionAnimationType.swift; sourceTree = ""; }; - 317BAB3D75FB5200C7E8602471ECE78A /* ObserverBase.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObserverBase.swift; path = RxSwift/Observers/ObserverBase.swift; sourceTree = ""; }; - 32B8F77A0B48AF0F5F3B344EEB4E41A1 /* RxCocoa-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "RxCocoa-dummy.m"; sourceTree = ""; }; - 32D674DBB835F511CAC9050FE8D55891 /* AnimatableTableView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnimatableTableView.swift; path = Sources/Views/AnimatableTableView.swift; sourceTree = ""; }; - 339F3206459610A285700DEBBCA444D2 /* _RX.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _RX.m; path = RxCocoa/Runtime/_RX.m; sourceTree = ""; }; - 33A93A6C9950135EFC0DEEC24117898C /* LOTAssetGroup.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTAssetGroup.h; path = "lottie-ios/Classes/Models/LOTAssetGroup.h"; sourceTree = ""; }; - 33FD5CF5D22CCD418BBB6FFD1AE53579 /* SliderImagesDesignable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SliderImagesDesignable.swift; path = Sources/Protocols/Designable/SliderImagesDesignable.swift; sourceTree = ""; }; - 3438E278B2191E1C83A0F8A286F2ACFB /* ThemeImagePicker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ThemeImagePicker.swift; path = Source/ThemeImagePicker.swift; sourceTree = ""; }; - 3450176F1B308716055F475EC13C316B /* DelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DelegateProxy.swift; path = RxCocoa/Common/DelegateProxy.swift; sourceTree = ""; }; - 3463F7B53F20A10C7A339F326CB48FB4 /* PresentationModalPosition.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PresentationModalPosition.swift; path = Sources/Enums/PresentationModalPosition.swift; sourceTree = ""; }; - 35218EEE27C3E69FC09FFB5757813893 /* KingfisherOptionsInfo.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = KingfisherOptionsInfo.swift; path = Sources/KingfisherOptionsInfo.swift; sourceTree = ""; }; - 352FED2A81FB0F84AC203D793E412999 /* MJRefreshFooter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshFooter.m; path = MJRefresh/Base/MJRefreshFooter.m; sourceTree = ""; }; - 35549E7E3A1AD88152D82982FD6C8FCC /* LOTBezierData.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTBezierData.m; path = "lottie-ios/Classes/AnimatableProperties/LOTBezierData.m"; sourceTree = ""; }; - 3583752156FEDCD0EBBA287769C45A06 /* AnimatableButton.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnimatableButton.swift; path = Sources/Views/AnimatableButton.swift; sourceTree = ""; }; - 3634E6867D396BCB8E574D0992ACC8BD /* UINavigationItem+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UINavigationItem+Rx.swift"; path = "RxCocoa/iOS/UINavigationItem+Rx.swift"; sourceTree = ""; }; - 36A7A1E146229A41D708BC7CCB9E4BD9 /* NVActivityIndicatorView-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NVActivityIndicatorView-umbrella.h"; sourceTree = ""; }; - 36E45F67CABFC826D525B6293996BDE1 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 36EA26B526A43F84F924E039924D80A6 /* SwiftTheme-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SwiftTheme-dummy.m"; sourceTree = ""; }; - 37186F6EEBE8581A18482E4E97792E14 /* MJRefreshAutoNormalFooter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshAutoNormalFooter.h; path = MJRefresh/Custom/Footer/Auto/MJRefreshAutoNormalFooter.h; sourceTree = ""; }; - 37B901B24F22F695A6CAD8C26E697C1A /* SessionDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SessionDelegate.swift; path = Source/SessionDelegate.swift; sourceTree = ""; }; - 3877477BEBAAB3ADA84326F9E67632B4 /* ServerTrustPolicy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ServerTrustPolicy.swift; path = Source/ServerTrustPolicy.swift; sourceTree = ""; }; - 388184AD4C48733E83CB6051AE641421 /* Kingfisher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Kingfisher.swift; path = Sources/Kingfisher.swift; sourceTree = ""; }; - 38B7ECDFBCA53EAB96B521E626A78EF0 /* Enumerated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Enumerated.swift; path = RxSwift/Observables/Enumerated.swift; sourceTree = ""; }; - 396C45FE0958F601CB9B783E48247447 /* AnimatableLabel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnimatableLabel.swift; path = Sources/Views/AnimatableLabel.swift; sourceTree = ""; }; - 396D1D2C395B05198A784BC925140FF0 /* Helpers.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Helpers.swift; path = Sources/SQLite/Helpers.swift; sourceTree = ""; }; - 396F75833DD78440A2BD8887E9580436 /* BehaviorRelay.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BehaviorRelay.swift; path = RxCocoa/Traits/BehaviorRelay.swift; sourceTree = ""; }; - 39C37519761A51CE304B05AD3CE4D9D0 /* MJRefresh-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "MJRefresh-umbrella.h"; sourceTree = ""; }; - 39C5A2458E881AB62C54F7166F87E602 /* BMPlayerClearityChooseButton.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BMPlayerClearityChooseButton.swift; path = Source/BMPlayerClearityChooseButton.swift; sourceTree = ""; }; - 39CF9BC517E6F74E4B6EEC15F21172EC /* SwiftTheme.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = SwiftTheme.modulemap; sourceTree = ""; }; - 3A29FEB761990977E5822B67AF3FFD3D /* Validation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Validation.swift; path = Source/Validation.swift; sourceTree = ""; }; - 3A57027B3EE3ED1B6E002C39D6BDD06C /* Platform.Darwin.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Platform.Darwin.swift; path = Platform/Platform.Darwin.swift; sourceTree = ""; }; - 3A986271039859B1FCDA84B373B06D4D /* lottie-ios-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "lottie-ios-prefix.pch"; sourceTree = ""; }; - 3AB600873B5BAFB0CF8BA1B87184D77D /* Pods-News.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-News.release.xcconfig"; sourceTree = ""; }; - 3ABBDE657A5B258096F61BBCBC03D605 /* ActivityIndicatorAnimationBallScaleRippleMultiple.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorAnimationBallScaleRippleMultiple.swift; path = Sources/ActivityIndicators/Animations/ActivityIndicatorAnimationBallScaleRippleMultiple.swift; sourceTree = ""; }; - 3B79AB0CEA95BF0C6EFA07452C11E150 /* _RXKVOObserver.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _RXKVOObserver.h; path = RxCocoa/Runtime/include/_RXKVOObserver.h; sourceTree = ""; }; - 3BBD56D999D1373EE88659FE99CEE4E2 /* IBAnimatable.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = IBAnimatable.xcconfig; sourceTree = ""; }; - 3BD42D685004AD66E16A3D24C4D5CA35 /* Driver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Driver.swift; path = RxCocoa/Traits/Driver/Driver.swift; sourceTree = ""; }; - 3CD75A6F995668576FD89A921FAE62C8 /* SystemTransitionAnimator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SystemTransitionAnimator.swift; path = Sources/Animators/TransitionAnimator/SystemTransitionAnimator.swift; sourceTree = ""; }; - 3D5A8F61419381F2EF65A37E479F82C9 /* BooleanDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BooleanDisposable.swift; path = RxSwift/Disposables/BooleanDisposable.swift; sourceTree = ""; }; - 3DB90A3CC0D4207647123FC23192D43A /* Navigator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Navigator.swift; path = Sources/Animators/Common/Navigator.swift; sourceTree = ""; }; - 3DE4B0EF0A30685BCB8F3779536AC77F /* NVActivityIndicatorAnimationBallClipRotatePulse.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallClipRotatePulse.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallClipRotatePulse.swift; sourceTree = ""; }; - 3E2D17297F248D6602E49FE59A062C77 /* Pods_News.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_News.framework; path = "Pods-News.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; - 3E9B63B14CDD46F1A404BB7E47EDE9AB /* ObserveOn.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObserveOn.swift; path = RxSwift/Observables/ObserveOn.swift; sourceTree = ""; }; - 3EB69C0D22027D5CB62727B0205DD459 /* NVActivityIndicatorAnimationBallRotateChase.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallRotateChase.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallRotateChase.swift; sourceTree = ""; }; - 3EFBDED2575213F1903D70663EF22670 /* RxTableViewReactiveArrayDataSource.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTableViewReactiveArrayDataSource.swift; path = RxCocoa/iOS/DataSources/RxTableViewReactiveArrayDataSource.swift; sourceTree = ""; }; - 3F328BBD54503DCEBF4593FE3908BC72 /* ScreenEdgePanInteractiveAnimator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ScreenEdgePanInteractiveAnimator.swift; path = Sources/Animators/InteractiveAnimator/ScreenEdgePanInteractiveAnimator.swift; sourceTree = ""; }; - 3F36E7CE1AFC9680C1C66900D178EF56 /* SectionedViewDataSourceType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SectionedViewDataSourceType.swift; path = RxCocoa/Common/SectionedViewDataSourceType.swift; sourceTree = ""; }; - 3F7B15358A6A5A05D801B2BBE80DE087 /* DistinctUntilChanged.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DistinctUntilChanged.swift; path = RxSwift/Observables/DistinctUntilChanged.swift; sourceTree = ""; }; - 400F4875FC4C571E5AA3933C774FEB91 /* Pods-News-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-News-resources.sh"; sourceTree = ""; }; - 406E8D923A8950E30D0E0150CF7B121A /* Disposables.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Disposables.swift; path = RxSwift/Disposables/Disposables.swift; sourceTree = ""; }; - 40B59B3E1D4C9440632B6ABACAFABC34 /* ImagePrefetcher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImagePrefetcher.swift; path = Sources/ImagePrefetcher.swift; sourceTree = ""; }; - 40D7470C8CF928FE04ED7A302D04691A /* UIView+SGPagingView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIView+SGPagingView.m"; path = "SGPagingView/Category/UIView+SGPagingView.m"; sourceTree = ""; }; - 40EBB7866DC3B4BA13673E9E83015D59 /* RxCocoa.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RxCocoa.h; path = RxCocoa/RxCocoa.h; sourceTree = ""; }; - 40FD269B9433217D87364D90DC69EC5F /* SubjectType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SubjectType.swift; path = RxSwift/Subjects/SubjectType.swift; sourceTree = ""; }; - 4156FD87E027B3E933D077FFEF82422C /* BuiltInBasicType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BuiltInBasicType.swift; path = Source/BuiltInBasicType.swift; sourceTree = ""; }; - 419B21DEA3BEAAA34D72305F353A1D49 /* LOTAnimationCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTAnimationCache.h; path = "lottie-ios/Classes/PublicHeaders/LOTAnimationCache.h"; sourceTree = ""; }; - 41AA702AB8283ACDF85216A6D93778B1 /* ActivityIndicatorShape.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorShape.swift; path = Sources/ActivityIndicators/Common/ActivityIndicatorShape.swift; sourceTree = ""; }; - 42AC69E5CD8A27216BFAA3656E836C31 /* Debounce.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Debounce.swift; path = RxSwift/Observables/Debounce.swift; sourceTree = ""; }; - 42B6B52B79F6ECB61721D453BD37CF3D /* String+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+Rx.swift"; path = "RxSwift/Extensions/String+Rx.swift"; sourceTree = ""; }; - 42CB77F9E0915B6E20A3066D0012D508 /* ConstraintDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintDSL.swift; path = Source/ConstraintDSL.swift; sourceTree = ""; }; - 42EAFE236B126875E3676DDF667390B1 /* LOTLayer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTLayer.h; path = "lottie-ios/Classes/Models/LOTLayer.h"; sourceTree = ""; }; - 431B1D8F346EEE81BB8417F0C0D7EF45 /* UIWebView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIWebView+Rx.swift"; path = "RxCocoa/iOS/UIWebView+Rx.swift"; sourceTree = ""; }; - 433DD1FB552D99CCB858D3901575635F /* NVActivityIndicatorAnimationBallScaleRippleMultiple.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallScaleRippleMultiple.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallScaleRippleMultiple.swift; sourceTree = ""; }; - 435B7E03AC3154263B601370ED63638D /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 437D37DFFA27844DA2B3687557CECD74 /* HistoricalScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HistoricalScheduler.swift; path = RxSwift/Schedulers/HistoricalScheduler.swift; sourceTree = ""; }; - 4388359A502909009213E6292CD3EE82 /* UIPageControl+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIPageControl+Rx.swift"; path = "RxCocoa/iOS/UIPageControl+Rx.swift"; sourceTree = ""; }; - 43BEAD17B2D9A026AE6D316611C56C62 /* MJRefreshBackGifFooter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshBackGifFooter.h; path = MJRefresh/Custom/Footer/Back/MJRefreshBackGifFooter.h; sourceTree = ""; }; - 43EEA8401C94C471A8D423EC9D32BA92 /* AddRef.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AddRef.swift; path = RxSwift/Observables/AddRef.swift; sourceTree = ""; }; - 447837C60177C88B8817ED7F1415BE48 /* Single.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Single.swift; path = RxSwift/Traits/Single.swift; sourceTree = ""; }; - 44D77DCA3505F512E047A6F3617AB349 /* LOTGradientFillRender.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTGradientFillRender.h; path = "lottie-ios/Classes/RenderSystem/RenderNodes/LOTGradientFillRender.h"; sourceTree = ""; }; - 45224CB0E544A0ED792C58DE136B6CD3 /* LOTArrayInterpolator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTArrayInterpolator.h; path = "lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTArrayInterpolator.h"; sourceTree = ""; }; - 452D9C44174565B4683C6B322253CE26 /* CornerDesignable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CornerDesignable.swift; path = Sources/Protocols/Designable/CornerDesignable.swift; sourceTree = ""; }; - 454A935A475C4A6A730872C89FABCDD7 /* Result.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Result.swift; path = Source/Result.swift; sourceTree = ""; }; - 45F438F560F3604DE78D332BF86B1256 /* Constants.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Constants.swift; path = Sources/Common/Constants.swift; sourceTree = ""; }; - 4634847E1B5F43F1CD8FF71535B4FE69 /* UIScrollView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIScrollView+Rx.swift"; path = "RxCocoa/iOS/UIScrollView+Rx.swift"; sourceTree = ""; }; - 466139BBCB9AC40E9D142C9A5C4DB141 /* Setter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Setter.swift; path = Sources/SQLite/Typed/Setter.swift; sourceTree = ""; }; - 47476DB266A32FB1749C97AC6BE44FA8 /* NopDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NopDisposable.swift; path = RxSwift/Disposables/NopDisposable.swift; sourceTree = ""; }; - 47A424D1830AF74E78103CA9C83BEA7A /* CoverAnimator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CoverAnimator.swift; path = Sources/Animators/PresentationAnimator/CoverAnimator.swift; sourceTree = ""; }; - 47B98CA8621FDE08EDCE55E633A25AB2 /* Multicast.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Multicast.swift; path = RxSwift/Observables/Multicast.swift; sourceTree = ""; }; - 47DE6827D1FBFCE9C5E240260B7DBE8A /* SynchronizedOnType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SynchronizedOnType.swift; path = RxSwift/Concurrency/SynchronizedOnType.swift; sourceTree = ""; }; - 482515FE86647EED72DFB537C0644BD2 /* SerialDispatchQueueScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SerialDispatchQueueScheduler.swift; path = RxSwift/Schedulers/SerialDispatchQueueScheduler.swift; sourceTree = ""; }; - 488C60C738D21716C0AF70587CBFB7DE /* BackgroundImageDesignable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BackgroundImageDesignable.swift; path = Sources/Protocols/Designable/BackgroundImageDesignable.swift; sourceTree = ""; }; - 490E7A7E6E8C953995635D555462FDDF /* ActivityIndicatorAnimationSemiCircleSpin.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorAnimationSemiCircleSpin.swift; path = Sources/ActivityIndicators/Animations/ActivityIndicatorAnimationSemiCircleSpin.swift; sourceTree = ""; }; - 4949D1DADC72519448D72A952FE1D627 /* RxTableViewDataSourceType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTableViewDataSourceType.swift; path = RxCocoa/iOS/Protocols/RxTableViewDataSourceType.swift; sourceTree = ""; }; - 49648BA1479245B587F5C10E23A9E209 /* _RXDelegateProxy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _RXDelegateProxy.h; path = RxCocoa/Runtime/include/_RXDelegateProxy.h; sourceTree = ""; }; - 496BD2F1AFC0FDAF55693CEE82330C68 /* SwiftTheme.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = SwiftTheme.framework; path = SwiftTheme.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 496E06364454C8EB026E0EF3101190EC /* LayoutConstraint.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LayoutConstraint.swift; path = Source/LayoutConstraint.swift; sourceTree = ""; }; - 4A9485165E6A088BB2A1499A80DCE815 /* UITabBar+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UITabBar+Rx.swift"; path = "RxCocoa/iOS/UITabBar+Rx.swift"; sourceTree = ""; }; - 4AD6EC31D3B7AFDF0FC1E67A7F1CB03E /* AsyncLock.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AsyncLock.swift; path = RxSwift/Concurrency/AsyncLock.swift; sourceTree = ""; }; - 4B64DF65DA85293CF802806E754D7C3B /* UISearchBar+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UISearchBar+Rx.swift"; path = "RxCocoa/iOS/UISearchBar+Rx.swift"; sourceTree = ""; }; - 4B8EBE8451C20153E2B76BB56733BB1F /* Map.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Map.swift; path = RxSwift/Observables/Map.swift; sourceTree = ""; }; - 4B945E390C063AE5D9BBF5C868113CDD /* RxTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTarget.swift; path = RxCocoa/Common/RxTarget.swift; sourceTree = ""; }; - 4BBDDE62DB3D19ED3528D9B85A80A3D5 /* Kingfisher.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = Kingfisher.modulemap; sourceTree = ""; }; - 4C0947E7028B8B7E6DB97BDDE5E95F0E /* SVProgressHUD.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = SVProgressHUD.framework; path = SVProgressHUD.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 4CC32C89E413CF13A91937CDEB0E8CA2 /* NVActivityIndicatorAnimationBallGridPulse.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallGridPulse.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallGridPulse.swift; sourceTree = ""; }; - 4CC76966C3C8173FD7C88EB5E6BBB430 /* UINavigationController+FDFullscreenPopGesture.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UINavigationController+FDFullscreenPopGesture.h"; path = "FDFullscreenPopGesture/UINavigationController+FDFullscreenPopGesture.h"; sourceTree = ""; }; - 4D6772387D8B990199B8DC328F4B886D /* LOTSizeInterpolator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTSizeInterpolator.h; path = "lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTSizeInterpolator.h"; sourceTree = ""; }; - 4DD9B230384B15B44E7EC5E792B52977 /* Kingfisher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Kingfisher.h; path = Sources/Kingfisher.h; sourceTree = ""; }; - 4DE5FB3C11805E3EED9E75FC2DC65D9A /* Coding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Coding.swift; path = Sources/SQLite/Typed/Coding.swift; sourceTree = ""; }; - 4E62C365844EE8C8FA698829EDF7495E /* DelegateProxyType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DelegateProxyType.swift; path = RxCocoa/Common/DelegateProxyType.swift; sourceTree = ""; }; - 4EE3A9127234F0040983E2EC02B1F130 /* Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Foundation.swift; path = Sources/SQLite/Foundation.swift; sourceTree = ""; }; - 4EF7BE0063439F2E7B754090040D6090 /* LOTRoundedRectAnimator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTRoundedRectAnimator.m; path = "lottie-ios/Classes/RenderSystem/AnimatorNodes/LOTRoundedRectAnimator.m"; sourceTree = ""; }; - 4F6A1D0A0B0AF3B76AC758D3E3C42C24 /* CALayer+Compat.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "CALayer+Compat.h"; path = "lottie-ios/Classes/MacCompatability/CALayer+Compat.h"; sourceTree = ""; }; - 4FD891EFE190D6845A7250AA6E9B5F10 /* NVActivityIndicatorAnimationBallClipRotate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallClipRotate.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallClipRotate.swift; sourceTree = ""; }; - 5006D73F5E3D7EBD4D717FB92AE87FA6 /* HandyJSON-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "HandyJSON-prefix.pch"; sourceTree = ""; }; - 503B7CA27E9490D09693945D2EBD5563 /* ConstraintConstantTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintConstantTarget.swift; path = Source/ConstraintConstantTarget.swift; sourceTree = ""; }; - 503D2A56C7F31106F49E1FFEB1D8F18F /* BMPlayer.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = BMPlayer.xcconfig; sourceTree = ""; }; - 5040E9BA39AEB77ABA9E7CBFEC3680BC /* ConstraintMakerEditable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerEditable.swift; path = Source/ConstraintMakerEditable.swift; sourceTree = ""; }; - 5044484F325158003CF6DA89CC8D42BE /* ScheduledItemType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ScheduledItemType.swift; path = RxSwift/Schedulers/Internal/ScheduledItemType.swift; sourceTree = ""; }; - 507BD2CC8311D4C4499664BC6B2AAE8A /* NVActivityIndicatorAnimationBallScaleRipple.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallScaleRipple.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallScaleRipple.swift; sourceTree = ""; }; - 50A928C8B21A5D7D3C250407EC8528A2 /* SlideAnimator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SlideAnimator.swift; path = Sources/Animators/TransitionAnimator/SlideAnimator.swift; sourceTree = ""; }; - 51035AAE611450A0138CE254154955FD /* Throttle.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Throttle.swift; path = RxSwift/Observables/Throttle.swift; sourceTree = ""; }; - 5106974B32012604F4B1E5CD247CCFAE /* RxTextViewDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTextViewDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxTextViewDelegateProxy.swift; sourceTree = ""; }; - 511B743B9ED31717D6E543D3BE26720B /* Kingfisher-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Kingfisher-prefix.pch"; sourceTree = ""; }; - 514343934B9D0E0A6E8C07941A10D1F0 /* LOTShapeCircle.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTShapeCircle.m; path = "lottie-ios/Classes/Models/LOTShapeCircle.m"; sourceTree = ""; }; - 51CA37BE0AAD0C68FBED9D90198F2307 /* Alamofire-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Alamofire-umbrella.h"; sourceTree = ""; }; - 51CC39B70ADEFC89ABDBFCB9BF3F9839 /* VirtualTimeConverterType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = VirtualTimeConverterType.swift; path = RxSwift/Schedulers/VirtualTimeConverterType.swift; sourceTree = ""; }; - 51D9BF9C00C1086D060DDC46E010AFE1 /* BMPlayerControlView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BMPlayerControlView.swift; path = Source/BMPlayerControlView.swift; sourceTree = ""; }; - 51DBE9AA5DFA7FFF26979E0B30D441E7 /* RecursiveLock.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RecursiveLock.swift; path = Platform/RecursiveLock.swift; sourceTree = ""; }; - 51F7890C7F1D6AD765CBAC0C0F11897E /* FTS5.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FTS5.swift; path = Sources/SQLite/Extensions/FTS5.swift; sourceTree = ""; }; - 5234F607F8527DFD8E56503BC8B13854 /* NatGeoAnimator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NatGeoAnimator.swift; path = Sources/Animators/TransitionAnimator/NatGeoAnimator.swift; sourceTree = ""; }; - 52452218F0459D0C675B71F7DA10C024 /* NSBundle+MJRefresh.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSBundle+MJRefresh.h"; path = "MJRefresh/NSBundle+MJRefresh.h"; sourceTree = ""; }; - 52812876CB95A32785248E86FC655AA2 /* Notifications.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Notifications.swift; path = Source/Notifications.swift; sourceTree = ""; }; - 52A7E25B50868C468EA88CECE97C1F03 /* LockOwnerType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LockOwnerType.swift; path = RxSwift/Concurrency/LockOwnerType.swift; sourceTree = ""; }; - 52B46C7703F663FC6C8378E170950863 /* Observable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Observable.swift; path = RxSwift/Observable.swift; sourceTree = ""; }; - 52CAD635E237EB353B4F95B6388EA34A /* BMPlayer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BMPlayer.swift; path = Source/BMPlayer.swift; sourceTree = ""; }; - 52E575055D33688C23C516E85A8EB7D7 /* BMPlayerLayerView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BMPlayerLayerView.swift; path = Source/BMPlayerLayerView.swift; sourceTree = ""; }; - 5311E03BBEEE0942F96678CCB316F9F3 /* InvocableType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = InvocableType.swift; path = RxSwift/Schedulers/Internal/InvocableType.swift; sourceTree = ""; }; - 534772192649FA19C83ECC7A8C09371C /* SVProgressHUD-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SVProgressHUD-umbrella.h"; sourceTree = ""; }; - 5364CAEC527EEEC1DEEAB9B8DD9F5049 /* LOTShapeStar.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTShapeStar.h; path = "lottie-ios/Classes/Models/LOTShapeStar.h"; sourceTree = ""; }; - 53CA9FB5E76D5AF0D5C91F1DE525FA36 /* ActivityIndicatorAnimationBallScaleRipple.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorAnimationBallScaleRipple.swift; path = Sources/ActivityIndicators/Animations/ActivityIndicatorAnimationBallScaleRipple.swift; sourceTree = ""; }; - 53F20DBB287710299D39997E90AB7137 /* AnimatableCheckBox.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnimatableCheckBox.swift; path = Sources/Views/AnimatableCheckBox.swift; sourceTree = ""; }; - 543E8CEAEBE396FBF36D063EDD6EE3B8 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 5461DA6FDD3CDF64DBDE67F8782B3E2F /* ActivityIndicatorAnimatable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorAnimatable.swift; path = Sources/Protocols/ActivityIndicator/ActivityIndicatorAnimatable.swift; sourceTree = ""; }; - 54A0F15813FE6291D7A9A6230C0E5D57 /* BMPlayer.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = BMPlayer.modulemap; sourceTree = ""; }; - 54A95D03FA93F9D21B6C2DCFFEDB7D48 /* Binder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Binder.swift; path = RxCocoa/Common/Binder.swift; sourceTree = ""; }; - 54B23FAB5F2E33BFB7C67CE05AAB4300 /* ImageTransition.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImageTransition.swift; path = Sources/ImageTransition.swift; sourceTree = ""; }; - 54C26A74FA632818B8C8109DF4FFDEB7 /* Pods-News-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-News-frameworks.sh"; sourceTree = ""; }; - 54C2AEEAF84BC41E1CC31636857311CB /* LOTCompositionContainer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTCompositionContainer.h; path = "lottie-ios/Classes/AnimatableLayers/LOTCompositionContainer.h"; sourceTree = ""; }; - 54EB7ED0C4D1552DFA21A52FB9C8D704 /* LOTBezierPath.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTBezierPath.m; path = "lottie-ios/Classes/Extensions/LOTBezierPath.m"; sourceTree = ""; }; - 55126916D81A175FA85248B5D4F8BD62 /* Using.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Using.swift; path = RxSwift/Observables/Using.swift; sourceTree = ""; }; - 55416E53154761426E08029F47546F3D /* MJRefreshConst.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshConst.m; path = MJRefresh/MJRefreshConst.m; sourceTree = ""; }; - 554A82D74071B128F4B6AB9B2A51E401 /* FDFullscreenPopGesture-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "FDFullscreenPopGesture-prefix.pch"; sourceTree = ""; }; - 55972861C38295296111B9D4BBDD771D /* BMPlayer.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = BMPlayer.framework; path = BMPlayer.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 55A98612B6712DF92A37DA4B0FB6FD0A /* SwiftTheme.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SwiftTheme.xcconfig; sourceTree = ""; }; - 55B831F6AEE5934A25921E021939183B /* MJRefresh.bundle */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "wrapper.plug-in"; name = MJRefresh.bundle; path = MJRefresh/MJRefresh.bundle; sourceTree = ""; }; - 5611AC275D561986CF01B2B9ADB504E2 /* ActivityIndicatorAnimating.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorAnimating.swift; path = Sources/Protocols/ActivityIndicator/ActivityIndicatorAnimating.swift; sourceTree = ""; }; - 561BCF02F0B4873BBC5209816422BB5D /* Pods-News-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-News-acknowledgements.markdown"; sourceTree = ""; }; - 56E12DA484D22A5F375B1142514DCBD4 /* CombineLatest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CombineLatest.swift; path = RxSwift/Observables/CombineLatest.swift; sourceTree = ""; }; - 5714D9BCBD5DC0DFFE2D051DDB8726DC /* CALayer+Compat.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "CALayer+Compat.m"; path = "lottie-ios/Classes/MacCompatability/CALayer+Compat.m"; sourceTree = ""; }; - 57332798F258CB8528427D41A4FE2DAB /* Merge.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Merge.swift; path = RxSwift/Observables/Merge.swift; sourceTree = ""; }; - 5755C0245AECC314170FE6B5F33BF407 /* RxPickerViewDataSourceType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxPickerViewDataSourceType.swift; path = RxCocoa/iOS/Protocols/RxPickerViewDataSourceType.swift; sourceTree = ""; }; - 57E58EF5F2D77DF06AB878B8D047A5F5 /* ControlProperty+Driver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ControlProperty+Driver.swift"; path = "RxCocoa/Traits/Driver/ControlProperty+Driver.swift"; sourceTree = ""; }; - 581EF31175478E2A6D22A2EE038A42E3 /* LOTKeyframe.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTKeyframe.m; path = "lottie-ios/Classes/AnimatableProperties/LOTKeyframe.m"; sourceTree = ""; }; - 58487652BF1A5F3A76121187450C4F68 /* ReplaySubject.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ReplaySubject.swift; path = RxSwift/Subjects/ReplaySubject.swift; sourceTree = ""; }; - 5854BB7AB2C50E78E7D98E172A51DB11 /* LOTNumberInterpolator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTNumberInterpolator.h; path = "lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTNumberInterpolator.h"; sourceTree = ""; }; - 58B913418A63743732FEECEDEA4CC2D0 /* PresentationDesignable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PresentationDesignable.swift; path = Sources/Protocols/Designable/PresentationDesignable.swift; sourceTree = ""; }; - 58EBD2AC5E0CF287D7EEFFE55C14E777 /* ThemePicker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ThemePicker.swift; path = Source/ThemePicker.swift; sourceTree = ""; }; - 59BD0E55F39B7AED73499EA0FC1EC457 /* AnyExtensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnyExtensions.swift; path = Source/AnyExtensions.swift; sourceTree = ""; }; - 5A2040E165D86A261BB77BC526ACC3BD /* PinchInteractiveAnimator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PinchInteractiveAnimator.swift; path = Sources/Animators/InteractiveAnimator/PinchInteractiveAnimator.swift; sourceTree = ""; }; - 5A3C4851ABC13AA64F20F6B970A5E4D7 /* HandyJSON-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "HandyJSON-umbrella.h"; sourceTree = ""; }; - 5A7CA5EA111647BAA59C3AA6341AEE06 /* UIColorExtension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = UIColorExtension.swift; path = Sources/Extensions/UIColorExtension.swift; sourceTree = ""; }; - 5ABA31BFCDCDCAD234DC73AD4A25660A /* ConstraintRelatableTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintRelatableTarget.swift; path = Source/ConstraintRelatableTarget.swift; sourceTree = ""; }; - 5AECF07F350A490627BD23C2B2423950 /* SVRadialGradientLayer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SVRadialGradientLayer.h; path = SVProgressHUD/SVRadialGradientLayer.h; sourceTree = ""; }; - 5AFAF9B98BC7DA3DC7B2EFB0DE2C167D /* ConstraintInsets.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintInsets.swift; path = Source/ConstraintInsets.swift; sourceTree = ""; }; - 5B93CEA374DD308A53DC6C531914EE59 /* SwiftTheme-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SwiftTheme-prefix.pch"; sourceTree = ""; }; - 5B9DC9A4C337D4C46E19B60C1D6B23E1 /* UINavigationController+FDFullscreenPopGesture.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UINavigationController+FDFullscreenPopGesture.m"; path = "FDFullscreenPopGesture/UINavigationController+FDFullscreenPopGesture.m"; sourceTree = ""; }; - 5BCFCCB89C0EFDDB0353777EE9101C13 /* ConstraintDescription.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintDescription.swift; path = Source/ConstraintDescription.swift; sourceTree = ""; }; - 5BE1349DA1CE384CA435FDF71261223A /* _RXObjCRuntime.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _RXObjCRuntime.m; path = RxCocoa/Runtime/_RXObjCRuntime.m; sourceTree = ""; }; - 5C16B38AACA9A2A8F7753BEA02D9ABF3 /* ControlProperty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ControlProperty.swift; path = RxCocoa/Traits/ControlProperty.swift; sourceTree = ""; }; - 5C22487B413EC26513D9199C383D877D /* Value.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Value.swift; path = Sources/SQLite/Core/Value.swift; sourceTree = ""; }; - 5C65D1F86050E6A5BE4B6B53EA5B9C9D /* LOTColorInterpolator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTColorInterpolator.h; path = "lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTColorInterpolator.h"; sourceTree = ""; }; - 5D49DD312F1F3BDBAB5286D640AC318F /* DispatchQueue+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "DispatchQueue+Extensions.swift"; path = "Platform/DispatchQueue+Extensions.swift"; sourceTree = ""; }; - 5DB2E20A5AF7534188A7E7A7293A8E95 /* SwiftyJSON.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SwiftyJSON.swift; path = Source/SwiftyJSON.swift; sourceTree = ""; }; - 5DB6E0685AB5E7B86050001ADFD26D6F /* BlurDesignable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlurDesignable.swift; path = Sources/Protocols/Designable/BlurDesignable.swift; sourceTree = ""; }; - 5E3DBB03DC2FD2A57DA6B443968FD381 /* Statement.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Statement.swift; path = Sources/SQLite/Core/Statement.swift; sourceTree = ""; }; - 5E69D4A921F23C2B43D4581FA3EEBB96 /* FDFullscreenPopGesture-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "FDFullscreenPopGesture-umbrella.h"; sourceTree = ""; }; - 5E9D73DBE32638FE50BE31D807F1BF79 /* LOTTrimPathNode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTTrimPathNode.h; path = "lottie-ios/Classes/RenderSystem/ManipulatorNodes/LOTTrimPathNode.h"; sourceTree = ""; }; - 5F82E905FA9C0D9DA9720D6B5383B631 /* KVORepresentable+CoreGraphics.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "KVORepresentable+CoreGraphics.swift"; path = "RxCocoa/Foundation/KVORepresentable+CoreGraphics.swift"; sourceTree = ""; }; - 5F98CF6D8514FFD75091F542D35D2D14 /* SwitchIfEmpty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SwitchIfEmpty.swift; path = RxSwift/Observables/SwitchIfEmpty.swift; sourceTree = ""; }; - 5F9EB7F0F4C0AD98B78CF12414D46F57 /* ConstraintView+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ConstraintView+Extensions.swift"; path = "Source/ConstraintView+Extensions.swift"; sourceTree = ""; }; - 6134ABF753A3BE6C7233AFE6428F6470 /* Logger.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Logger.swift; path = Source/Logger.swift; sourceTree = ""; }; - 616AA194666DF78659E5BA5A2E18210E /* SQLite.swift.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = SQLite.swift.modulemap; sourceTree = ""; }; - 61BCC1A5F825B4AC2FAAD97B49C40FFC /* PrimitiveSequence+Zip+arity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "PrimitiveSequence+Zip+arity.swift"; path = "RxSwift/Traits/PrimitiveSequence+Zip+arity.swift"; sourceTree = ""; }; - 61CBC6FDD2686CFE54F8966D855B73D9 /* TransitionAnimatable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TransitionAnimatable.swift; path = Sources/Protocols/TransitionAnimatable/TransitionAnimatable.swift; sourceTree = ""; }; - 624C71F2B840E89E387C38E67ADDDE69 /* PrimitiveSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PrimitiveSequence.swift; path = RxSwift/Traits/PrimitiveSequence.swift; sourceTree = ""; }; - 6278DED1E5E256A728B4F22B1473CB3B /* ThemeBarStylePicker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ThemeBarStylePicker.swift; path = Source/ThemeBarStylePicker.swift; sourceTree = ""; }; - 62C38636F2D49770B1A78357EE331C23 /* LOTShapeStroke.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTShapeStroke.h; path = "lottie-ios/Classes/Models/LOTShapeStroke.h"; sourceTree = ""; }; - 638E3C16C3DC057BDFCB188721ABE7C0 /* PublishSubject.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PublishSubject.swift; path = RxSwift/Subjects/PublishSubject.swift; sourceTree = ""; }; - 63A250ED9CF50C7BAB45AE9F4998BF68 /* LOTShapeTrimPath.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTShapeTrimPath.m; path = "lottie-ios/Classes/Models/LOTShapeTrimPath.m"; sourceTree = ""; }; - 63AB2CFB827F1D3EF127D591656B4DEC /* NVActivityIndicatorAnimationLineScaleParty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationLineScaleParty.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationLineScaleParty.swift; sourceTree = ""; }; - 63BEA4DF5F060184638DE65DC6BA66B7 /* NVActivityIndicatorView.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = NVActivityIndicatorView.framework; path = NVActivityIndicatorView.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 640F24FC097E24F184AD7ED2BD0B953C /* CustomDateFormatTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CustomDateFormatTransform.swift; path = Source/CustomDateFormatTransform.swift; sourceTree = ""; }; - 64147F57AA02FBD13A59EED1EFB7540A /* ActivityIndicatorAnimationLineScalePulseOutRapid.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorAnimationLineScalePulseOutRapid.swift; path = Sources/ActivityIndicators/Animations/ActivityIndicatorAnimationLineScalePulseOutRapid.swift; sourceTree = ""; }; - 64552828511783624379C226338C1235 /* UILayoutSupport+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UILayoutSupport+Extensions.swift"; path = "Source/UILayoutSupport+Extensions.swift"; sourceTree = ""; }; - 647D055E65013850F96FEF42A8114945 /* Sample.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Sample.swift; path = RxSwift/Observables/Sample.swift; sourceTree = ""; }; - 64B2A4D896157FFEC6EC759B4B79B08C /* Zip.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Zip.swift; path = RxSwift/Observables/Zip.swift; sourceTree = ""; }; - 64E04BF3DD55CBF6BABCCE5F191B27EE /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 650C44A85769DCC3DA68ECFE1F390F20 /* LOTArrayInterpolator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTArrayInterpolator.m; path = "lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTArrayInterpolator.m"; sourceTree = ""; }; - 654A5CBBE900C393E765D7F067F8DEFC /* MJRefresh.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = MJRefresh.framework; path = MJRefresh.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 65904D73AA291AF5444177C0991BE6D0 /* LOTPathInterpolator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTPathInterpolator.h; path = "lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTPathInterpolator.h"; sourceTree = ""; }; - 65C2A21E236A0D0BB02223105601804B /* RxCollectionViewDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxCollectionViewDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxCollectionViewDelegateProxy.swift; sourceTree = ""; }; - 65FE41B91134454998CBBC6B6DB50F05 /* Optional.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Optional.swift; path = RxSwift/Observables/Optional.swift; sourceTree = ""; }; - 665C27DDDFEB6553E7A273E645165218 /* PresentNatGeoSegue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PresentNatGeoSegue.swift; path = Sources/Segues/PresentNatGeoSegue.swift; sourceTree = ""; }; - 66A06BC538CA6BE2E84D43AF36A91728 /* PresentPortalWithDismissInteractionSegue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PresentPortalWithDismissInteractionSegue.swift; path = Sources/Segues/PresentPortalWithDismissInteractionSegue.swift; sourceTree = ""; }; - 671B086D8EFF323E947538E018689579 /* ActivityIndicatorAnimationBallRotateChase.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorAnimationBallRotateChase.swift; path = Sources/ActivityIndicators/Animations/ActivityIndicatorAnimationBallRotateChase.swift; sourceTree = ""; }; - 6734E71D944FC9D90BDD99936D771CF4 /* ToArray.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ToArray.swift; path = RxSwift/Observables/ToArray.swift; sourceTree = ""; }; - 6735C7CA4601B2FE4CD748FB4468897E /* AnimatableScrollView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnimatableScrollView.swift; path = Sources/Views/AnimatableScrollView.swift; sourceTree = ""; }; - 6758AEC443FDF78D890269D835B57425 /* LOTLayerGroup.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTLayerGroup.h; path = "lottie-ios/Classes/Models/LOTLayerGroup.h"; sourceTree = ""; }; - 67BB54470B5557CFDC076B29EA5A3C1E /* Queue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Queue.swift; path = Platform/DataStructures/Queue.swift; sourceTree = ""; }; - 68328CD5B519A87FCD2930BF13D7B793 /* UIActivityIndicatorView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIActivityIndicatorView+Rx.swift"; path = "RxCocoa/iOS/UIActivityIndicatorView+Rx.swift"; sourceTree = ""; }; - 6861E71920DF589FBD20AC2A3D2E8E28 /* CALayerExtension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CALayerExtension.swift; path = Sources/Extensions/CALayerExtension.swift; sourceTree = ""; }; - 68668091E8562051C29EEDA31619E2BB /* SwiftSupport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SwiftSupport.swift; path = RxSwift/SwiftSupport/SwiftSupport.swift; sourceTree = ""; }; - 686DC854562D039C5B425D792B6E11BF /* LOTShapeRepeater.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTShapeRepeater.h; path = "lottie-ios/Classes/Models/LOTShapeRepeater.h"; sourceTree = ""; }; - 68D01B3244CC6A90F855129E353C9BEC /* CGGeometry+LOTAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "CGGeometry+LOTAdditions.h"; path = "lottie-ios/Classes/Extensions/CGGeometry+LOTAdditions.h"; sourceTree = ""; }; - 6957D16F9D310E2B2A1862A914B71665 /* MJRefreshGifHeader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshGifHeader.h; path = MJRefresh/Custom/Header/MJRefreshGifHeader.h; sourceTree = ""; }; - 6A30029046234F0BA6975AE512C4F891 /* AnimatableCollectionViewCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnimatableCollectionViewCell.swift; path = Sources/Views/AnimatableCollectionViewCell.swift; sourceTree = ""; }; - 6A306DE1C26AE416FAB0033B6B5D499E /* UIViewController+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIViewController+Rx.swift"; path = "RxCocoa/iOS/UIViewController+Rx.swift"; sourceTree = ""; }; - 6A5E4B6AD4C7EC4490BEA56E7F405239 /* LOTRadialGradientLayer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTRadialGradientLayer.m; path = "lottie-ios/Classes/Extensions/LOTRadialGradientLayer.m"; sourceTree = ""; }; - 6A7A588536307F8A87DA5858B94E8499 /* TailRecursiveSink.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TailRecursiveSink.swift; path = RxSwift/Observers/TailRecursiveSink.swift; sourceTree = ""; }; - 6A7FD03579105CC979FBB9B4A6D371E7 /* lottie-ios.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = "lottie-ios.modulemap"; sourceTree = ""; }; - 6AD4211DE3F25E72943D4BEF127AF795 /* UIButton+Kingfisher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIButton+Kingfisher.swift"; path = "Sources/UIButton+Kingfisher.swift"; sourceTree = ""; }; - 6B39C8A058F93BC134FABB87866CA9F7 /* UIProgressView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIProgressView+Rx.swift"; path = "RxCocoa/iOS/UIProgressView+Rx.swift"; sourceTree = ""; }; - 6B99FA02819D274BCFEAE7B2E03CD24D /* RxMutableBox.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxMutableBox.swift; path = RxSwift/RxMutableBox.swift; sourceTree = ""; }; - 6BA32B2203C64904B0C7B357B7FF4480 /* LOTShapeStroke.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTShapeStroke.m; path = "lottie-ios/Classes/Models/LOTShapeStroke.m"; sourceTree = ""; }; - 6BFBF02B2FD6D21CD90A88F0831AD533 /* Expression.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Expression.swift; path = Sources/SQLite/Typed/Expression.swift; sourceTree = ""; }; - 6C6AD493BF2A7D60E355DC7D2D205B37 /* SVProgressHUD-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SVProgressHUD-dummy.m"; sourceTree = ""; }; - 6CCB3AA48C3B008A9891CB8213056E76 /* UITabBarItem+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UITabBarItem+Rx.swift"; path = "RxCocoa/iOS/UITabBarItem+Rx.swift"; sourceTree = ""; }; - 6D75091822982BA7479BB304118B93CC /* Schema.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Schema.swift; path = Sources/SQLite/Typed/Schema.swift; sourceTree = ""; }; - 6DA87874F3C01DE3EA9AA52E21FA617C /* NSObject+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSObject+Rx.swift"; path = "RxCocoa/Foundation/NSObject+Rx.swift"; sourceTree = ""; }; - 6DB77932F17051F0479A6BA07E55E754 /* Cancelable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cancelable.swift; path = RxSwift/Cancelable.swift; sourceTree = ""; }; - 6DC8F2043D939E2FA4064F50BCBE3A54 /* LOTAnimationTransitionController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTAnimationTransitionController.m; path = "lottie-ios/Classes/Private/LOTAnimationTransitionController.m"; sourceTree = ""; }; - 6DE1AB0EA62167CA8D25F6111726054B /* ActivityIndicatorAnimationBallPulse.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorAnimationBallPulse.swift; path = Sources/ActivityIndicators/Animations/ActivityIndicatorAnimationBallPulse.swift; sourceTree = ""; }; - 6E37CC887DAE238B301C4655BD3784DE /* PresentFlipSegue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PresentFlipSegue.swift; path = Sources/Segues/PresentFlipSegue.swift; sourceTree = ""; }; - 6EE97F08412CC4EBD6A08DE9363A4C8B /* ObservableConvertibleType+Signal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ObservableConvertibleType+Signal.swift"; path = "RxCocoa/Traits/Signal/ObservableConvertibleType+Signal.swift"; sourceTree = ""; }; - 6F5C4BFFDCBA16C84F74B6E39D87B199 /* RequestModifier.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RequestModifier.swift; path = Sources/RequestModifier.swift; sourceTree = ""; }; + 2EED35113F404B2C340F1162274B3C3F /* LOTModels.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTModels.h; path = "lottie-ios/Classes/Models/LOTModels.h"; sourceTree = ""; }; + 2EF92139B818DD3662292A745CA29DFB /* LOTGradientFillRender.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTGradientFillRender.h; path = "lottie-ios/Classes/RenderSystem/RenderNodes/LOTGradientFillRender.h"; sourceTree = ""; }; + 2EFC365D705166A37CB74082585C00D0 /* RxTableViewDataSourceProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTableViewDataSourceProxy.swift; path = RxCocoa/iOS/Proxies/RxTableViewDataSourceProxy.swift; sourceTree = ""; }; + 2F0EC520578456B56E729B255213D7AE /* ActivityIndicatorAnimationLineScale.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorAnimationLineScale.swift; path = Sources/ActivityIndicators/Animations/ActivityIndicatorAnimationLineScale.swift; sourceTree = ""; }; + 2F227C3811DF91B830F830474AE8779B /* DispatchQueue+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "DispatchQueue+Extensions.swift"; path = "Platform/DispatchQueue+Extensions.swift"; sourceTree = ""; }; + 2F7779E8FE554C5620B3381406F2DBD5 /* Pods-News.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-News.release.xcconfig"; sourceTree = ""; }; + 30170E00E03894389F070F998564D575 /* ConstraintOffsetTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintOffsetTarget.swift; path = Source/ConstraintOffsetTarget.swift; sourceTree = ""; }; + 30388CED6EFDB66DD646F0F647B4DB3A /* SVProgressHUD.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SVProgressHUD.modulemap; sourceTree = ""; }; + 307DDF55BF62A28AEF0E4A554F1B5AB9 /* VirtualTimeScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = VirtualTimeScheduler.swift; path = RxSwift/Schedulers/VirtualTimeScheduler.swift; sourceTree = ""; }; + 308E8AF1CAD818F2AE6C77525DA8DB1B /* LOTBlockCallback.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTBlockCallback.h; path = "lottie-ios/Classes/PublicHeaders/LOTBlockCallback.h"; sourceTree = ""; }; + 309C2514ECE04AF163758EBEF04B05E1 /* NominalType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NominalType.swift; path = Source/NominalType.swift; sourceTree = ""; }; + 309E6E713FA8B233A98FAB2020D8E5FF /* ReflectionHelper.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ReflectionHelper.swift; path = Source/ReflectionHelper.swift; sourceTree = ""; }; + 31160559A25673E5E29FE21ADA0F1FD9 /* MJRefresh-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "MJRefresh-prefix.pch"; sourceTree = ""; }; + 31343B8A2EE4819BBA28362B03ACB7CA /* UIWebView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIWebView+Rx.swift"; path = "RxCocoa/iOS/UIWebView+Rx.swift"; sourceTree = ""; }; + 316C457E7FFB6DE31BE96D5336447D93 /* NVActivityIndicatorView.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = NVActivityIndicatorView.modulemap; sourceTree = ""; }; + 317DC0E62C640CEF5366FA274CAA82C6 /* KVORepresentable+CoreGraphics.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "KVORepresentable+CoreGraphics.swift"; path = "RxCocoa/Foundation/KVORepresentable+CoreGraphics.swift"; sourceTree = ""; }; + 31A92956F26C885F85C5258C08B2EF09 /* Alamofire-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Alamofire-dummy.m"; sourceTree = ""; }; + 31E29E0240B38CF460902B3D216B7E9C /* PresentationModalSize.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PresentationModalSize.swift; path = Sources/Enums/PresentationModalSize.swift; sourceTree = ""; }; + 3251503BBC78AD715F3F32159467C794 /* LOTPolygonAnimator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTPolygonAnimator.h; path = "lottie-ios/Classes/RenderSystem/AnimatorNodes/LOTPolygonAnimator.h"; sourceTree = ""; }; + 32635AC7F14B765FCB63050F5D42A44B /* BMPlayer-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "BMPlayer-prefix.pch"; sourceTree = ""; }; + 3263DDCD1BBEE6C66FBAD07646B7B8D3 /* UIScrollView+MJRefresh.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIScrollView+MJRefresh.m"; path = "MJRefresh/UIScrollView+MJRefresh.m"; sourceTree = ""; }; + 328D920F45936F98E741396D68B016AA /* FDFullscreenPopGesture-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "FDFullscreenPopGesture-prefix.pch"; sourceTree = ""; }; + 32DE2B698C33C2E775889B9020868597 /* Cancelable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cancelable.swift; path = RxSwift/Cancelable.swift; sourceTree = ""; }; + 32E5D26492C74456A7D6B726C8B50F2D /* ObservableType+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ObservableType+Extensions.swift"; path = "RxSwift/ObservableType+Extensions.swift"; sourceTree = ""; }; + 332730E1D9F8907F06898C6963E536DB /* Pods-News.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-News.debug.xcconfig"; sourceTree = ""; }; + 334614AC28854B912B5754A4DCEEE89A /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 335F14A562B950036768C583032735EF /* LOTTrimPathNode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTTrimPathNode.h; path = "lottie-ios/Classes/RenderSystem/ManipulatorNodes/LOTTrimPathNode.h"; sourceTree = ""; }; + 33C72D183DB5C9B9DB91FE57FC626FDB /* LOTBlockCallback.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTBlockCallback.m; path = "lottie-ios/Classes/Private/LOTBlockCallback.m"; sourceTree = ""; }; + 33FF65ED3670D4AA434D31BDE271DEC0 /* ActivityIndicatorAnimationBallScaleRippleMultiple.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorAnimationBallScaleRippleMultiple.swift; path = Sources/ActivityIndicators/Animations/ActivityIndicatorAnimationBallScaleRippleMultiple.swift; sourceTree = ""; }; + 345D5C0F59CB0D5CEAC3F66831227E22 /* UILayoutSupport+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UILayoutSupport+Extensions.swift"; path = "Source/UILayoutSupport+Extensions.swift"; sourceTree = ""; }; + 34625535C08DB8F9C3473B20FC97058F /* TimingFunctionType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TimingFunctionType.swift; path = Sources/Enums/TimingFunctionType.swift; sourceTree = ""; }; + 348EF1C6E450C433D89D58E43180DFB4 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 34C0510DA5591B0A0AAF0324C35A3C47 /* LOTRoundedRectAnimator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTRoundedRectAnimator.m; path = "lottie-ios/Classes/RenderSystem/AnimatorNodes/LOTRoundedRectAnimator.m"; sourceTree = ""; }; + 3503293B41437B20BCC213BAC329889A /* MJRefreshConst.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshConst.m; path = MJRefresh/MJRefreshConst.m; sourceTree = ""; }; + 3519F83688BAC79D81F96498C52D94AC /* ConstraintAttributes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintAttributes.swift; path = Source/ConstraintAttributes.swift; sourceTree = ""; }; + 357B61AA972B5D9C3A7C2D224E0AE557 /* NVActivityIndicatorAnimationBallZigZag.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallZigZag.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallZigZag.swift; sourceTree = ""; }; + 35AACB35406F1B2AE414A4F6EC164F26 /* Notifications.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Notifications.swift; path = Source/Notifications.swift; sourceTree = ""; }; + 35C86A5B40D4274E45F77E2638A2D04A /* LOTAsset.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTAsset.m; path = "lottie-ios/Classes/Models/LOTAsset.m"; sourceTree = ""; }; + 367ECBBE70BC4C1AF2ED73C22AB0189B /* LOTPathInterpolator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTPathInterpolator.m; path = "lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTPathInterpolator.m"; sourceTree = ""; }; + 38A06EA1567935F8EDAFC29DBF770E9B /* InteractiveAnimator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = InteractiveAnimator.swift; path = Sources/Animators/InteractiveAnimator/InteractiveAnimator.swift; sourceTree = ""; }; + 38E4C5C92A20E2A278898A98D8A983EB /* MultipartFormData.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MultipartFormData.swift; path = Source/MultipartFormData.swift; sourceTree = ""; }; + 39174E077D1B7E99D9AFCECAC1720680 /* MJRefreshNormalHeader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshNormalHeader.m; path = MJRefresh/Custom/Header/MJRefreshNormalHeader.m; sourceTree = ""; }; + 398B7859FA1ED9CE6B3A893DF92D2B3F /* SGPageTitleView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SGPageTitleView.m; path = SGPagingView/SGPageTitle/SGPageTitleView.m; sourceTree = ""; }; + 3A2B1DFB263B496B224B17EDFF64693E /* TableViewCellDesignable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TableViewCellDesignable.swift; path = Sources/Protocols/Designable/TableViewCellDesignable.swift; sourceTree = ""; }; + 3A44D9762E0E55A39789A32A7145A705 /* RefreshControlerDesignable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RefreshControlerDesignable.swift; path = Sources/Protocols/Designable/RefreshControlerDesignable.swift; sourceTree = ""; }; + 3A4D4DC02734A536B99D81F9FAF0933C /* Deferred.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Deferred.swift; path = RxSwift/Observables/Deferred.swift; sourceTree = ""; }; + 3A52B23990CF613901FEA42A2730D8DF /* NVActivityIndicatorAnimationPacman.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationPacman.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationPacman.swift; sourceTree = ""; }; + 3AC807891205C6C7DB3B49729A4D9BA3 /* LOTTransformInterpolator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTTransformInterpolator.m; path = "lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTTransformInterpolator.m"; sourceTree = ""; }; + 3ACB16ACA77EC7DC1DF6EC9F9CCE1CDF /* ActivityIndicatorAnimatable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorAnimatable.swift; path = Sources/Protocols/ActivityIndicator/ActivityIndicatorAnimatable.swift; sourceTree = ""; }; + 3AEDB8211337E5F41E5AD7372C213775 /* _RXObjCRuntime.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _RXObjCRuntime.h; path = RxCocoa/Runtime/include/_RXObjCRuntime.h; sourceTree = ""; }; + 3B245374095CE44FE85EEB6A6EB13185 /* TakeUntil.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TakeUntil.swift; path = RxSwift/Observables/TakeUntil.swift; sourceTree = ""; }; + 3B6A763BFF1C45C67B8C0A45D48F2963 /* SQLite.swift-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SQLite.swift-dummy.m"; sourceTree = ""; }; + 3BA7B602116D91F1691A1C1D17116FE9 /* LOTSizeInterpolator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTSizeInterpolator.h; path = "lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTSizeInterpolator.h"; sourceTree = ""; }; + 3C05201217EAB2256E2C4120AF221D21 /* SGPageContentView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SGPageContentView.h; path = SGPagingView/SGPageContent/SGPageContentView.h; sourceTree = ""; }; + 3C0DA2B0618170C960138363CD11C56D /* DispatchQueueConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DispatchQueueConfiguration.swift; path = RxSwift/Schedulers/Internal/DispatchQueueConfiguration.swift; sourceTree = ""; }; + 3C12C851DEE7B4DC31AFED301A063E5C /* ConcurrentMainScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConcurrentMainScheduler.swift; path = RxSwift/Schedulers/ConcurrentMainScheduler.swift; sourceTree = ""; }; + 3CD132F82D4AFE584A00DCF06E017092 /* HandyJSON.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = HandyJSON.xcconfig; sourceTree = ""; }; + 3CE8935D811FD62C8FA1CF6256AF37BA /* SwiftTheme-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SwiftTheme-umbrella.h"; sourceTree = ""; }; + 3D3DAF82336DC96DEF8F46DD11495ADA /* NVActivityIndicatorAnimationBallTrianglePath.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallTrianglePath.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallTrianglePath.swift; sourceTree = ""; }; + 3D70961927FBAEAE99C4A0BB9A0D93B5 /* AnimatableBarButtonItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnimatableBarButtonItem.swift; path = Sources/Views/AnimatableBarButtonItem.swift; sourceTree = ""; }; + 3DB546EED303EDD602A55E362946D30C /* Pods-News-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-News-frameworks.sh"; sourceTree = ""; }; + 3DC621FA7F983258288A19328BFCDA27 /* TurnAnimator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TurnAnimator.swift; path = Sources/Animators/TransitionAnimator/TurnAnimator.swift; sourceTree = ""; }; + 3DE89743DCE0C268E1C709C99A67F135 /* EnumType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EnumType.swift; path = Source/EnumType.swift; sourceTree = ""; }; + 3E2D17297F248D6602E49FE59A062C77 /* Pods_News.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_News.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 3E3C19C39F2F0BB15D78A73282106FFE /* ObservableConvertibleType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObservableConvertibleType.swift; path = RxSwift/ObservableConvertibleType.swift; sourceTree = ""; }; + 3E7032294CFA4F12B748BC72186F2161 /* LOTShapeTransform.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTShapeTransform.m; path = "lottie-ios/Classes/Models/LOTShapeTransform.m"; sourceTree = ""; }; + 3EA157A4DB7D8BC8E9ECD1951A56D10E /* UIProgressView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIProgressView+Rx.swift"; path = "RxCocoa/iOS/UIProgressView+Rx.swift"; sourceTree = ""; }; + 3EE90EA0775691569CA23DCB7252334A /* ActivityIndicatorAnimationAudioEqualizer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorAnimationAudioEqualizer.swift; path = Sources/ActivityIndicators/Animations/ActivityIndicatorAnimationAudioEqualizer.swift; sourceTree = ""; }; + 3EFE4549E78561A1AF80A0E64A8324AF /* lottie-ios.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "lottie-ios.xcconfig"; sourceTree = ""; }; + 3F93A497410124C5DDCAEA05F0FDE2C6 /* Binder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Binder.swift; path = RxCocoa/Common/Binder.swift; sourceTree = ""; }; + 3FE36C33D886EF7DC64E6ADE85C40356 /* ViewControllerAnimatedTransitioning.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ViewControllerAnimatedTransitioning.swift; path = Sources/Protocols/TransitionAnimatable/ViewControllerAnimatedTransitioning.swift; sourceTree = ""; }; + 4000F3E90F1F086632650C84EB77EDC7 /* LOTShapePath.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTShapePath.h; path = "lottie-ios/Classes/Models/LOTShapePath.h"; sourceTree = ""; }; + 4015E96E76A4781A15D4733A97BAEE1B /* AnimatableTableViewCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnimatableTableViewCell.swift; path = Sources/Views/AnimatableTableViewCell.swift; sourceTree = ""; }; + 40160B0920995852DDB4432A3BD349E6 /* NVActivityIndicatorAnimationBallRotateChase.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallRotateChase.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallRotateChase.swift; sourceTree = ""; }; + 40641CC6A6B9CA54A50E4CEDA60A6F70 /* LOTMaskContainer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTMaskContainer.h; path = "lottie-ios/Classes/AnimatableLayers/LOTMaskContainer.h"; sourceTree = ""; }; + 407B23110EC61A1182B9A7C213419762 /* LOTMask.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTMask.m; path = "lottie-ios/Classes/Models/LOTMask.m"; sourceTree = ""; }; + 40A055A29F50C838B3E05F6636F3F3CF /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 40E19E964245BE5852B4EE7A81A203BA /* SynchronizedUnsubscribeType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SynchronizedUnsubscribeType.swift; path = RxSwift/Concurrency/SynchronizedUnsubscribeType.swift; sourceTree = ""; }; + 40E27DA176745D0BD0BC456FFDDFCBF8 /* Result.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Result.swift; path = Source/Result.swift; sourceTree = ""; }; + 415372DB88A8802CD3B5C84816EAB3A0 /* DispatchQueue+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "DispatchQueue+Extensions.swift"; path = "Platform/DispatchQueue+Extensions.swift"; sourceTree = ""; }; + 416EA2ABAA912C2DFF4112C7E6B53757 /* RequestModifier.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RequestModifier.swift; path = Sources/RequestModifier.swift; sourceTree = ""; }; + 41AF13E332AD0185C3BAE6F45B0B04C3 /* LOTStrokeRenderer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTStrokeRenderer.h; path = "lottie-ios/Classes/RenderSystem/RenderNodes/LOTStrokeRenderer.h"; sourceTree = ""; }; + 41CAEF0219DF297DB5C9C9893EB04A64 /* FDFullscreenPopGesture.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = FDFullscreenPopGesture.modulemap; sourceTree = ""; }; + 41DFC0793478588F2636179F3BC6C93C /* SwiftyJSON-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SwiftyJSON-prefix.pch"; sourceTree = ""; }; + 42252615449A9C5469554DF0149BB755 /* SliderImagesDesignable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SliderImagesDesignable.swift; path = Sources/Protocols/Designable/SliderImagesDesignable.swift; sourceTree = ""; }; + 425BE6B170368F7BF7632FFD5146C9BD /* AnimationChainable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnimationChainable.swift; path = Sources/Others/AnimationChainable.swift; sourceTree = ""; }; + 426BEB1101A93738BCB670F7B19257AE /* LOTShapePath.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTShapePath.m; path = "lottie-ios/Classes/Models/LOTShapePath.m"; sourceTree = ""; }; + 43060279B561749EE198E8A67AABA928 /* ThemeManager+OC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ThemeManager+OC.swift"; path = "Source/ThemeManager+OC.swift"; sourceTree = ""; }; + 431AAE6755B94B57FBF7AB5DD02F4EBB /* HandyJSON.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = HandyJSON.modulemap; sourceTree = ""; }; + 432ACD5A62CBA88FFC9EF6B3DAECB3F8 /* ThemeCGFloatPicker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ThemeCGFloatPicker.swift; path = Source/ThemeCGFloatPicker.swift; sourceTree = ""; }; + 43473D3D3CB2884BA931E100D146BAB7 /* Never.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Never.swift; path = RxSwift/Observables/Never.swift; sourceTree = ""; }; + 43649EA63BC6AE01F1B9053E68C8583B /* Measuable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Measuable.swift; path = Source/Measuable.swift; sourceTree = ""; }; + 43AB06A2D3BB07CE23629C9267BDFA5D /* DeprecationWarner.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DeprecationWarner.swift; path = Platform/DeprecationWarner.swift; sourceTree = ""; }; + 43DD4975593170158E26400658C089FE /* ActivityIndicatorAnimating.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorAnimating.swift; path = Sources/Protocols/ActivityIndicator/ActivityIndicatorAnimating.swift; sourceTree = ""; }; + 440C90F3F5C301B9E904658C51B80654 /* TransformOf.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TransformOf.swift; path = Source/TransformOf.swift; sourceTree = ""; }; + 444420FB5FF99CF48641DD592FB7EF28 /* UIView+SGPagingView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIView+SGPagingView.m"; path = "SGPagingView/Category/UIView+SGPagingView.m"; sourceTree = ""; }; + 44F92EC984D7ED95518212A61FD1B8F0 /* PublishRelay.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PublishRelay.swift; path = RxCocoa/Traits/PublishRelay.swift; sourceTree = ""; }; + 455469F99FEF6C9AFE95285F628325DD /* SwiftyJSON.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SwiftyJSON.xcconfig; sourceTree = ""; }; + 4581A17B680D06A50A9EC4CFF34D28E1 /* PresentTurnWithDismissInteractionSegue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PresentTurnWithDismissInteractionSegue.swift; path = Sources/Segues/PresentTurnWithDismissInteractionSegue.swift; sourceTree = ""; }; + 461D2FB1F4204C8CA70D19FCBDF87196 /* Catch.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Catch.swift; path = RxSwift/Observables/Catch.swift; sourceTree = ""; }; + 463130A67D3E4014611BEEFB8FCF12BA /* SGPagingView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SGPagingView.h; path = SGPagingView/SGPagingView.h; sourceTree = ""; }; + 466BBB2EFC03F9AB415017F8AB695336 /* Disposables.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Disposables.swift; path = RxSwift/Disposables/Disposables.swift; sourceTree = ""; }; + 46C2480D7415560767CD6198478C8EC5 /* AnimatableTextField.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnimatableTextField.swift; path = Sources/Views/AnimatableTextField.swift; sourceTree = ""; }; + 46D1699CD58B9FD876D75AA67B077C51 /* InvocableScheduledItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = InvocableScheduledItem.swift; path = RxSwift/Schedulers/Internal/InvocableScheduledItem.swift; sourceTree = ""; }; + 46DF21C0EC88B52D36F4B93FC628C4AA /* Request.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Request.swift; path = Source/Request.swift; sourceTree = ""; }; + 4733150742C5E01CBD29B6F6733A80CC /* DistinctUntilChanged.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DistinctUntilChanged.swift; path = RxSwift/Observables/DistinctUntilChanged.swift; sourceTree = ""; }; + 475FF71B4D6604579384D486E2AF42D1 /* ViewControllerDesignable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ViewControllerDesignable.swift; path = Sources/Protocols/Designable/ViewControllerDesignable.swift; sourceTree = ""; }; + 47AA2746CC04D18AC86351AD7EA76A04 /* FDFullscreenPopGesture.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = FDFullscreenPopGesture.xcconfig; sourceTree = ""; }; + 483523A5391A8463603A62F5EF91B281 /* DeprecationWarner.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DeprecationWarner.swift; path = Platform/DeprecationWarner.swift; sourceTree = ""; }; + 485BAA3476101A16EC2D829E48443A0E /* ConcurrentDispatchQueueScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConcurrentDispatchQueueScheduler.swift; path = RxSwift/Schedulers/ConcurrentDispatchQueueScheduler.swift; sourceTree = ""; }; + 4886C8E0A0725BD450275411EA70D641 /* _RXDelegateProxy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _RXDelegateProxy.m; path = RxCocoa/Runtime/_RXDelegateProxy.m; sourceTree = ""; }; + 48F58C0344549D1796B71578341B834C /* First.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = First.swift; path = RxSwift/Observables/First.swift; sourceTree = ""; }; + 49475EA55F22572DD58F89ECDF8034D8 /* LOTShapeGroup.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTShapeGroup.h; path = "lottie-ios/Classes/Models/LOTShapeGroup.h"; sourceTree = ""; }; + 496BD2F1AFC0FDAF55693CEE82330C68 /* SwiftTheme.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SwiftTheme.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 49F31712D1386AE04219B86A821B3D28 /* ScheduledItemType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ScheduledItemType.swift; path = RxSwift/Schedulers/Internal/ScheduledItemType.swift; sourceTree = ""; }; + 4A0B7129B2E292278658D2C592E71D75 /* LOTPathAnimator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTPathAnimator.h; path = "lottie-ios/Classes/RenderSystem/AnimatorNodes/LOTPathAnimator.h"; sourceTree = ""; }; + 4A3CFB2922C9124459A35855ABD1678F /* SnapKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SnapKit-prefix.pch"; sourceTree = ""; }; + 4A89E26253C0892218B4CF62CD853131 /* ConnectableObservableType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConnectableObservableType.swift; path = RxSwift/ConnectableObservableType.swift; sourceTree = ""; }; + 4A8EB38A17F4B4A2B23A063D41A5C7D7 /* Disposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Disposable.swift; path = RxSwift/Disposable.swift; sourceTree = ""; }; + 4AB6CA4430FBE192DE684AA97EA337B9 /* WithLatestFrom.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = WithLatestFrom.swift; path = RxSwift/Observables/WithLatestFrom.swift; sourceTree = ""; }; + 4ADF0F1211DAD349D2FB15B056B57272 /* MJRefreshHeader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshHeader.h; path = MJRefresh/Base/MJRefreshHeader.h; sourceTree = ""; }; + 4BE5684ADFFBC44EF4630730D13BDE48 /* AnimatablePresentationController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnimatablePresentationController.swift; path = Sources/Controllers/AnimatablePresentationController.swift; sourceTree = ""; }; + 4BFAFF1C82F163C646075C6EE740D720 /* GroupBy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GroupBy.swift; path = RxSwift/Observables/GroupBy.swift; sourceTree = ""; }; + 4C0947E7028B8B7E6DB97BDDE5E95F0E /* SVProgressHUD.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SVProgressHUD.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 4C8D8716F24497E2910CA7A9E41762B0 /* RxCocoa.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = RxCocoa.modulemap; sourceTree = ""; }; + 4CDD148E7AE45BC20C1CB93A8C27A61E /* FDFullscreenPopGesture-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "FDFullscreenPopGesture-umbrella.h"; sourceTree = ""; }; + 4CF915B34E645E02A7C5565651CEDFE4 /* LOTAnimationTransitionController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTAnimationTransitionController.h; path = "lottie-ios/Classes/PublicHeaders/LOTAnimationTransitionController.h"; sourceTree = ""; }; + 4D46B138701178C1210B009825A7069C /* SnapKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SnapKit.modulemap; sourceTree = ""; }; + 4DBC92886CB3CB8533B34894F12681D5 /* LOTLayer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTLayer.h; path = "lottie-ios/Classes/Models/LOTLayer.h"; sourceTree = ""; }; + 4DD7A37BA0EAE534730B89DA53DA2093 /* AnimatableSlider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnimatableSlider.swift; path = Sources/Views/AnimatableSlider.swift; sourceTree = ""; }; + 4E3FC4770FFBF9B423E38D3606FF17B9 /* LOTMask.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTMask.h; path = "lottie-ios/Classes/Models/LOTMask.h"; sourceTree = ""; }; + 4E4DAF209E0D7516F0E460E0D17697DD /* CompositeDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CompositeDisposable.swift; path = RxSwift/Disposables/CompositeDisposable.swift; sourceTree = ""; }; + 4E8353411D931BAF23DAE40DFCA4BE7C /* CustomDateFormatTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CustomDateFormatTransform.swift; path = Source/CustomDateFormatTransform.swift; sourceTree = ""; }; + 4E8DB6541430D9BAA9F593D7436AA4CE /* Expression.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Expression.swift; path = Sources/SQLite/Typed/Expression.swift; sourceTree = ""; }; + 4F0D243DFC8F8A3CED9246A28DDA3C90 /* RxMutableBox.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxMutableBox.swift; path = RxSwift/RxMutableBox.swift; sourceTree = ""; }; + 4F1E23E810544CEBBEC861AEAE3F9206 /* RxCocoa.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxCocoa.swift; path = RxCocoa/RxCocoa.swift; sourceTree = ""; }; + 4F279C04646721C352D3D2FD20FB3C38 /* UIAlertAction+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIAlertAction+Rx.swift"; path = "RxCocoa/iOS/UIAlertAction+Rx.swift"; sourceTree = ""; }; + 4F6F2E000CA412D16AF5B5967ED5BB8E /* MJRefresh-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "MJRefresh-dummy.m"; sourceTree = ""; }; + 4FB888EF9FD58CC3B2F23EFBADA4D4E2 /* ObserveOn.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObserveOn.swift; path = RxSwift/Observables/ObserveOn.swift; sourceTree = ""; }; + 5023D914ADE908BD09333AC1651F50C7 /* LOTAnimationView_Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTAnimationView_Internal.h; path = "lottie-ios/Classes/Private/LOTAnimationView_Internal.h"; sourceTree = ""; }; + 507551A21856F938BBF15ED20550DAD9 /* NVActivityIndicatorAnimationBallClipRotatePulse.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallClipRotatePulse.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallClipRotatePulse.swift; sourceTree = ""; }; + 50BCB5AAF2705CBCFA657E03B8F42746 /* LayoutConstraint.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LayoutConstraint.swift; path = Source/LayoutConstraint.swift; sourceTree = ""; }; + 50F995B916B8DF42E9C344A3D26113C7 /* ConstraintConfig.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintConfig.swift; path = Source/ConstraintConfig.swift; sourceTree = ""; }; + 5115EDB5755D08D0D7744B4FE68D1231 /* ActivityIndicatorAnimationBallClipRotateMultiple.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorAnimationBallClipRotateMultiple.swift; path = Sources/ActivityIndicators/Animations/ActivityIndicatorAnimationBallClipRotateMultiple.swift; sourceTree = ""; }; + 51C847E5B27092E9E1A1C64372FC9A82 /* DisposeBag.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DisposeBag.swift; path = RxSwift/Disposables/DisposeBag.swift; sourceTree = ""; }; + 51E8DAD48CC72859126174EC5DE4AEDF /* Logger.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Logger.swift; path = Source/Logger.swift; sourceTree = ""; }; + 5293E62D6725229571CEA65DAC9B2DEC /* Navigator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Navigator.swift; path = Sources/Animators/Common/Navigator.swift; sourceTree = ""; }; + 530105EF92484449C3EFD615FDBADD2F /* ImageCache.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImageCache.swift; path = Sources/ImageCache.swift; sourceTree = ""; }; + 53324584453C14CAD59217E3F62BAF2A /* SVProgressHUD.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SVProgressHUD.m; path = SVProgressHUD/SVProgressHUD.m; sourceTree = ""; }; + 53945509DCAF51A8215B0FA83AB8558D /* TintDesignable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TintDesignable.swift; path = Sources/Protocols/Designable/TintDesignable.swift; sourceTree = ""; }; + 53C0DDFBCF0EBAD9F474621CAEF4D22B /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 53DFC8C8D220968BFDEB742AE5BE677B /* VirtualTimeConverterType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = VirtualTimeConverterType.swift; path = RxSwift/Schedulers/VirtualTimeConverterType.swift; sourceTree = ""; }; + 54BE5FDFFFBA1B7552E5F1DE4FF8A670 /* ObservableConvertibleType+Driver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ObservableConvertibleType+Driver.swift"; path = "RxCocoa/Traits/Driver/ObservableConvertibleType+Driver.swift"; sourceTree = ""; }; + 54C90FC1786ECDF380F0FDBA2111A15D /* LOTPointInterpolator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTPointInterpolator.m; path = "lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTPointInterpolator.m"; sourceTree = ""; }; + 54E22AEC5AD3CC8C68BD0A22EC0DA998 /* NVActivityIndicatorAnimationLineScalePulseOutRapid.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationLineScalePulseOutRapid.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationLineScalePulseOutRapid.swift; sourceTree = ""; }; + 55391A5C722C43A35D14A8194356C21A /* SubscriptionDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SubscriptionDisposable.swift; path = RxSwift/Disposables/SubscriptionDisposable.swift; sourceTree = ""; }; + 55972861C38295296111B9D4BBDD771D /* BMPlayer.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = BMPlayer.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 55C4B370871F8B45FFFA79D46F8BE59E /* MJRefreshFooter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshFooter.m; path = MJRefresh/Base/MJRefreshFooter.m; sourceTree = ""; }; + 55FB3D5208D8CBDD7803DDA5F636898B /* ConstraintMakerRelatable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerRelatable.swift; path = Source/ConstraintMakerRelatable.swift; sourceTree = ""; }; + 56187865DCD290495F8521B2C5578CAE /* LOTArrayInterpolator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTArrayInterpolator.h; path = "lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTArrayInterpolator.h"; sourceTree = ""; }; + 561F965D3F0B38F15A19711A23EC769F /* BackgroundImageDesignable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BackgroundImageDesignable.swift; path = Sources/Protocols/Designable/BackgroundImageDesignable.swift; sourceTree = ""; }; + 5671DB99E0F63C2BA3010E0AEC7427BC /* SnapKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SnapKit-dummy.m"; sourceTree = ""; }; + 572DAD287373D381E62FDD57C92C31AC /* SGPageTitleViewConfigure.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SGPageTitleViewConfigure.h; path = SGPagingView/SGPageTitle/SGPageTitleViewConfigure.h; sourceTree = ""; }; + 5758FA653685018C7D8607C4D8DC9A29 /* AnimatedImageView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnimatedImageView.swift; path = Sources/AnimatedImageView.swift; sourceTree = ""; }; + 57608B6480E6449AA898BD44C0551808 /* Timer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Timer.swift; path = RxSwift/Observables/Timer.swift; sourceTree = ""; }; + 579E6B368FBF8EE3FE5CA9A4281FDA4C /* DefaultIfEmpty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DefaultIfEmpty.swift; path = RxSwift/Observables/DefaultIfEmpty.swift; sourceTree = ""; }; + 57E6087FE1F9339E3EC8214276A02E8E /* Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Foundation.swift; path = Sources/SQLite/Foundation.swift; sourceTree = ""; }; + 5804E955373BD503DDC6B02FBF3E1B15 /* NVActivityIndicatorAnimationBallClipRotateMultiple.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallClipRotateMultiple.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallClipRotateMultiple.swift; sourceTree = ""; }; + 5808215369F555A801134C53C96D6AFD /* PresentationKeyboardTranslation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PresentationKeyboardTranslation.swift; path = Sources/Enums/PresentationKeyboardTranslation.swift; sourceTree = ""; }; + 5845DC8F1C128150C5C38B55EEB11C72 /* ThemeManager+Index.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ThemeManager+Index.swift"; path = "Source/ThemeManager+Index.swift"; sourceTree = ""; }; + 592F1DEC765D7B4B31AC29E2408AC6B1 /* UIColorExtension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = UIColorExtension.swift; path = Source/UIColorExtension.swift; sourceTree = ""; }; + 5942DDFA8BD22CE615E95823DE7482F1 /* UISearchBar+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UISearchBar+Rx.swift"; path = "RxCocoa/iOS/UISearchBar+Rx.swift"; sourceTree = ""; }; + 5A10D391BE6986EE152E32EF062FE0E0 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 5A4C50CDC05267F8428C2ECD9B85CD5D /* HistoricalScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HistoricalScheduler.swift; path = RxSwift/Schedulers/HistoricalScheduler.swift; sourceTree = ""; }; + 5ADC134716446177E187673A92B0C012 /* RxScrollViewDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxScrollViewDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxScrollViewDelegateProxy.swift; sourceTree = ""; }; + 5AF18340F49745E7E660F686AA316192 /* HandyJSON.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HandyJSON.h; path = Source/HandyJSON.h; sourceTree = ""; }; + 5AF6CA7BBB015B276071840A36B65889 /* AnimationType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnimationType.swift; path = Sources/Enums/AnimationType.swift; sourceTree = ""; }; + 5B2DDEF53A6DEF4768F2F471881886C1 /* Map.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Map.swift; path = RxSwift/Observables/Map.swift; sourceTree = ""; }; + 5B44F2A3D41FF7BED212AD727067ACE9 /* StatusBarDesignable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StatusBarDesignable.swift; path = Sources/Protocols/Designable/StatusBarDesignable.swift; sourceTree = ""; }; + 5B693EBDEA1F534536B8CAC711902BE8 /* Pods-News-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-News-acknowledgements.plist"; sourceTree = ""; }; + 5B814FE2FD46F4613C62200E98370962 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 5B99DFD72B1F0ABD76F9D3D6F6CB4DAD /* ActivityIndicatorAnimationBallGridBeat.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorAnimationBallGridBeat.swift; path = Sources/ActivityIndicators/Animations/ActivityIndicatorAnimationBallGridBeat.swift; sourceTree = ""; }; + 5C27766D0EC45174FBB5765B86FDE5FE /* NVActivityIndicatorAnimationBallClipRotate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallClipRotate.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallClipRotate.swift; sourceTree = ""; }; + 5C6A83961D876DB6B6D1189A8FE8E7DE /* Producer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Producer.swift; path = RxSwift/Observables/Producer.swift; sourceTree = ""; }; + 5D0F54C1F01547815ABBA97005DC89EC /* Observable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Observable.swift; path = RxSwift/Observable.swift; sourceTree = ""; }; + 5E22E8E23ECEEB5CB946F07D0CA883AE /* RxTextStorageDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTextStorageDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxTextStorageDelegateProxy.swift; sourceTree = ""; }; + 5E40C11A8EFEB738DE424DD6DA74DA73 /* ActivityIndicatorAnimationBallPulseSync.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorAnimationBallPulseSync.swift; path = Sources/ActivityIndicators/Animations/ActivityIndicatorAnimationBallPulseSync.swift; sourceTree = ""; }; + 5E6F333E417C8EADCBB7A49026B86C6D /* ActivityIndicatorAnimationBallScaleRipple.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorAnimationBallScaleRipple.swift; path = Sources/ActivityIndicators/Animations/ActivityIndicatorAnimationBallScaleRipple.swift; sourceTree = ""; }; + 5E7FDFB6FF222C20A7E47A1BC5B9DD6F /* ConstraintMaker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMaker.swift; path = Source/ConstraintMaker.swift; sourceTree = ""; }; + 5E85791BD46D073BEAC391FE812184C6 /* ThemeStatePicker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ThemeStatePicker.swift; path = Source/ThemeStatePicker.swift; sourceTree = ""; }; + 5F85CF5555D338AB6724D4601E9EF98C /* ThemeColorPicker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ThemeColorPicker.swift; path = Source/ThemeColorPicker.swift; sourceTree = ""; }; + 5FF962425D66E1C93EEF823B01FF6DDD /* PresentExplodeSegue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PresentExplodeSegue.swift; path = Sources/Segues/PresentExplodeSegue.swift; sourceTree = ""; }; + 603CF9DB9C423BE610F3006EBE59497F /* SVProgressHUD.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SVProgressHUD.h; path = SVProgressHUD/SVProgressHUD.h; sourceTree = ""; }; + 60DC533017B31DECB7905B4658CE0CF2 /* Alamofire-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Alamofire-prefix.pch"; sourceTree = ""; }; + 60E749D8A3027F5EEEAE197C7D39D0E1 /* ThemeDictionaryPicker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ThemeDictionaryPicker.swift; path = Source/ThemeDictionaryPicker.swift; sourceTree = ""; }; + 61BE91569B66F4FEAA6E6B3690D64ADB /* CGGeometry+LOTAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "CGGeometry+LOTAdditions.m"; path = "lottie-ios/Classes/Extensions/CGGeometry+LOTAdditions.m"; sourceTree = ""; }; + 61C1C4477B40F13968866137AFF0B4B7 /* BinaryDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BinaryDisposable.swift; path = RxSwift/Disposables/BinaryDisposable.swift; sourceTree = ""; }; + 61DFAE3C7E6F0D293FA6ADC673BE62E2 /* ObserverBase.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObserverBase.swift; path = RxSwift/Observers/ObserverBase.swift; sourceTree = ""; }; + 6215770D71913087A29E3F886B80F3E4 /* LOTPathAnimator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTPathAnimator.m; path = "lottie-ios/Classes/RenderSystem/AnimatorNodes/LOTPathAnimator.m"; sourceTree = ""; }; + 628D52371A2D76CCDB0ABC6D8B0A5F48 /* SQLite.swift-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SQLite.swift-prefix.pch"; sourceTree = ""; }; + 62BE7CD907AC6AB9BED4D0D08A9E10C1 /* PanInteractiveAnimator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PanInteractiveAnimator.swift; path = Sources/Animators/InteractiveAnimator/PanInteractiveAnimator.swift; sourceTree = ""; }; + 6330689B1BD22215D1DCCFF57DB35B33 /* PlaceholderDesignable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PlaceholderDesignable.swift; path = Sources/Protocols/Designable/PlaceholderDesignable.swift; sourceTree = ""; }; + 63BEA4DF5F060184638DE65DC6BA66B7 /* NVActivityIndicatorView.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = NVActivityIndicatorView.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 63D631D58DF519A5190D7975C6908F1E /* BMPlayer.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = BMPlayer.modulemap; sourceTree = ""; }; + 64678B91E6E52E05AF21CBFF3FBDDEF3 /* UIColor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = UIColor.m; path = "lottie-ios/Classes/MacCompatability/UIColor.m"; sourceTree = ""; }; + 64925F2880EA27EFA581E09A99086881 /* IBAnimatable-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "IBAnimatable-umbrella.h"; sourceTree = ""; }; + 6532AF9891126032BAA6C7EC838904F3 /* Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Rx.swift; path = RxSwift/Rx.swift; sourceTree = ""; }; + 654A5CBBE900C393E765D7F067F8DEFC /* MJRefresh.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = MJRefresh.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 657AA0B864645920811F0C6667463998 /* ShareReplayScope.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ShareReplayScope.swift; path = RxSwift/Observables/ShareReplayScope.swift; sourceTree = ""; }; + 658512D9B07170288E9EAD357608FFFD /* SVProgressHUD.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SVProgressHUD.xcconfig; sourceTree = ""; }; + 6667B70E1FC398161C0FA794405ED11D /* ThemeStatusBarStylePicker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ThemeStatusBarStylePicker.swift; path = Source/ThemeStatusBarStylePicker.swift; sourceTree = ""; }; + 667C8D02BE174B947D93ADF7707B087D /* Schema.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Schema.swift; path = Sources/SQLite/Typed/Schema.swift; sourceTree = ""; }; + 6691A780C5833E37A7370B2A05F80CA3 /* NVActivityIndicatorAnimationBallBeat.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallBeat.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallBeat.swift; sourceTree = ""; }; + 66AC079DD8FF2AE721DAA514D228FA92 /* HelpingMapper.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HelpingMapper.swift; path = Source/HelpingMapper.swift; sourceTree = ""; }; + 66B1D06E2BCCDC6DB01A0AD81F32CFA9 /* SessionDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SessionDelegate.swift; path = Source/SessionDelegate.swift; sourceTree = ""; }; + 66CC5FF7B8F846295744B2C8757D58AD /* LOTShapeFill.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTShapeFill.m; path = "lottie-ios/Classes/Models/LOTShapeFill.m"; sourceTree = ""; }; + 6700D779DCE09A70C73648E531B43548 /* LOTShapeStroke.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTShapeStroke.m; path = "lottie-ios/Classes/Models/LOTShapeStroke.m"; sourceTree = ""; }; + 67233E4C4624AC8CD58594D27490D881 /* ExtendCustomModelType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExtendCustomModelType.swift; path = Source/ExtendCustomModelType.swift; sourceTree = ""; }; + 6723B6EF3CFC6E7FA50031E11E703FA7 /* ObservableType+PrimitiveSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ObservableType+PrimitiveSequence.swift"; path = "RxSwift/Traits/ObservableType+PrimitiveSequence.swift"; sourceTree = ""; }; + 67257F0493C313AFB30213A477D40A25 /* Constants.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Constants.swift; path = Sources/Common/Constants.swift; sourceTree = ""; }; + 67866F2A81F6D4396FEFBFC65DF87F99 /* NVActivityIndicatorAnimationBallPulse.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallPulse.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallPulse.swift; sourceTree = ""; }; + 68122DDE19B26DF805C32C4BBACB7FDD /* SGPageTitleView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SGPageTitleView.h; path = SGPagingView/SGPageTitle/SGPageTitleView.h; sourceTree = ""; }; + 681E788E354A7A14B770B7B1C4F01CD5 /* MJRefresh.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = MJRefresh.modulemap; sourceTree = ""; }; + 68757E28F2CD15B1CB727F3A9B99EE28 /* ActivityIndicatorFactory.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorFactory.swift; path = Sources/ActivityIndicators/Common/ActivityIndicatorFactory.swift; sourceTree = ""; }; + 68BE291526C36EE1D87ED4ECEB10B62F /* MJRefreshAutoNormalFooter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshAutoNormalFooter.m; path = MJRefresh/Custom/Footer/Auto/MJRefreshAutoNormalFooter.m; sourceTree = ""; }; + 6967C164D7D75419611C4BBB99072379 /* ConstraintItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintItem.swift; path = Source/ConstraintItem.swift; sourceTree = ""; }; + 69A3D3A77482953B2495AF8136F9A53E /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 69BF92FC95CF33E07E808E437E4078B9 /* AnimatableCollectionViewCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnimatableCollectionViewCell.swift; path = Sources/Views/AnimatableCollectionViewCell.swift; sourceTree = ""; }; + 69EE3A74BEDC1D5E819A308564221189 /* MJRefreshStateHeader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshStateHeader.h; path = MJRefresh/Custom/Header/MJRefreshStateHeader.h; sourceTree = ""; }; + 6A98CF39CDBA5939DACE3FC00D87DE0C /* LOTAnimatorNode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTAnimatorNode.m; path = "lottie-ios/Classes/RenderSystem/LOTAnimatorNode.m"; sourceTree = ""; }; + 6ABA735DF69F0869B44E5DBC5CFF4928 /* RxSwift-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "RxSwift-dummy.m"; sourceTree = ""; }; + 6AE868EA2541F35475745791C5F02448 /* Concat.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Concat.swift; path = RxSwift/Observables/Concat.swift; sourceTree = ""; }; + 6AF24E615320E73ABD5F76ECD64C9CE6 /* MJRefreshStateHeader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshStateHeader.m; path = MJRefresh/Custom/Header/MJRefreshStateHeader.m; sourceTree = ""; }; + 6B01676BF4480669DB9E3452EC1CED74 /* ActivityIndicatorAnimationBallScale.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorAnimationBallScale.swift; path = Sources/ActivityIndicators/Animations/ActivityIndicatorAnimationBallScale.swift; sourceTree = ""; }; + 6B3EBB8D8669EE976DF82A8EDD890B99 /* LOTValueCallback.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTValueCallback.h; path = "lottie-ios/Classes/PublicHeaders/LOTValueCallback.h"; sourceTree = ""; }; + 6C0B3671ACB4D1B468E5712A68CFB277 /* IBAnimatable-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "IBAnimatable-dummy.m"; sourceTree = ""; }; + 6C0CE40DEBA0DD12A22BF841FAFA2614 /* MJRefreshGifHeader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshGifHeader.m; path = MJRefresh/Custom/Header/MJRefreshGifHeader.m; sourceTree = ""; }; + 6CAF593FB620DA5A557DDE1EE870010D /* DateTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DateTransform.swift; path = Source/DateTransform.swift; sourceTree = ""; }; + 6D8D81CF5BB20DEC0CF783E5698D1197 /* TransitionAnimatable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TransitionAnimatable.swift; path = Sources/Protocols/TransitionAnimatable/TransitionAnimatable.swift; sourceTree = ""; }; + 6D92C42BCBDF47945BEA017109BEFEA3 /* LOTAsset.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTAsset.h; path = "lottie-ios/Classes/Models/LOTAsset.h"; sourceTree = ""; }; + 6DA4BA3E64A85A92723110D96BF08883 /* ActivityIndicatorAnimationBallRotateChase.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorAnimationBallRotateChase.swift; path = Sources/ActivityIndicators/Animations/ActivityIndicatorAnimationBallRotateChase.swift; sourceTree = ""; }; + 6E268CC9889BB277B18F84BA6858BE1F /* NVActivityIndicatorPresenter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorPresenter.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Presenter/NVActivityIndicatorPresenter.swift; sourceTree = ""; }; + 6E335372A697A443893A255691E26A43 /* Platform.Darwin.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Platform.Darwin.swift; path = Platform/Platform.Darwin.swift; sourceTree = ""; }; + 6E5DBF0FB6B864651193FB6078C4D55C /* AnimatableTextView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnimatableTextView.swift; path = Sources/Views/AnimatableTextView.swift; sourceTree = ""; }; + 6E93A58C4C0571288BF9D5D983A548B3 /* BehaviorRelay+Driver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "BehaviorRelay+Driver.swift"; path = "RxCocoa/Traits/Driver/BehaviorRelay+Driver.swift"; sourceTree = ""; }; + 6EB1BB77741876D211ABE8874D4BDBFC /* NSValue+Compat.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSValue+Compat.h"; path = "lottie-ios/Classes/MacCompatability/NSValue+Compat.h"; sourceTree = ""; }; + 6F1F7CBE32DB497A50FCB1331208B807 /* MJRefreshBackNormalFooter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshBackNormalFooter.h; path = MJRefresh/Custom/Footer/Back/MJRefreshBackNormalFooter.h; sourceTree = ""; }; + 6F2CC0D610B7CA66F0261DE581FF038F /* Export.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Export.swift; path = Source/Export.swift; sourceTree = ""; }; + 6F5D602D602576CAD1DC374D73E7EFC0 /* BMPlayerClearityChooseButton.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BMPlayerClearityChooseButton.swift; path = Source/BMPlayerClearityChooseButton.swift; sourceTree = ""; }; + 6FB1FBB4EC817CA9A8741BBED466B240 /* ActivityIndicatorType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorType.swift; path = Sources/Enums/ActivityIndicatorType.swift; sourceTree = ""; }; 6FBDBE6445AF88411C9958F8A4526B9E /* NVActivityIndicatorView.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = NVActivityIndicatorView.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 6FD7EB715389F632BBBE45A95ACC2ABD /* Deserializer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Deserializer.swift; path = Source/Deserializer.swift; sourceTree = ""; }; - 701A594B2C38DF07995B48AC29AD28FE /* NVActivityIndicatorAnimationAudioEqualizer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationAudioEqualizer.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationAudioEqualizer.swift; sourceTree = ""; }; - 701E52A2A396BE62CEE4FFE14CD72B4D /* EnumTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EnumTransform.swift; path = Source/EnumTransform.swift; sourceTree = ""; }; - 706DE048E23761818983090ADC64E902 /* NVActivityIndicatorView.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = NVActivityIndicatorView.modulemap; sourceTree = ""; }; - 709BABE45724E0A32318BE165B9968AB /* fts3_tokenizer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = fts3_tokenizer.h; path = Sources/SQLiteObjc/fts3_tokenizer.h; sourceTree = ""; }; - 70A1496EC79D1E684801EA9609735604 /* RxNavigationControllerDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxNavigationControllerDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxNavigationControllerDelegateProxy.swift; sourceTree = ""; }; - 70F25435B3FD1356F35DC659617691A2 /* LOTTransformInterpolator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTTransformInterpolator.m; path = "lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTTransformInterpolator.m"; sourceTree = ""; }; - 710D0B01AA6F1E5DA16DAECF8A661206 /* ViewControllerAnimatedTransitioning.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ViewControllerAnimatedTransitioning.swift; path = Sources/Protocols/TransitionAnimatable/ViewControllerAnimatedTransitioning.swift; sourceTree = ""; }; - 7110C0759CF18D7B5820D6B7817BE69B /* TintDesignable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TintDesignable.swift; path = Sources/Protocols/Designable/TintDesignable.swift; sourceTree = ""; }; - 7111860DD463939B4D2B036339267998 /* LOTAnimationView_Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTAnimationView_Internal.h; path = "lottie-ios/Classes/Private/LOTAnimationView_Internal.h"; sourceTree = ""; }; - 713C293A444D6998B1AC1CAE900A2A85 /* BlurEffectStyle.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlurEffectStyle.swift; path = Sources/Enums/BlurEffectStyle.swift; sourceTree = ""; }; - 72CB7C24D77E94EAD2AF4982AF263FF2 /* RxWebViewDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxWebViewDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxWebViewDelegateProxy.swift; sourceTree = ""; }; - 7341C47DB244C2DFD49E11E8136F4808 /* UIView+MJExtension.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIView+MJExtension.m"; path = "MJRefresh/UIView+MJExtension.m"; sourceTree = ""; }; - 738EDF65D01D4941FC7C446B9AE826E0 /* RxSearchControllerDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxSearchControllerDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxSearchControllerDelegateProxy.swift; sourceTree = ""; }; - 73C313BA9F8EF7AC2ADB43F94ABBE860 /* NVActivityIndicatorAnimationBallScale.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallScale.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallScale.swift; sourceTree = ""; }; - 740F848D4A36AA052A9EF6E9F89E49F2 /* String+MD5.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+MD5.swift"; path = "Sources/String+MD5.swift"; sourceTree = ""; }; - 745938C8D2B74C24F86F4D614D4792E6 /* LOTNumberInterpolator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTNumberInterpolator.m; path = "lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTNumberInterpolator.m"; sourceTree = ""; }; - 749A67AC6E14DE070565470E422604B1 /* LOTShapeStar.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTShapeStar.m; path = "lottie-ios/Classes/Models/LOTShapeStar.m"; sourceTree = ""; }; - 74BEF5B274FE1F92D4A31639B21FF380 /* NSTextStorage+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSTextStorage+Rx.swift"; path = "RxCocoa/iOS/NSTextStorage+Rx.swift"; sourceTree = ""; }; - 75F45229D339AC713D31EC67F9B1E175 /* StartWith.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StartWith.swift; path = RxSwift/Observables/StartWith.swift; sourceTree = ""; }; - 7660AF1A7951DAC43C40D41426C55209 /* NominalType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NominalType.swift; path = Source/NominalType.swift; sourceTree = ""; }; - 766DB823A8224BA89FAE0C1FCB11A051 /* AnimatorFactory.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnimatorFactory.swift; path = Sources/Animators/Common/AnimatorFactory.swift; sourceTree = ""; }; - 768D7FC0C57A35F2913F51053BCCBE9F /* Completable+AndThen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Completable+AndThen.swift"; path = "RxSwift/Traits/Completable+AndThen.swift"; sourceTree = ""; }; - 76956FD244DF6D4EA1EB385E4DE929B7 /* UINavigationController+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UINavigationController+Rx.swift"; path = "RxCocoa/iOS/UINavigationController+Rx.swift"; sourceTree = ""; }; - 7736DFFDF9752D2828AC00225212DDBD /* RxTabBarDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTabBarDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxTabBarDelegateProxy.swift; sourceTree = ""; }; - 77513784EBB76DD7BE5E4F605570DEDB /* Materialize.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Materialize.swift; path = RxSwift/Observables/Materialize.swift; sourceTree = ""; }; - 7763FEF399E482413A4BF4014501EB2D /* MJRefreshAutoStateFooter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshAutoStateFooter.h; path = MJRefresh/Custom/Footer/Auto/MJRefreshAutoStateFooter.h; sourceTree = ""; }; - 7798E3F29C0D6F6F9BEC64F9B157C85C /* LOTShapeTransform.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTShapeTransform.m; path = "lottie-ios/Classes/Models/LOTShapeTransform.m"; sourceTree = ""; }; - 77CFCE4B7CD41EF943170060CE7BCDD4 /* RxPickerViewAdapter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxPickerViewAdapter.swift; path = RxCocoa/iOS/DataSources/RxPickerViewAdapter.swift; sourceTree = ""; }; - 78021542B45F3EBDAA75FFB4E7BB05E5 /* Request.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Request.swift; path = Source/Request.swift; sourceTree = ""; }; - 7838CBF59299AC18B1178B2E9FD304ED /* SGPageTitleViewConfigure.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SGPageTitleViewConfigure.m; path = SGPagingView/SGPageTitle/SGPageTitleViewConfigure.m; sourceTree = ""; }; - 785F9D56026FA287C5B82D17B4E79344 /* ConstraintMakerExtendable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerExtendable.swift; path = Source/ConstraintMakerExtendable.swift; sourceTree = ""; }; - 78CA669C149747E5167EF3CD7D3188A8 /* MJRefresh.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefresh.h; path = MJRefresh/MJRefresh.h; sourceTree = ""; }; - 78EFCA3D7402E3F62133AF9A270450D7 /* SGPagingView-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SGPagingView-prefix.pch"; sourceTree = ""; }; - 7979AF77048894DDDDD59F629236A8CE /* BinaryDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BinaryDisposable.swift; path = RxSwift/Disposables/BinaryDisposable.swift; sourceTree = ""; }; - 79C10F4F34358AF0A070BC4A46D6E743 /* NVActivityIndicatorView.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = NVActivityIndicatorView.xcconfig; sourceTree = ""; }; - 79E49EB988BB0ECE3365051A6066B49B /* MJRefreshNormalHeader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshNormalHeader.m; path = MJRefresh/Custom/Header/MJRefreshNormalHeader.m; sourceTree = ""; }; - 7A17C7910A923129DDFA85DD0109B20F /* NVActivityIndicatorAnimationSquareSpin.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationSquareSpin.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationSquareSpin.swift; sourceTree = ""; }; - 7A1CD3D434D6242B96BE95DD1D184A20 /* ObservableType+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ObservableType+Extensions.swift"; path = "RxSwift/ObservableType+Extensions.swift"; sourceTree = ""; }; - 7A7359B957586EA38EFA2C512A235254 /* LOTAnimationTransitionController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTAnimationTransitionController.h; path = "lottie-ios/Classes/PublicHeaders/LOTAnimationTransitionController.h"; sourceTree = ""; }; - 7B2E4E3D789CD87984E6D145BA1929D4 /* Configuration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Configuration.swift; path = Source/Configuration.swift; sourceTree = ""; }; - 7B85B8F95835A717D07373D6755CCF1A /* AnimatableStackView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnimatableStackView.swift; path = Sources/Views/AnimatableStackView.swift; sourceTree = ""; }; - 7B8EE07FF4351A72D3EC86DD54283ED5 /* UIPickerView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIPickerView+Rx.swift"; path = "RxCocoa/iOS/UIPickerView+Rx.swift"; sourceTree = ""; }; - 7BA1626FF67C446BC2967842F018AC7C /* RefreshControlerDesignable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RefreshControlerDesignable.swift; path = Sources/Protocols/Designable/RefreshControlerDesignable.swift; sourceTree = ""; }; - 7C71DA4B3D5A8B1A6042DC9552B0DBAB /* Kingfisher-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Kingfisher-dummy.m"; sourceTree = ""; }; - 7C9A7E4F141E41A9851EC7AF36D34EA5 /* ImageModifier.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImageModifier.swift; path = Sources/ImageModifier.swift; sourceTree = ""; }; - 7CAEA730BE4995D03D18870CED2B53CE /* SubscriptionDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SubscriptionDisposable.swift; path = RxSwift/Disposables/SubscriptionDisposable.swift; sourceTree = ""; }; - 7CB20B4AD50D9869EA097B460139DA53 /* RxSearchBarDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxSearchBarDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxSearchBarDelegateProxy.swift; sourceTree = ""; }; - 7CDA8FA3E6A6EF62B2AC8608EBB21875 /* Typealiases.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Typealiases.swift; path = Source/Typealiases.swift; sourceTree = ""; }; - 7D38CA4F5338AAE06655D32F6682FAD9 /* LOTCircleAnimator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTCircleAnimator.h; path = "lottie-ios/Classes/RenderSystem/AnimatorNodes/LOTCircleAnimator.h"; sourceTree = ""; }; - 7D3FA654DB0D17A27059DCFFA737919C /* NVActivityIndicatorAnimationBallPulse.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallPulse.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallPulse.swift; sourceTree = ""; }; - 7DA24446C530A40CA1A86B34DF9FD5BB /* MJRefreshFooter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshFooter.h; path = MJRefresh/Base/MJRefreshFooter.h; sourceTree = ""; }; - 7E001C7667612713192AB3356937E824 /* SkipUntil.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SkipUntil.swift; path = RxSwift/Observables/SkipUntil.swift; sourceTree = ""; }; - 7E1CBF52C0A0803B1A3494D396E0693C /* MJRefreshBackGifFooter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshBackGifFooter.m; path = MJRefresh/Custom/Footer/Back/MJRefreshBackGifFooter.m; sourceTree = ""; }; - 7EC4BE2323F5FEE5106974DD88365BA6 /* RetryWhen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RetryWhen.swift; path = RxSwift/Observables/RetryWhen.swift; sourceTree = ""; }; - 7EC894725E9BB06F02EC6692F25B2707 /* Pods-News-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-News-acknowledgements.plist"; sourceTree = ""; }; - 7ECC4727E7FB790A52A8708A4CF3F155 /* AnyObserver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnyObserver.swift; path = RxSwift/AnyObserver.swift; sourceTree = ""; }; - 7EF44E898E13DE028D976A03505C9705 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 7EFA9638B0189D4C53B25E227B4C379F /* AsMaybe.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AsMaybe.swift; path = RxSwift/Observables/AsMaybe.swift; sourceTree = ""; }; - 7F6015DAC6DDE41EEB853A84F76714F7 /* DisposeBag.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DisposeBag.swift; path = RxSwift/Disposables/DisposeBag.swift; sourceTree = ""; }; - 7F6296EE937FC1B5C6857D1415A43D57 /* ConstraintAttributes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintAttributes.swift; path = Source/ConstraintAttributes.swift; sourceTree = ""; }; - 7F6F1F9C23887ECE00D1D9F702032015 /* LOTCacheProvider.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTCacheProvider.h; path = "lottie-ios/Classes/PublicHeaders/LOTCacheProvider.h"; sourceTree = ""; }; - 7FDEC95FF6C751B0F0393A1471E91C9C /* PresentExplodeSegue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PresentExplodeSegue.swift; path = Sources/Segues/PresentExplodeSegue.swift; sourceTree = ""; }; - 8002AD4FB360150E21916C41483BD549 /* RxSwift.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = RxSwift.modulemap; sourceTree = ""; }; - 80089D9BDA8AF6850A3099D0742654FF /* ActivityIndicatorAnimationBallPulseSync.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorAnimationBallPulseSync.swift; path = Sources/ActivityIndicators/Animations/ActivityIndicatorAnimationBallPulseSync.swift; sourceTree = ""; }; - 8048585CED7DB00085A27F1E42674C08 /* UIView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIView+Rx.swift"; path = "RxCocoa/iOS/UIView+Rx.swift"; sourceTree = ""; }; - 80B02574B0F8EDCEE7FB168E4A94848A /* Reduce.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Reduce.swift; path = RxSwift/Observables/Reduce.swift; sourceTree = ""; }; - 810FEB19327309ACB4F4D308EE6F5AEE /* ActivityIndicatorAnimationBallBeat.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorAnimationBallBeat.swift; path = Sources/ActivityIndicators/Animations/ActivityIndicatorAnimationBallBeat.swift; sourceTree = ""; }; - 81DD2E35494B127C5FDBEE06E4808AD8 /* SwiftTheme-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SwiftTheme-umbrella.h"; sourceTree = ""; }; - 81E52EF4934D8DCE72189B3110768E2C /* Deprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Deprecated.swift; path = RxCocoa/Deprecated.swift; sourceTree = ""; }; - 81EBB1A8AA770DEF23561062C6C66A90 /* MJRefreshComponent.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshComponent.m; path = MJRefresh/Base/MJRefreshComponent.m; sourceTree = ""; }; - 82411C76F4019797791D0A9DA5263707 /* LOTLayerContainer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTLayerContainer.m; path = "lottie-ios/Classes/AnimatableLayers/LOTLayerContainer.m"; sourceTree = ""; }; - 824F3411CD7152831B86BFAED437FE40 /* LOTCacheProvider.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTCacheProvider.m; path = "lottie-ios/Classes/Private/LOTCacheProvider.m"; sourceTree = ""; }; - 82A9E28BCA673437AB73D6052CAABF3B /* ActivityIndicatorAnimationOrbit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorAnimationOrbit.swift; path = Sources/ActivityIndicators/Animations/ActivityIndicatorAnimationOrbit.swift; sourceTree = ""; }; - 82B4A242E0BC3BC2581DD1C49FDA6479 /* Completable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Completable.swift; path = RxSwift/Traits/Completable.swift; sourceTree = ""; }; - 83F222FD0D14119E2854454E19983A1A /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 840EA27332E1EF7A63B178BBD8E9670A /* MJRefreshHeader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshHeader.h; path = MJRefresh/Base/MJRefreshHeader.h; sourceTree = ""; }; - 84649FD6A4894D8DCBC4A1D05667666F /* ActivityIndicatorAnimationBallGridPulse.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorAnimationBallGridPulse.swift; path = Sources/ActivityIndicators/Animations/ActivityIndicatorAnimationBallGridPulse.swift; sourceTree = ""; }; - 855763F935A0CF731CAEB100ABD1EA0C /* NVActivityIndicatorAnimationLineScalePulseOut.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationLineScalePulseOut.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationLineScalePulseOut.swift; sourceTree = ""; }; - 859BAB63BD39CCE1786554310C6CEBA2 /* SynchronizedUnsubscribeType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SynchronizedUnsubscribeType.swift; path = RxSwift/Concurrency/SynchronizedUnsubscribeType.swift; sourceTree = ""; }; - 85C23CB62448ADB46A776DF49F3CE892 /* ConstraintMakerRelatable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerRelatable.swift; path = Source/ConstraintMakerRelatable.swift; sourceTree = ""; }; - 862213A9B1495DCEFB4C0C64E9D7CF86 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 86527B12A31E2ED4657C2C7B994F403B /* ThemeCGColorPicker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ThemeCGColorPicker.swift; path = Source/ThemeCGColorPicker.swift; sourceTree = ""; }; - 867A7B5F03FCDDC85BFD92DFEC2A5AE9 /* NSObject+Rx+KVORepresentable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSObject+Rx+KVORepresentable.swift"; path = "RxCocoa/Foundation/NSObject+Rx+KVORepresentable.swift"; sourceTree = ""; }; - 867C85CEB5EE894A2C6301EAC2C52367 /* UIView+SGPagingView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIView+SGPagingView.h"; path = "SGPagingView/Category/UIView+SGPagingView.h"; sourceTree = ""; }; - 8699C09F715A641BC89BC4ADF1F4A9B6 /* SQLite.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SQLite.h; path = Sources/SQLite/SQLite.h; sourceTree = ""; }; - 86B6E2EB2A20EC3A39358FE69BF3C6FC /* BMPlayer-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "BMPlayer-dummy.m"; sourceTree = ""; }; - 86BA55241DFAFF360706B7ACFDE8CBC0 /* ISO8601DateTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ISO8601DateTransform.swift; path = Source/ISO8601DateTransform.swift; sourceTree = ""; }; - 86C06DF9D205B7E1B87CE1FA52D890F1 /* MJRefreshBackFooter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshBackFooter.h; path = MJRefresh/Base/MJRefreshBackFooter.h; sourceTree = ""; }; - 87192F577D49B7A82D2E419B5F00784C /* Amb.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Amb.swift; path = RxSwift/Observables/Amb.swift; sourceTree = ""; }; - 876E959AC74C7A9D9795BCC831E895BF /* Collation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Collation.swift; path = Sources/SQLite/Typed/Collation.swift; sourceTree = ""; }; - 878EC885E2E3E59A3C74784C5969010D /* TaskDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TaskDelegate.swift; path = Source/TaskDelegate.swift; sourceTree = ""; }; - 87A1D8342741643911F11578FD99C519 /* Filter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Filter.swift; path = RxSwift/Observables/Filter.swift; sourceTree = ""; }; - 8846D7B8A473E71D165FD9EA2EC1A17D /* Repeat.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Repeat.swift; path = RxSwift/Observables/Repeat.swift; sourceTree = ""; }; - 88B9D773F77B8E056D239FBD45C1048D /* UIViewControllerExtension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = UIViewControllerExtension.swift; path = Sources/Extensions/UIViewControllerExtension.swift; sourceTree = ""; }; - 899B5B55A34EAF50762B6CE9F07F8361 /* InteractiveAnimator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = InteractiveAnimator.swift; path = Sources/Animators/InteractiveAnimator/InteractiveAnimator.swift; sourceTree = ""; }; - 89A45CE9F89C9C64318952E32F63791D /* BMPlayerProtocols.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BMPlayerProtocols.swift; path = Source/BMPlayerProtocols.swift; sourceTree = ""; }; - 89F41CAE075546B34E66486842D26DA4 /* UIColor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = UIColor.m; path = "lottie-ios/Classes/MacCompatability/UIColor.m"; sourceTree = ""; }; - 8A6B314CF5090F68E94460E9B6BA7245 /* SnapKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = SnapKit.framework; path = SnapKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 8ABEDDB5EF5CA74B99D9DF9261D9ED40 /* Properties.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Properties.swift; path = Source/Properties.swift; sourceTree = ""; }; - 8AC9E453A52AEE2EE2B627B8D22F550B /* ActivityIndicatorAnimationLineScale.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorAnimationLineScale.swift; path = Sources/ActivityIndicators/Animations/ActivityIndicatorAnimationLineScale.swift; sourceTree = ""; }; - 8B1DCB2E0F64F2F92362AEC52C0483ED /* MJRefresh-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "MJRefresh-dummy.m"; sourceTree = ""; }; - 8B6B7EA8BBBC7ED0143D83E3F0A539E0 /* UIRefreshControl+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIRefreshControl+Rx.swift"; path = "RxCocoa/iOS/UIRefreshControl+Rx.swift"; sourceTree = ""; }; - 8BE2D4D474E369DFF9ED04445DBB90EB /* AsSingle.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AsSingle.swift; path = RxSwift/Observables/AsSingle.swift; sourceTree = ""; }; - 8C080498CC28B3C050A70C19BD894E40 /* PresentCardsSegue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PresentCardsSegue.swift; path = Sources/Segues/PresentCardsSegue.swift; sourceTree = ""; }; - 8C62285A96F51DDBA109778EC6462374 /* NVActivityIndicatorAnimationLineSpinFadeLoader.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationLineSpinFadeLoader.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationLineSpinFadeLoader.swift; sourceTree = ""; }; - 8D4A2557F1BFB94C5F0FD75B8FE08438 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 7023245743305E4FAC34F7788584F96B /* RxPickerViewAdapter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxPickerViewAdapter.swift; path = RxCocoa/iOS/DataSources/RxPickerViewAdapter.swift; sourceTree = ""; }; + 702D0C31E770BE07F3FAC3B69F398840 /* Kingfisher.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Kingfisher.modulemap; sourceTree = ""; }; + 7037C7DD6C8C8FDCC83176ACE9F8EE85 /* LOTAnimatedSwitch.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTAnimatedSwitch.h; path = "lottie-ios/Classes/PublicHeaders/LOTAnimatedSwitch.h"; sourceTree = ""; }; + 704E11B646BB5F26CF83EB2296FE1AB6 /* LOTSizeInterpolator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTSizeInterpolator.m; path = "lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTSizeInterpolator.m"; sourceTree = ""; }; + 7153A59AB9B9D59EF1D98030899EC825 /* NVActivityIndicatorAnimationBallRotate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallRotate.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallRotate.swift; sourceTree = ""; }; + 71704ECF16D98E27F099E453EE881A48 /* CornerDesignable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CornerDesignable.swift; path = Sources/Protocols/Designable/CornerDesignable.swift; sourceTree = ""; }; + 7173C5FAFE07F645AEF8375753D81F0A /* Typealias.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Typealias.swift; path = Sources/Common/Typealias.swift; sourceTree = ""; }; + 717F030078D1EFCEAB156CAEAD87C3FC /* BorderDesignable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BorderDesignable.swift; path = Sources/Protocols/Designable/BorderDesignable.swift; sourceTree = ""; }; + 71B917260447AF5987AB5F2EC8470684 /* ServerTrustPolicy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ServerTrustPolicy.swift; path = Source/ServerTrustPolicy.swift; sourceTree = ""; }; + 71C9EE08CB072641FDDC0DFCA7370788 /* RxTableViewDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTableViewDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxTableViewDelegateProxy.swift; sourceTree = ""; }; + 72A18F5C9AFFE4FAEFB3FF4A092F90AB /* UIStepper+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIStepper+Rx.swift"; path = "RxCocoa/iOS/UIStepper+Rx.swift"; sourceTree = ""; }; + 72E651720F2D2935F0310AF23D27764C /* Setter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Setter.swift; path = Sources/SQLite/Typed/Setter.swift; sourceTree = ""; }; + 7306673949C7A4E3B6123476659E0A32 /* NatGeoAnimator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NatGeoAnimator.swift; path = Sources/Animators/TransitionAnimator/NatGeoAnimator.swift; sourceTree = ""; }; + 7321D02EC8F5E16977EC84C8E17D5501 /* Connection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Connection.swift; path = Sources/SQLite/Core/Connection.swift; sourceTree = ""; }; + 733862D09B02C560283CE9B632496A3F /* Signal+Subscription.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Signal+Subscription.swift"; path = "RxCocoa/Traits/Signal/Signal+Subscription.swift"; sourceTree = ""; }; + 73A6A64A96114CEA675C32C7872C4861 /* Single.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Single.swift; path = RxSwift/Traits/Single.swift; sourceTree = ""; }; + 7448F81CF7C82E2FEF82A1E0E1EF0162 /* Bag+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Bag+Rx.swift"; path = "RxSwift/Extensions/Bag+Rx.swift"; sourceTree = ""; }; + 745001BEBAC5DF68B75903A7AC04B1D8 /* _RXDelegateProxy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _RXDelegateProxy.h; path = RxCocoa/Runtime/include/_RXDelegateProxy.h; sourceTree = ""; }; + 7453C4D418ADA0327E5DF087A0E41443 /* Indicator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Indicator.swift; path = Sources/Indicator.swift; sourceTree = ""; }; + 755FD33A78EF7C1B2DD7296DF7C92A62 /* SharedSequence+Operators.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "SharedSequence+Operators.swift"; path = "RxCocoa/Traits/SharedSequence/SharedSequence+Operators.swift"; sourceTree = ""; }; + 757829DA2ED46B93B7A35FC27BAC4951 /* FadeAnimator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FadeAnimator.swift; path = Sources/Animators/TransitionAnimator/FadeAnimator.swift; sourceTree = ""; }; + 7595EF44D5F8A16CCB4D3645C921FD5C /* CornerSide.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CornerSide.swift; path = Sources/Enums/CornerSide.swift; sourceTree = ""; }; + 75B1EB4E9E7392954C622C1E44E4C903 /* ThemeActivityIndicatorViewStylePicker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ThemeActivityIndicatorViewStylePicker.swift; path = Source/ThemeActivityIndicatorViewStylePicker.swift; sourceTree = ""; }; + 75B8293378E075E3D63B9322D6042D8D /* SubjectType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SubjectType.swift; path = RxSwift/Subjects/SubjectType.swift; sourceTree = ""; }; + 75BC5B6669C6AD20FB5BEAD21C79982E /* ConstraintMakerPriortizable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerPriortizable.swift; path = Source/ConstraintMakerPriortizable.swift; sourceTree = ""; }; + 7607AC2709BCEC0EE8288B8B8BD2E752 /* lottie-ios-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "lottie-ios-umbrella.h"; sourceTree = ""; }; + 76BCD4841795F9DC12742094762007B9 /* TransitionPresenterManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TransitionPresenterManager.swift; path = Sources/Animators/Common/TransitionPresenterManager.swift; sourceTree = ""; }; + 76C397DA2C55E84AA4C076FECD82E63D /* LOTBezierPath.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTBezierPath.m; path = "lottie-ios/Classes/Extensions/LOTBezierPath.m"; sourceTree = ""; }; + 7739202509219F676C5741EB52E875F4 /* PublishRelay+Signal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "PublishRelay+Signal.swift"; path = "RxCocoa/Traits/Signal/PublishRelay+Signal.swift"; sourceTree = ""; }; + 784C83A8020FE94F650B0E3A0B2EEBA3 /* UISegmentedControl+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UISegmentedControl+Rx.swift"; path = "RxCocoa/iOS/UISegmentedControl+Rx.swift"; sourceTree = ""; }; + 7867E06345BDAC93973637103420FE00 /* Sequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Sequence.swift; path = RxSwift/Observables/Sequence.swift; sourceTree = ""; }; + 78818AAD40818C232044F3625FB52A41 /* AnyExtensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnyExtensions.swift; path = Source/AnyExtensions.swift; sourceTree = ""; }; + 792258C5ED8D529F367DA02EB5E08606 /* lottie-ios.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "lottie-ios.modulemap"; sourceTree = ""; }; + 7956883A629B8CECE9E8D491C3EF6C88 /* DelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DelegateProxy.swift; path = RxCocoa/Common/DelegateProxy.swift; sourceTree = ""; }; + 796C88A741D7170AA826E8AF513AF2CC /* PropertyInfo.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PropertyInfo.swift; path = Source/PropertyInfo.swift; sourceTree = ""; }; + 79826CC0CAEF0A8D81E0235D0292CDD5 /* CoverAnimator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CoverAnimator.swift; path = Sources/Animators/PresentationAnimator/CoverAnimator.swift; sourceTree = ""; }; + 7989CCE5688F9DAEA50BAE695CEEC616 /* RxTabBarControllerDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTabBarControllerDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxTabBarControllerDelegateProxy.swift; sourceTree = ""; }; + 79E794612E4F1AE2008DDE7216448CB8 /* ActivityIndicatorAnimationSquareSpin.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorAnimationSquareSpin.swift; path = Sources/ActivityIndicators/Animations/ActivityIndicatorAnimationSquareSpin.swift; sourceTree = ""; }; + 7A57625B2B7FDB9CE8A4BA7EA99F6C8D /* RxWebViewDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxWebViewDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxWebViewDelegateProxy.swift; sourceTree = ""; }; + 7AEE01A217B4FA1F38726D3C6A001340 /* Delay.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Delay.swift; path = RxSwift/Observables/Delay.swift; sourceTree = ""; }; + 7B0F2C2B4FC2ED6D39BAF5BB0859002D /* LOTShapeStroke.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTShapeStroke.h; path = "lottie-ios/Classes/Models/LOTShapeStroke.h"; sourceTree = ""; }; + 7B18C42AF7A11A0B20FE1CE1A6C84A6F /* NSValue+Compat.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSValue+Compat.m"; path = "lottie-ios/Classes/MacCompatability/NSValue+Compat.m"; sourceTree = ""; }; + 7BCC94E816C4D27DEE888910AE743C32 /* Take.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Take.swift; path = RxSwift/Observables/Take.swift; sourceTree = ""; }; + 7C02F254DBBC97F8DA4BE20486D7A641 /* Pods-News.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-News.modulemap"; sourceTree = ""; }; + 7C30AA4805C805B9B7DF89C80F35E084 /* AnimatedTransitioning.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnimatedTransitioning.swift; path = Sources/Protocols/TransitionAnimatable/AnimatedTransitioning.swift; sourceTree = ""; }; + 7C9C6AE6B96B39435D0CAF4F3A015B33 /* CALayer+Compat.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "CALayer+Compat.m"; path = "lottie-ios/Classes/MacCompatability/CALayer+Compat.m"; sourceTree = ""; }; + 7D406AB9C86DB49D2E63506AFEA9E1AA /* Logging.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Logging.swift; path = RxCocoa/Foundation/Logging.swift; sourceTree = ""; }; + 7D439F01A64E68DE215D80AAB1E493AD /* NVActivityIndicatorAnimationLineScale.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationLineScale.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationLineScale.swift; sourceTree = ""; }; + 7D79374615B0BF093C6D08CFD34EBFE8 /* BMPlayerItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BMPlayerItem.swift; path = Source/BMPlayerItem.swift; sourceTree = ""; }; + 7D7B050769C6EDB5B4B067E11950E0AA /* Pods-News-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-News-acknowledgements.markdown"; sourceTree = ""; }; + 7D924D9548DCBBE92ABCC28AD8018CD5 /* UIControl+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIControl+Rx.swift"; path = "RxCocoa/iOS/UIControl+Rx.swift"; sourceTree = ""; }; + 7DEC5DC1E2C7C61003E96718524415A7 /* Statement.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Statement.swift; path = Sources/SQLite/Core/Statement.swift; sourceTree = ""; }; + 7E3960071DEB42B7E1720302BAC6B443 /* ConstraintMakerFinalizable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerFinalizable.swift; path = Source/ConstraintMakerFinalizable.swift; sourceTree = ""; }; + 7EBCCEB0889B9BEDB1108D6A66C7E23B /* PriorityQueue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PriorityQueue.swift; path = Platform/DataStructures/PriorityQueue.swift; sourceTree = ""; }; + 7F72106675C0174F6366E0DEA0CF72BC /* SharedSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SharedSequence.swift; path = RxCocoa/Traits/SharedSequence/SharedSequence.swift; sourceTree = ""; }; + 7F8A40533ECA9BA5BF58C431221DCAA2 /* ConstraintInsetTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintInsetTarget.swift; path = Source/ConstraintInsetTarget.swift; sourceTree = ""; }; + 7FC74EC0ED00239A07753D5266ADD918 /* InvocableType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = InvocableType.swift; path = RxSwift/Schedulers/Internal/InvocableType.swift; sourceTree = ""; }; + 7FFCBF7AF6D2DD76C028045451D81AF9 /* SGPagingView.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SGPagingView.modulemap; sourceTree = ""; }; + 80224992DD9DD9E87D9E53F694E447F7 /* LOTPolystarAnimator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTPolystarAnimator.h; path = "lottie-ios/Classes/RenderSystem/AnimatorNodes/LOTPolystarAnimator.h"; sourceTree = ""; }; + 8028F709EBEC213EB44C7F37AE8DA771 /* Optional.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Optional.swift; path = RxSwift/Observables/Optional.swift; sourceTree = ""; }; + 8072F944BDD81CC42410A29EBCFCF844 /* MaskDesignable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MaskDesignable.swift; path = Sources/Protocols/Designable/MaskDesignable.swift; sourceTree = ""; }; + 80844F96601B91D555807E452FADF9D2 /* UITabBarItem+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UITabBarItem+Rx.swift"; path = "RxCocoa/iOS/UITabBarItem+Rx.swift"; sourceTree = ""; }; + 812670303F5FE81D3C4C96ACBC932B0F /* NSBundle+MJRefresh.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSBundle+MJRefresh.h"; path = "MJRefresh/NSBundle+MJRefresh.h"; sourceTree = ""; }; + 819BA2D4DECA14751CA157FBCA754174 /* SubscribeOn.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SubscribeOn.swift; path = RxSwift/Observables/SubscribeOn.swift; sourceTree = ""; }; + 819C9E5691F2AA1072DF787C16E7F5DD /* Platform.Linux.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Platform.Linux.swift; path = Platform/Platform.Linux.swift; sourceTree = ""; }; + 81DEF3FD04E77212885257754C1BF937 /* ConstraintRelatableTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintRelatableTarget.swift; path = Source/ConstraintRelatableTarget.swift; sourceTree = ""; }; + 8234676B075F18379492484095EB46E0 /* LOTAnimationView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTAnimationView.h; path = "lottie-ios/Classes/PublicHeaders/LOTAnimationView.h"; sourceTree = ""; }; + 823641CD18FC8E8E24BF00235E99058C /* Serializer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Serializer.swift; path = Source/Serializer.swift; sourceTree = ""; }; + 82EF80C5AB66B574E38B1B205207BC1B /* UINavigationItem+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UINavigationItem+Rx.swift"; path = "RxCocoa/iOS/UINavigationItem+Rx.swift"; sourceTree = ""; }; + 834D33569CB5B7D7A157208CC70D425B /* RetryWhen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RetryWhen.swift; path = RxSwift/Observables/RetryWhen.swift; sourceTree = ""; }; + 839868AFEDE8E91C3BF2557D02C50436 /* PresentOverCurrentContextSegue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PresentOverCurrentContextSegue.swift; path = Sources/Segues/PresentOverCurrentContextSegue.swift; sourceTree = ""; }; + 83D35003934A48251A4185797082217D /* CoreFunctions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CoreFunctions.swift; path = Sources/SQLite/Typed/CoreFunctions.swift; sourceTree = ""; }; + 841C4BC21E9AECDDE37CB0EBE0BCCCE8 /* AnimatableTableViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnimatableTableViewController.swift; path = Sources/Controllers/AnimatableTableViewController.swift; sourceTree = ""; }; + 844F6E5E3B9359B765F6A4EA2A245AEF /* BMPlayerControlView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BMPlayerControlView.swift; path = Source/BMPlayerControlView.swift; sourceTree = ""; }; + 846817132336D33D1A4E49618F11480F /* SVProgressAnimatedView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SVProgressAnimatedView.h; path = SVProgressHUD/SVProgressAnimatedView.h; sourceTree = ""; }; + 8475BCDF71E9A3157F930A7C9994077F /* DispatchQueue+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "DispatchQueue+Alamofire.swift"; path = "Source/DispatchQueue+Alamofire.swift"; sourceTree = ""; }; + 854CA1B5A251A220252626547D0D0328 /* ConstraintPriority.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintPriority.swift; path = Source/ConstraintPriority.swift; sourceTree = ""; }; + 855D31375AC89AAED40EC1BA94EBB6AB /* ObservableConvertibleType+SharedSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ObservableConvertibleType+SharedSequence.swift"; path = "RxCocoa/Traits/SharedSequence/ObservableConvertibleType+SharedSequence.swift"; sourceTree = ""; }; + 8563BB5EBB0FCDD4F16A435D9EB05A1A /* Metadata.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Metadata.swift; path = Source/Metadata.swift; sourceTree = ""; }; + 8592DC1D681983C95B9362790655CD8C /* AsyncSubject.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AsyncSubject.swift; path = RxSwift/Subjects/AsyncSubject.swift; sourceTree = ""; }; + 85ABB3468B54780079F7AA0678BD1E74 /* _RX.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _RX.m; path = RxCocoa/Runtime/_RX.m; sourceTree = ""; }; + 85AF85600350C53BC7604E1BC74FA755 /* SynchronizedDisposeType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SynchronizedDisposeType.swift; path = RxSwift/Concurrency/SynchronizedDisposeType.swift; sourceTree = ""; }; + 863A1F2A61765F876E4D3C34CA45CA07 /* Switch.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Switch.swift; path = RxSwift/Observables/Switch.swift; sourceTree = ""; }; + 863EE9C97655DBE87B442CE50779248B /* NVActivityIndicatorView-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NVActivityIndicatorView-prefix.pch"; sourceTree = ""; }; + 8702BA4496DC31704AC274B578663963 /* Multicast.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Multicast.swift; path = RxSwift/Observables/Multicast.swift; sourceTree = ""; }; + 870580F6B4BC1C68069F609425D204E7 /* CustomFunctions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CustomFunctions.swift; path = Sources/SQLite/Typed/CustomFunctions.swift; sourceTree = ""; }; + 8760EF5A93A354EE67961E19434C3493 /* ActivityIndicatorAnimationLineScaleParty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorAnimationLineScaleParty.swift; path = Sources/ActivityIndicators/Animations/ActivityIndicatorAnimationLineScaleParty.swift; sourceTree = ""; }; + 87AFAC0DC05D8C4EEB92B53AF8B0B90A /* ActivityIndicatorAnimationBallBeat.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorAnimationBallBeat.swift; path = Sources/ActivityIndicators/Animations/ActivityIndicatorAnimationBallBeat.swift; sourceTree = ""; }; + 88037A3F1F5B170AFF4A7BF4FFA40416 /* Kingfisher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Kingfisher.h; path = Sources/Kingfisher.h; sourceTree = ""; }; + 881AD6EF51DC08EDB67AD42BCF3BD29D /* MJRefreshBackNormalFooter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshBackNormalFooter.m; path = MJRefresh/Custom/Footer/Back/MJRefreshBackNormalFooter.m; sourceTree = ""; }; + 885B480632C0E61B2C55788D67F29D22 /* SwitchIfEmpty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SwitchIfEmpty.swift; path = RxSwift/Observables/SwitchIfEmpty.swift; sourceTree = ""; }; + 88CF19F31DDB49545E709E8EE726E1F5 /* DateFormatterTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DateFormatterTransform.swift; path = Source/DateFormatterTransform.swift; sourceTree = ""; }; + 8938B97004B13BA710DED03C42A6378A /* NVActivityIndicatorView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorView.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/NVActivityIndicatorView.swift; sourceTree = ""; }; + 89C34A9D1BBDC3F65CF5B6B8EDFF2F17 /* LOTBezierPath.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTBezierPath.h; path = "lottie-ios/Classes/Extensions/LOTBezierPath.h"; sourceTree = ""; }; + 89FD1A24E1138643FCF79C38326FA19E /* SVProgressHUD-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SVProgressHUD-umbrella.h"; sourceTree = ""; }; + 89FFC303181387FDCA04EDCB597CCB4C /* LOTBezierData.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTBezierData.m; path = "lottie-ios/Classes/AnimatableProperties/LOTBezierData.m"; sourceTree = ""; }; + 8A0A3692795078363FAB0E772E64D1A2 /* Errors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Errors.swift; path = Sources/SQLite/Core/Errors.swift; sourceTree = ""; }; + 8A6B314CF5090F68E94460E9B6BA7245 /* SnapKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SnapKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 8AEFC873A3685E350C454F767CFF45F4 /* KVORepresentable+Swift.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "KVORepresentable+Swift.swift"; path = "RxCocoa/Foundation/KVORepresentable+Swift.swift"; sourceTree = ""; }; + 8AF745DEA106858CFA1FAE608438FF12 /* LOTPolygonAnimator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTPolygonAnimator.m; path = "lottie-ios/Classes/RenderSystem/AnimatorNodes/LOTPolygonAnimator.m"; sourceTree = ""; }; + 8B06064F66FA35474BA3C50BF9FC51B1 /* Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Alamofire.swift; path = Source/Alamofire.swift; sourceTree = ""; }; + 8B38B0616450950F311D0BB8B741F16E /* ActivityIndicatorAnimationBallGridPulse.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorAnimationBallGridPulse.swift; path = Sources/ActivityIndicators/Animations/ActivityIndicatorAnimationBallGridPulse.swift; sourceTree = ""; }; + 8B75FE33DD5584A00F40F089BA81C9FE /* DateAndTimeFunctions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DateAndTimeFunctions.swift; path = Sources/SQLite/Typed/DateAndTimeFunctions.swift; sourceTree = ""; }; + 8BC2B09C216DB6FF1860CA79E45D7DF5 /* ResponseSerialization.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ResponseSerialization.swift; path = Source/ResponseSerialization.swift; sourceTree = ""; }; + 8BC40C9A083ACADE7648BC3F68984328 /* UINavigationController+FDFullscreenPopGesture.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UINavigationController+FDFullscreenPopGesture.m"; path = "FDFullscreenPopGesture/UINavigationController+FDFullscreenPopGesture.m"; sourceTree = ""; }; + 8BC73EE0670636F49F762D9F3D904FCA /* NVActivityIndicatorAnimationBallGridBeat.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallGridBeat.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallGridBeat.swift; sourceTree = ""; }; + 8C1914B54629351652FF72CD37DE8917 /* SGPagingView-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SGPagingView-umbrella.h"; sourceTree = ""; }; + 8C4F1465D3C7B34C4A719DD19F0552A2 /* RxSwift.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = RxSwift.xcconfig; sourceTree = ""; }; + 8C762DB9C74DDF0CBE4285AA8731688D /* LOTColorInterpolator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTColorInterpolator.h; path = "lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTColorInterpolator.h"; sourceTree = ""; }; + 8CD2DE97FFF7F33677F71397C33E7B29 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 8D2ED362A856D584608676D487B876F7 /* SystemTransitionAnimator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SystemTransitionAnimator.swift; path = Sources/Animators/TransitionAnimator/SystemTransitionAnimator.swift; sourceTree = ""; }; + 8D56CFAF9082412B8010BB2EBE4AA42B /* KingfisherOptionsInfo.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = KingfisherOptionsInfo.swift; path = Sources/KingfisherOptionsInfo.swift; sourceTree = ""; }; 8D63D5AB177741E9BA04BEF25464E994 /* RxSwift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = RxSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 8D72E8A7318AE5260826B87B9D1BA194 /* RxPickerViewDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxPickerViewDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxPickerViewDelegateProxy.swift; sourceTree = ""; }; - 8DEE044FB93C4828FD8CE4D735AE7F76 /* LOTAsset.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTAsset.h; path = "lottie-ios/Classes/Models/LOTAsset.h"; sourceTree = ""; }; - 8E8C24617A4A0AB8317147F312A9A608 /* ConnectableObservableType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConnectableObservableType.swift; path = RxSwift/ConnectableObservableType.swift; sourceTree = ""; }; - 8EB6D464697C64BAFFBADA07BF7123BA /* RecursiveScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RecursiveScheduler.swift; path = RxSwift/Schedulers/RecursiveScheduler.swift; sourceTree = ""; }; - 8EF6110A4D24FA9BA545361C9F94EE7B /* UIColorExtension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = UIColorExtension.swift; path = Source/UIColorExtension.swift; sourceTree = ""; }; - 8F2BC53389FA20F1A1F04AC72A15A98F /* PresentationKeyboardTranslation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PresentationKeyboardTranslation.swift; path = Sources/Enums/PresentationKeyboardTranslation.swift; sourceTree = ""; }; - 8F48D5E75AA04622212BEA429CB0FA67 /* PointerType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PointerType.swift; path = Source/PointerType.swift; sourceTree = ""; }; - 8F73BCA8FEEA753D82D2791ADFAE12E5 /* MainScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MainScheduler.swift; path = RxSwift/Schedulers/MainScheduler.swift; sourceTree = ""; }; - 8FDCE956F4A12C6B92D2309B71AFD544 /* MJRefreshBackStateFooter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshBackStateFooter.m; path = MJRefresh/Custom/Footer/Back/MJRefreshBackStateFooter.m; sourceTree = ""; }; - 9031037246EEE46EF31274BC4F0DF5F1 /* LOTPolygonAnimator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTPolygonAnimator.m; path = "lottie-ios/Classes/RenderSystem/AnimatorNodes/LOTPolygonAnimator.m"; sourceTree = ""; }; - 9070843CE20D7F3A369FE4E0335E08BE /* Kingfisher-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Kingfisher-umbrella.h"; sourceTree = ""; }; - 90ADE8E36AF6EC123353DD73029503DB /* Deferred.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Deferred.swift; path = RxSwift/Observables/Deferred.swift; sourceTree = ""; }; - 90DB08A6BAF2E50EF83D7EA074DB07BF /* FillDesignable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FillDesignable.swift; path = Sources/Protocols/Designable/FillDesignable.swift; sourceTree = ""; }; - 914C9321B049D013657F1124EEE3EABB /* UIBarButtonItem+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIBarButtonItem+Rx.swift"; path = "RxCocoa/iOS/UIBarButtonItem+Rx.swift"; sourceTree = ""; }; - 9157AA6EB606FADF0471ABE3A7F38911 /* Bag.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Bag.swift; path = Platform/DataStructures/Bag.swift; sourceTree = ""; }; - 91AAA32D0E73A00478831646174FFA42 /* Timeout.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Timeout.swift; path = RxSwift/Observables/Timeout.swift; sourceTree = ""; }; - 91CE9A45A5B1926ACE162BE5C33FB72C /* InteractiveGestureType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = InteractiveGestureType.swift; path = Sources/Enums/InteractiveGestureType.swift; sourceTree = ""; }; - 91DB995E8E92CECB468D53167ACBCCD9 /* LOTPolystarAnimator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTPolystarAnimator.m; path = "lottie-ios/Classes/RenderSystem/AnimatorNodes/LOTPolystarAnimator.m"; sourceTree = ""; }; - 91F6812F4057E4F85DC1482946CC27F1 /* TransitionType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TransitionType.swift; path = Sources/Enums/TransitionType.swift; sourceTree = ""; }; - 9200F311ABA1304FEA2249A57D71FEEF /* Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Rx.swift; path = RxSwift/Rx.swift; sourceTree = ""; }; - 920651565700F0045010BDE774C99A8C /* AnimatableTableViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnimatableTableViewController.swift; path = Sources/Controllers/AnimatableTableViewController.swift; sourceTree = ""; }; - 92671A7883658ED2D4D462FDB6E7A8C1 /* PlaceholderDesignable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PlaceholderDesignable.swift; path = Sources/Protocols/Designable/PlaceholderDesignable.swift; sourceTree = ""; }; - 9339D594A12B83EF8C4017E22727301C /* PresentSlideWithDismissInteractionSegue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PresentSlideWithDismissInteractionSegue.swift; path = Sources/Segues/PresentSlideWithDismissInteractionSegue.swift; sourceTree = ""; }; - 9339E974AF3390CBCED35BBBFC4332EC /* KVORepresentable+Swift.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "KVORepresentable+Swift.swift"; path = "RxCocoa/Foundation/KVORepresentable+Swift.swift"; sourceTree = ""; }; - 9341BE09000670210B633CF4EEEBDD7F /* ItemEvents.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ItemEvents.swift; path = RxCocoa/iOS/Events/ItemEvents.swift; sourceTree = ""; }; - 93503B39CC4A96F1B7E67FDD1DA59E70 /* LOTRenderGroup.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTRenderGroup.m; path = "lottie-ios/Classes/RenderSystem/RenderNodes/LOTRenderGroup.m"; sourceTree = ""; }; - 939BDAE09B14603EB43B3AA67A490066 /* RxTabBarControllerDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTabBarControllerDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxTabBarControllerDelegateProxy.swift; sourceTree = ""; }; - 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 93AD44753EA9D19284DDF9FAB5E4906B /* CacheSerializer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CacheSerializer.swift; path = Sources/CacheSerializer.swift; sourceTree = ""; }; - 93C1ACF3C5F67D412A719305F5ECCD65 /* PanInteractiveAnimator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PanInteractiveAnimator.swift; path = Sources/Animators/InteractiveAnimator/PanInteractiveAnimator.swift; sourceTree = ""; }; - 9435389B0DE732322ED79650ACF63E9E /* LOTShapeGroup.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTShapeGroup.m; path = "lottie-ios/Classes/Models/LOTShapeGroup.m"; sourceTree = ""; }; - 947ED7F639F845012BDB148AF8B0BD2F /* UIColor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = UIColor.h; path = "lottie-ios/Classes/MacCompatability/UIColor.h"; sourceTree = ""; }; - 94DADA97D340F991EACB70C1DBCB7000 /* GradientStartPoint.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GradientStartPoint.swift; path = Sources/Enums/GradientStartPoint.swift; sourceTree = ""; }; - 94FC52153FBD7722B7ECD262A438FF19 /* ThemeFontPicker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ThemeFontPicker.swift; path = Source/ThemeFontPicker.swift; sourceTree = ""; }; - 954D2F76DA9FD8DF196833EEE524C4B6 /* SwiftyJSON-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SwiftyJSON-umbrella.h"; sourceTree = ""; }; - 9598045446CB078DDB5903F8438FE909 /* TurnAnimator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TurnAnimator.swift; path = Sources/Animators/TransitionAnimator/TurnAnimator.swift; sourceTree = ""; }; - 96187D421F9A8F16D5D9AA365500CC22 /* PresentFadeSegue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PresentFadeSegue.swift; path = Sources/Segues/PresentFadeSegue.swift; sourceTree = ""; }; - 96190BFAEE74AAB817D212B29AF3EC89 /* LOTAnimatedSwitch.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTAnimatedSwitch.h; path = "lottie-ios/Classes/PublicHeaders/LOTAnimatedSwitch.h"; sourceTree = ""; }; - 96ABFB58D44EDFB93EA7ACCF8A40B668 /* SGPageContentView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SGPageContentView.m; path = SGPagingView/SGPageContent/SGPageContentView.m; sourceTree = ""; }; - 96C47A48B9284956BEE4DF952EE7A25D /* LOTPointInterpolator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTPointInterpolator.h; path = "lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTPointInterpolator.h"; sourceTree = ""; }; - 96D904A35D8CEBB1CC3BFB9EA30B93EB /* LOTAnimationView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTAnimationView.h; path = "lottie-ios/Classes/PublicHeaders/LOTAnimationView.h"; sourceTree = ""; }; - 96E7F8C1E7119960E70A1A116543FC6D /* RTree.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RTree.swift; path = Sources/SQLite/Extensions/RTree.swift; sourceTree = ""; }; - 975547BDB8D96ADE2D28FD4072CF4E7F /* UICollectionView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UICollectionView+Rx.swift"; path = "RxCocoa/iOS/UICollectionView+Rx.swift"; sourceTree = ""; }; - 9757007F01F5B80B63B3FF588F8DAB47 /* NVActivityIndicatorAnimationOrbit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationOrbit.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationOrbit.swift; sourceTree = ""; }; - 97670459E9DFB20904A35F7E1F069F1B /* Producer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Producer.swift; path = RxSwift/Observables/Producer.swift; sourceTree = ""; }; - 97AFA631E60B98301A7A83245DBDE327 /* LOTRepeaterRenderer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTRepeaterRenderer.m; path = "lottie-ios/Classes/RenderSystem/RenderNodes/LOTRepeaterRenderer.m"; sourceTree = ""; }; - 97C302BDBC796B4F2280D53E200DCBC6 /* LOTAnimatedControl.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTAnimatedControl.m; path = "lottie-ios/Classes/Private/LOTAnimatedControl.m"; sourceTree = ""; }; - 97C66CC8A81744D732F73C5F0E216D16 /* LOTBezierPath.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTBezierPath.h; path = "lottie-ios/Classes/Extensions/LOTBezierPath.h"; sourceTree = ""; }; - 97C76A646F0260D7632F463FDF102E6C /* RxCocoa.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = RxCocoa.xcconfig; sourceTree = ""; }; - 97E5CCA0FFD0F0F98680926531DC178E /* LOTAsset.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTAsset.m; path = "lottie-ios/Classes/Models/LOTAsset.m"; sourceTree = ""; }; - 981D8F102B557DC6E7FDB92620A519EB /* LOTKeyframe.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTKeyframe.h; path = "lottie-ios/Classes/AnimatableProperties/LOTKeyframe.h"; sourceTree = ""; }; - 98A27E09E3D5229AE144BA7C1CBC17A0 /* LOTCircleAnimator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTCircleAnimator.m; path = "lottie-ios/Classes/RenderSystem/AnimatorNodes/LOTCircleAnimator.m"; sourceTree = ""; }; - 991836F58640F387472B7B6614359C0B /* SQLite-Bridging.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "SQLite-Bridging.h"; path = "Sources/SQLiteObjc/include/SQLite-Bridging.h"; sourceTree = ""; }; - 99FFA7DF715A18F249CE01CCB861F407 /* SGPageContentView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SGPageContentView.h; path = SGPagingView/SGPageContent/SGPageContentView.h; sourceTree = ""; }; - 9A58A86CF8653D76C2EBCFF578FDDEE7 /* Observable+Bind.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+Bind.swift"; path = "RxCocoa/Common/Observable+Bind.swift"; sourceTree = ""; }; - 9AADAE4E81050D53BB8968F84B257420 /* Image.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Image.swift; path = Sources/Image.swift; sourceTree = ""; }; - 9B092319D439180FAB85C4314E79AF87 /* SGPagingView.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SGPagingView.xcconfig; sourceTree = ""; }; - 9B2F2974F33FF3BE0DF5054E597FE163 /* PresentFadeWithDismissInteractionSegue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PresentFadeWithDismissInteractionSegue.swift; path = Sources/Segues/PresentFadeWithDismissInteractionSegue.swift; sourceTree = ""; }; - 9B35A17D547D38DF6F81BDD7BADD2B0B /* LOTShapeRectangle.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTShapeRectangle.h; path = "lottie-ios/Classes/Models/LOTShapeRectangle.h"; sourceTree = ""; }; - 9C20B6AD13FECFD31CD266BD1BC496C4 /* UISearchController+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UISearchController+Rx.swift"; path = "RxCocoa/iOS/UISearchController+Rx.swift"; sourceTree = ""; }; - 9C7A1B87E499D8B974E18E1BBE4956A5 /* UISegmentedControl+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UISegmentedControl+Rx.swift"; path = "RxCocoa/iOS/UISegmentedControl+Rx.swift"; sourceTree = ""; }; - 9C962DB60D8CE32304F55FCA075AA101 /* ReflectionHelper.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ReflectionHelper.swift; path = Source/ReflectionHelper.swift; sourceTree = ""; }; - 9D0CB731AC925FFC9495DF5C2161E611 /* Kingfisher.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Kingfisher.framework; path = Kingfisher.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 9D3AEDA50A1CE92623516D405AF586A3 /* ThemeManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ThemeManager.swift; path = Source/ThemeManager.swift; sourceTree = ""; }; - 9D744747067604A65E9DD87E6F7B4388 /* LOTCompositionContainer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTCompositionContainer.m; path = "lottie-ios/Classes/AnimatableLayers/LOTCompositionContainer.m"; sourceTree = ""; }; - 9DA5AD53B95FCBF972B9EC671DF286F4 /* NVActivityIndicatorAnimationBallPulseRise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallPulseRise.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallPulseRise.swift; sourceTree = ""; }; + 8DF20C59F654534E595AD84A0C644F16 /* ActivityIndicatorAnimationSemiCircleSpin.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorAnimationSemiCircleSpin.swift; path = Sources/ActivityIndicators/Animations/ActivityIndicatorAnimationSemiCircleSpin.swift; sourceTree = ""; }; + 8DF98C1B10FCF083129E894C9DDFD9BD /* SwiftyJSON-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SwiftyJSON-umbrella.h"; sourceTree = ""; }; + 8E3E2710368F10F04EB56D1C1453A9E8 /* SectionedViewDataSourceType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SectionedViewDataSourceType.swift; path = RxCocoa/Common/SectionedViewDataSourceType.swift; sourceTree = ""; }; + 8EB1FA2B60BC5740CAC36980E08E2A86 /* Zip+Collection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Zip+Collection.swift"; path = "RxSwift/Observables/Zip+Collection.swift"; sourceTree = ""; }; + 8F5C13066481DD185C9F2F6C9F4F1729 /* _RXObjCRuntime.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _RXObjCRuntime.m; path = RxCocoa/Runtime/_RXObjCRuntime.m; sourceTree = ""; }; + 8F5F8D1CBD6BF9854F8A570F2D6253DA /* Signal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Signal.swift; path = RxCocoa/Traits/Signal/Signal.swift; sourceTree = ""; }; + 8F94C4537F957EEC1178B0CA0492BE21 /* ControlEvent.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ControlEvent.swift; path = RxCocoa/Traits/ControlEvent.swift; sourceTree = ""; }; + 901036028F829BD39E72117851520EF8 /* IBAnimatable-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "IBAnimatable-prefix.pch"; sourceTree = ""; }; + 90118A8FD60D89979B1461FE3C4D3B23 /* ConstraintViewDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintViewDSL.swift; path = Source/ConstraintViewDSL.swift; sourceTree = ""; }; + 9066E09A2CBD4D72B14316FB23020713 /* LOTFillRenderer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTFillRenderer.m; path = "lottie-ios/Classes/RenderSystem/RenderNodes/LOTFillRenderer.m"; sourceTree = ""; }; + 90A4BFC65DF448B795AF128EA5F13C39 /* UIBezierPath.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = UIBezierPath.h; path = "lottie-ios/Classes/MacCompatability/UIBezierPath.h"; sourceTree = ""; }; + 90EBA0C7AFC48D2F884DC03B57E114FD /* IBEnum.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IBEnum.swift; path = Sources/Enums/IBEnum.swift; sourceTree = ""; }; + 911B05F74722503F2F582B4C18979053 /* SQLite.swift-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SQLite.swift-umbrella.h"; sourceTree = ""; }; + 912756BF94496D05409BDD76C77D75D0 /* fts3_tokenizer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = fts3_tokenizer.h; path = Sources/SQLiteObjc/fts3_tokenizer.h; sourceTree = ""; }; + 91793FC332F184B2765E9F1FE8B4439D /* PresentFlipSegue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PresentFlipSegue.swift; path = Sources/Segues/PresentFlipSegue.swift; sourceTree = ""; }; + 91ED8C7990A52A78A8187ECEA5557260 /* LOTShapeTrimPath.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTShapeTrimPath.h; path = "lottie-ios/Classes/Models/LOTShapeTrimPath.h"; sourceTree = ""; }; + 9229555094C9DF30B98F80BE40CFA3E0 /* Platform.Linux.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Platform.Linux.swift; path = Platform/Platform.Linux.swift; sourceTree = ""; }; + 92D8C0D953E982A1E687437C8758DA79 /* ObserverType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObserverType.swift; path = RxSwift/ObserverType.swift; sourceTree = ""; }; + 930C38056D213D449AFAC8337EC29738 /* MJRefreshAutoGifFooter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshAutoGifFooter.m; path = MJRefresh/Custom/Footer/Auto/MJRefreshAutoGifFooter.m; sourceTree = ""; }; + 936FD390217D34FA42115EC2565977C3 /* HandyJSON-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "HandyJSON-prefix.pch"; sourceTree = ""; }; + 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + 93A80A1261D9C65B45A5300A2420D5F0 /* RecursiveLock.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RecursiveLock.swift; path = Platform/RecursiveLock.swift; sourceTree = ""; }; + 93CA6699685808203553AD1690A375EE /* LOTShapeRepeater.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTShapeRepeater.h; path = "lottie-ios/Classes/Models/LOTShapeRepeater.h"; sourceTree = ""; }; + 93EF78E036A04A7EB12366A401661F43 /* Debug.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Debug.swift; path = RxSwift/Observables/Debug.swift; sourceTree = ""; }; + 941B3775F774C72A22534641B9C336AF /* PortalAnimator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PortalAnimator.swift; path = Sources/Animators/TransitionAnimator/PortalAnimator.swift; sourceTree = ""; }; + 94685DE98C2059922885C517F03CE189 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 946ACE72873BEACC20CD8864CEB42EE1 /* RecursiveScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RecursiveScheduler.swift; path = RxSwift/Schedulers/RecursiveScheduler.swift; sourceTree = ""; }; + 94B695514542659BCF17CA5A325BC508 /* SGPagingView.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SGPagingView.xcconfig; sourceTree = ""; }; + 959570B69E3D0CAAA1DA7FEBC10C143E /* LOTAnimationView_Compat.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTAnimationView_Compat.h; path = "lottie-ios/Classes/PublicHeaders/LOTAnimationView_Compat.h"; sourceTree = ""; }; + 95D5672C22E14D3C31706640B8D0044B /* LOTAnimatedSwitch.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTAnimatedSwitch.m; path = "lottie-ios/Classes/Private/LOTAnimatedSwitch.m"; sourceTree = ""; }; + 97230E044589100C70A38F26E27CEB51 /* MJRefreshBackGifFooter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshBackGifFooter.m; path = MJRefresh/Custom/Footer/Back/MJRefreshBackGifFooter.m; sourceTree = ""; }; + 973F1A324396C0373E192520F04799B4 /* ScreenEdgePanInteractiveAnimator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ScreenEdgePanInteractiveAnimator.swift; path = Sources/Animators/InteractiveAnimator/ScreenEdgePanInteractiveAnimator.swift; sourceTree = ""; }; + 9756C849E849CAAAE0CD4C31365F01EB /* SwiftTheme.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SwiftTheme.modulemap; sourceTree = ""; }; + 97903A7839517127E1375614ED31C679 /* TailRecursiveSink.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TailRecursiveSink.swift; path = RxSwift/Observers/TailRecursiveSink.swift; sourceTree = ""; }; + 97D37362078B98B5A399399E3B5059D3 /* SchedulerType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SchedulerType.swift; path = RxSwift/SchedulerType.swift; sourceTree = ""; }; + 988C7BEE34D62AB4DFD185B09EACC0AC /* UIRefreshControl+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIRefreshControl+Rx.swift"; path = "RxCocoa/iOS/UIRefreshControl+Rx.swift"; sourceTree = ""; }; + 98AB351201F939C9AC448E30AD6E0F54 /* ThemeManager+Plist.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ThemeManager+Plist.swift"; path = "Source/ThemeManager+Plist.swift"; sourceTree = ""; }; + 99164FD78DB46A6B885FFE395F197B3F /* Kingfisher-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Kingfisher-dummy.m"; sourceTree = ""; }; + 997FB0859B92988AE2A5039602C56954 /* CardsAnimator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CardsAnimator.swift; path = Sources/Animators/TransitionAnimator/CardsAnimator.swift; sourceTree = ""; }; + 999954E09AE3FF87F7EE93180238C781 /* Image.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Image.swift; path = Sources/Image.swift; sourceTree = ""; }; + 99BF5E4F237B5ADB4C2DD3034746A82F /* Filter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Filter.swift; path = Sources/Filter.swift; sourceTree = ""; }; + 99D12610F3C7E96184BB253381EAAE01 /* PresentFoldSegue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PresentFoldSegue.swift; path = Sources/Segues/PresentFoldSegue.swift; sourceTree = ""; }; + 9A2329EC727D7B4F2EEA272FCC245F8C /* SVProgressHUD-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SVProgressHUD-dummy.m"; sourceTree = ""; }; + 9A9BBC65DD6452F3985BC905DA010D3C /* UIBarButtonItem+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIBarButtonItem+Rx.swift"; path = "RxCocoa/iOS/UIBarButtonItem+Rx.swift"; sourceTree = ""; }; + 9AD31AE7EB118AC4EFF6AF68994115CF /* FormatIndicatedCacheSerializer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FormatIndicatedCacheSerializer.swift; path = Sources/FormatIndicatedCacheSerializer.swift; sourceTree = ""; }; + 9B061CB28DA161D993129B2294339A28 /* Lock.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Lock.swift; path = RxSwift/Concurrency/Lock.swift; sourceTree = ""; }; + 9B10AD82E74DCE52A253046A71864C99 /* ActivityIndicatorAnimationBallTrianglePath.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorAnimationBallTrianglePath.swift; path = Sources/ActivityIndicators/Animations/ActivityIndicatorAnimationBallTrianglePath.swift; sourceTree = ""; }; + 9BA6679884F0B2167126EFD3109B0CC7 /* Blob.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Blob.swift; path = Sources/SQLite/Core/Blob.swift; sourceTree = ""; }; + 9C58F07E97F286FF8891C3D85A129DFE /* SerialDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SerialDisposable.swift; path = RxSwift/Disposables/SerialDisposable.swift; sourceTree = ""; }; + 9D0CB731AC925FFC9495DF5C2161E611 /* Kingfisher.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Kingfisher.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 9D44C2040C0B5F5E80AC1AA3C589C894 /* GroupedObservable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GroupedObservable.swift; path = RxSwift/GroupedObservable.swift; sourceTree = ""; }; + 9D6A26F64EE137440C333FED75E6E318 /* TransitionType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TransitionType.swift; path = Sources/Enums/TransitionType.swift; sourceTree = ""; }; + 9D6C93DBAE4C3923D340D06E65E189D0 /* Error.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Error.swift; path = RxSwift/Observables/Error.swift; sourceTree = ""; }; 9DB936E3EFFF5DEA8990B57BF4D59E07 /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/CFNetwork.framework; sourceTree = DEVELOPER_DIR; }; - 9DEBA5ADF8CE773E3FD754CD5935C71A /* RxCocoa.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = RxCocoa.modulemap; sourceTree = ""; }; - 9DF1948C00898D45450ABFF830322D1E /* Signal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Signal.swift; path = RxCocoa/Traits/Signal/Signal.swift; sourceTree = ""; }; - 9E1327ED356B10B0185703AF5219A078 /* SVProgressAnimatedView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SVProgressAnimatedView.m; path = SVProgressHUD/SVProgressAnimatedView.m; sourceTree = ""; }; - 9E29B6F18F035B172CFA8B3CA656DA82 /* _RXKVOObserver.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _RXKVOObserver.m; path = RxCocoa/Runtime/_RXKVOObserver.m; sourceTree = ""; }; - 9E76D2FE93070778B76265EF99EA7002 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 9EEF03E486F33BB07BF53E5617E3FC8F /* LOTShapeTrimPath.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTShapeTrimPath.h; path = "lottie-ios/Classes/Models/LOTShapeTrimPath.h"; sourceTree = ""; }; - 9F13420ADC24C4A17BEBA43298637DAC /* RxCocoaRuntime.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RxCocoaRuntime.h; path = RxCocoa/Runtime/include/RxCocoaRuntime.h; sourceTree = ""; }; - 9F83FEBCAE29B57F50BEB16C1F8B44B8 /* LOTTrimPathNode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTTrimPathNode.m; path = "lottie-ios/Classes/RenderSystem/ManipulatorNodes/LOTTrimPathNode.m"; sourceTree = ""; }; - 9FA9D2DE6131AA534A042A688FB8DF27 /* NVActivityIndicatorAnimationDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationDelegate.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/NVActivityIndicatorAnimationDelegate.swift; sourceTree = ""; }; - 9FB0961156D170AA1576F127DA39EC42 /* SGPagingView-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SGPagingView-umbrella.h"; sourceTree = ""; }; - 9FB19168336535E0B969EC489D5BB393 /* PortalAnimator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PortalAnimator.swift; path = Sources/Animators/TransitionAnimator/PortalAnimator.swift; sourceTree = ""; }; - 9FB9BE3AFCC55BAA03F20DE4939DC382 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 9FEDA919CCA6F527A46CAA827DE66B1B /* LOTShapeTransform.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTShapeTransform.h; path = "lottie-ios/Classes/Models/LOTShapeTransform.h"; sourceTree = ""; }; - A004BBE3EC72DE1AEEE77C3ACEB2D932 /* Export.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Export.swift; path = Source/Export.swift; sourceTree = ""; }; - A0185893EC3870EB765FEA5FC6CB88A2 /* PresentFoldWithDismissInteractionSegue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PresentFoldWithDismissInteractionSegue.swift; path = Sources/Segues/PresentFoldWithDismissInteractionSegue.swift; sourceTree = ""; }; - A0319F125B765ADBDC90C9181D7E78E6 /* NSValue+Compat.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSValue+Compat.m"; path = "lottie-ios/Classes/MacCompatability/NSValue+Compat.m"; sourceTree = ""; }; - A0415C81A30DC7D621C9CB879B95D55E /* SessionManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SessionManager.swift; path = Source/SessionManager.swift; sourceTree = ""; }; - A080C464FDDDAC0A0C71D352FA69DA6C /* ConstraintMakerPriortizable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerPriortizable.swift; path = Source/ConstraintMakerPriortizable.swift; sourceTree = ""; }; - A0B6434494D90B07C16E64B05DA0514C /* ImageView+Kingfisher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ImageView+Kingfisher.swift"; path = "Sources/ImageView+Kingfisher.swift"; sourceTree = ""; }; - A0B96C9048C38AF71A753BBD9CF740A8 /* ActivityIndicatorAnimationBallRotate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorAnimationBallRotate.swift; path = Sources/ActivityIndicators/Animations/ActivityIndicatorAnimationBallRotate.swift; sourceTree = ""; }; - A0BF37807C32A030BA589DA4324E587F /* ObservableType+PrimitiveSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ObservableType+PrimitiveSequence.swift"; path = "RxSwift/Traits/ObservableType+PrimitiveSequence.swift"; sourceTree = ""; }; - A1442E1C095598511F02E7A11ED8C3EF /* BorderSide.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BorderSide.swift; path = Sources/Enums/BorderSide.swift; sourceTree = ""; }; - A16003B8D309F1F3C203F841D87483E6 /* LOTPolystarAnimator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTPolystarAnimator.h; path = "lottie-ios/Classes/RenderSystem/AnimatorNodes/LOTPolystarAnimator.h"; sourceTree = ""; }; - A16EEEEAAF21E0BAF80075E1124170E3 /* LOTMask.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTMask.h; path = "lottie-ios/Classes/Models/LOTMask.h"; sourceTree = ""; }; - A198367C0EABC925993D409EDFC01E1D /* SubscribeOn.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SubscribeOn.swift; path = RxSwift/Observables/SubscribeOn.swift; sourceTree = ""; }; - A284A7A265602ECAFBB1A54C1D0D7BB8 /* PresentationPresenter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PresentationPresenter.swift; path = Sources/Animators/Common/PresentationPresenter.swift; sourceTree = ""; }; - A2854258079A71E6C92D5FC6BA3C953A /* _RXDelegateProxy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _RXDelegateProxy.m; path = RxCocoa/Runtime/_RXDelegateProxy.m; sourceTree = ""; }; - A2928382C14295480CA2E692CD1ED1F5 /* UIButton+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIButton+Rx.swift"; path = "RxCocoa/iOS/UIButton+Rx.swift"; sourceTree = ""; }; - A2A44D35669E36F7894258B0D21278D1 /* Pods-News-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-News-dummy.m"; sourceTree = ""; }; - A2AD458D60BA851B80858BDE169FB6E6 /* UIStepper+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIStepper+Rx.swift"; path = "RxCocoa/iOS/UIStepper+Rx.swift"; sourceTree = ""; }; - A2C2DFE5E2561B27CA56FC9AB9BE8DE8 /* LOTHelpers.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTHelpers.h; path = "lottie-ios/Classes/Extensions/LOTHelpers.h"; sourceTree = ""; }; - A2D6278CCEB5EE7774C228724F1123EA /* SingleAssignmentDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SingleAssignmentDisposable.swift; path = RxSwift/Disposables/SingleAssignmentDisposable.swift; sourceTree = ""; }; + 9E395C01DAD7667EB3F836923CF4620D /* ConstraintMakerEditable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerEditable.swift; path = Source/ConstraintMakerEditable.swift; sourceTree = ""; }; + 9E52895F3AE524CA110F28AD14B0E12C /* RxSearchBarDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxSearchBarDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxSearchBarDelegateProxy.swift; sourceTree = ""; }; + 9E64E7C4F7021F47558470A4FC51069B /* ConstraintLayoutGuide.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutGuide.swift; path = Source/ConstraintLayoutGuide.swift; sourceTree = ""; }; + 9F46C8592F6210E66F2C23CEAA329261 /* RxTableViewReactiveArrayDataSource.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTableViewReactiveArrayDataSource.swift; path = RxCocoa/iOS/DataSources/RxTableViewReactiveArrayDataSource.swift; sourceTree = ""; }; + 9F4821A684BF67B4599A7530D1E3D80D /* UIButton+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIButton+Rx.swift"; path = "RxCocoa/iOS/UIButton+Rx.swift"; sourceTree = ""; }; + 9F53744899DC8FD76805AF2C4ADF2E6C /* PaddingDesignable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PaddingDesignable.swift; path = Sources/Protocols/Designable/PaddingDesignable.swift; sourceTree = ""; }; + A014C52ED0508D411FEEB953CE1384C8 /* ScheduledDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ScheduledDisposable.swift; path = RxSwift/Disposables/ScheduledDisposable.swift; sourceTree = ""; }; + A02630D1EE855AC15F1FF32C78279AAF /* MJRefreshAutoFooter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshAutoFooter.h; path = MJRefresh/Base/MJRefreshAutoFooter.h; sourceTree = ""; }; + A02B3D627DF866BACA28258430AFBF6E /* Configuration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Configuration.swift; path = Source/Configuration.swift; sourceTree = ""; }; + A033B2177DA90822C85DC9B0440F6CAE /* CombineLatest+arity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "CombineLatest+arity.swift"; path = "RxSwift/Observables/CombineLatest+arity.swift"; sourceTree = ""; }; + A075BD3ABFB8756BFB2F44BE84120FA8 /* UIScrollView+MJRefresh.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIScrollView+MJRefresh.h"; path = "MJRefresh/UIScrollView+MJRefresh.h"; sourceTree = ""; }; + A080D8B68ECFBF08019B7FCA1F3E2D02 /* RxTableViewDataSourceType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTableViewDataSourceType.swift; path = RxCocoa/iOS/Protocols/RxTableViewDataSourceType.swift; sourceTree = ""; }; + A09C6834F3E9B97A62243882B2A9C12E /* UITextView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UITextView+Rx.swift"; path = "RxCocoa/iOS/UITextView+Rx.swift"; sourceTree = ""; }; + A10AED39392EE71F918A3184CA2574BF /* ParameterEncoding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ParameterEncoding.swift; path = Source/ParameterEncoding.swift; sourceTree = ""; }; + A114D9B0D205D8C0F103CE6215AD63F4 /* NVActivityIndicatorAnimationSquareSpin.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationSquareSpin.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationSquareSpin.swift; sourceTree = ""; }; + A12C1B06C09A900A9873B9242B08B88F /* URLTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = URLTransform.swift; path = Source/URLTransform.swift; sourceTree = ""; }; + A131E6D890E33AFC4C124300457606A8 /* DataTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DataTransform.swift; path = Source/DataTransform.swift; sourceTree = ""; }; + A25F9884A86D6792D624F519A70EE1A3 /* NVActivityIndicatorView-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NVActivityIndicatorView-umbrella.h"; sourceTree = ""; }; + A264D4730065B34E9CD16540BA1559AE /* NVActivityIndicatorView.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = NVActivityIndicatorView.xcconfig; sourceTree = ""; }; + A2C5125B50A24387FF7B3F51B3B95E73 /* KingfisherManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = KingfisherManager.swift; path = Sources/KingfisherManager.swift; sourceTree = ""; }; + A302E5AFEE67797A6942840A61A26FF7 /* UISlider+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UISlider+Rx.swift"; path = "RxCocoa/iOS/UISlider+Rx.swift"; sourceTree = ""; }; A30CB0D659F22DAD584691CF85EEE3C5 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/QuartzCore.framework; sourceTree = DEVELOPER_DIR; }; - A382E112ACCE5B12023F29678013CE51 /* InfiniteSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = InfiniteSequence.swift; path = Platform/DataStructures/InfiniteSequence.swift; sourceTree = ""; }; - A38A8F7E962BC4EE25BA8DD2AAF5B7BF /* Operators.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Operators.swift; path = Sources/SQLite/Typed/Operators.swift; sourceTree = ""; }; - A3D96B8AAD305A1A2FD5E0D9E9360638 /* LOTMaskContainer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTMaskContainer.h; path = "lottie-ios/Classes/AnimatableLayers/LOTMaskContainer.h"; sourceTree = ""; }; - A3EC02F84505CE42A71B96A18AFFED5A /* SingleAsync.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SingleAsync.swift; path = RxSwift/Observables/SingleAsync.swift; sourceTree = ""; }; - A43B3636C3F00E2C1EED0A22B2F47D73 /* NVActivityIndicatorAnimationLineScalePulseOutRapid.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationLineScalePulseOutRapid.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationLineScalePulseOutRapid.swift; sourceTree = ""; }; - A4656F406E002F587BF0B551B4173944 /* LOTValueInterpolator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTValueInterpolator.m; path = "lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTValueInterpolator.m"; sourceTree = ""; }; - A493C56454669BD1F6AB1668787D9F35 /* ImageCache.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImageCache.swift; path = Sources/ImageCache.swift; sourceTree = ""; }; - A502ACBEB9E2230805E26BC070F7A27F /* DateTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DateTransform.swift; path = Source/DateTransform.swift; sourceTree = ""; }; - A534D392C7F84BBC7A0895111CD7B2FC /* MJRefresh-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "MJRefresh-prefix.pch"; sourceTree = ""; }; - A55CEDF1D56F1E448CF6C0D02F5E6FCC /* TransformType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TransformType.swift; path = Source/TransformType.swift; sourceTree = ""; }; - A5AAEDCBCF4748099F5B160EDAA0858B /* AnimatableActivityIndicatorView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnimatableActivityIndicatorView.swift; path = Sources/Views/AnimatableActivityIndicatorView.swift; sourceTree = ""; }; - A5F6D72E418A50740D0AEA0D76E1AD70 /* BuiltInBridgeType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BuiltInBridgeType.swift; path = Source/BuiltInBridgeType.swift; sourceTree = ""; }; - A6188A2290B074180845F09D1C187B69 /* ControlEvent+Signal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ControlEvent+Signal.swift"; path = "RxCocoa/Traits/Signal/ControlEvent+Signal.swift"; sourceTree = ""; }; - A6548033B7DA17CB406512781C500ECB /* SQLite.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = SQLite.framework; path = SQLite.swift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - A6D20FF3B8F1576447306969935E92D3 /* SGPageTitleViewConfigure.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SGPageTitleViewConfigure.h; path = SGPagingView/SGPageTitle/SGPageTitleViewConfigure.h; sourceTree = ""; }; - A6DCD24A709B709BFBB4143022669DFA /* NVActivityIndicatorAnimationBallPulseSync.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallPulseSync.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallPulseSync.swift; sourceTree = ""; }; - A6EAE8DBC842461C6658F10396FFAC83 /* Platform.Linux.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Platform.Linux.swift; path = Platform/Platform.Linux.swift; sourceTree = ""; }; - A778E58642D68B159C610F241B292543 /* ControlEvent+Driver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ControlEvent+Driver.swift"; path = "RxCocoa/Traits/Driver/ControlEvent+Driver.swift"; sourceTree = ""; }; - A7D591588B99792FC84A1188B1B5489E /* Empty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Empty.swift; path = RxSwift/Observables/Empty.swift; sourceTree = ""; }; - A81251AACCC703824883C8DD0BA3440D /* Sequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Sequence.swift; path = RxSwift/Observables/Sequence.swift; sourceTree = ""; }; - A892157B5A6986E3FE4541EABE2EF2FC /* SVProgressHUD-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SVProgressHUD-prefix.pch"; sourceTree = ""; }; - A8B1D4C7EB0C49403112AF0F701BAACC /* RxCocoa-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RxCocoa-prefix.pch"; sourceTree = ""; }; - A8E510C117A2BA97D49EB05BC1D608BE /* ActivityIndicatorAnimationBallScaleMultiple.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorAnimationBallScaleMultiple.swift; path = Sources/ActivityIndicators/Animations/ActivityIndicatorAnimationBallScaleMultiple.swift; sourceTree = ""; }; - A8F849A2D5C7BBA5D954BCB31C0D8EC8 /* DesignableNavigationBar.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DesignableNavigationBar.swift; path = Sources/Views/DesignableNavigationBar.swift; sourceTree = ""; }; - A96559C064EF005E79DF1CF3F73E58D5 /* _RXObjCRuntime.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _RXObjCRuntime.h; path = RxCocoa/Runtime/include/_RXObjCRuntime.h; sourceTree = ""; }; - A966FF5A357A608E54DC561E485A1743 /* LOTComposition.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTComposition.m; path = "lottie-ios/Classes/Private/LOTComposition.m"; sourceTree = ""; }; - A98BEC623607AD42270AE3AD5C823BDC /* ActivityIndicatorAnimationLineScalePulseOut.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorAnimationLineScalePulseOut.swift; path = Sources/ActivityIndicators/Animations/ActivityIndicatorAnimationLineScalePulseOut.swift; sourceTree = ""; }; - A9E446F6188BD52B41F15C02E54952C3 /* ThreadHelper.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ThreadHelper.swift; path = Sources/ThreadHelper.swift; sourceTree = ""; }; - AAA9415D14E3D0F07FE88BEED93338D9 /* FoldAnimator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FoldAnimator.swift; path = Sources/Animators/TransitionAnimator/FoldAnimator.swift; sourceTree = ""; }; - AB3268EAAB745230B087146F1237F481 /* OperationQueueScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = OperationQueueScheduler.swift; path = RxSwift/Schedulers/OperationQueueScheduler.swift; sourceTree = ""; }; - ABC3431CBE8D229FCD4081EDA1C412C0 /* ControlTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ControlTarget.swift; path = RxCocoa/Common/ControlTarget.swift; sourceTree = ""; }; - AC1A322C82A68BA9E8AFA8DD9D0121A4 /* PresentSlideSegue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PresentSlideSegue.swift; path = Sources/Segues/PresentSlideSegue.swift; sourceTree = ""; }; - AD12E503B92D7B6B0F0CD9ABC6AF35FC /* Transformable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Transformable.swift; path = Source/Transformable.swift; sourceTree = ""; }; - ADB9194E10CB21E017543BF4F5D1287B /* ActivityIndicatorAnimationBallScale.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorAnimationBallScale.swift; path = Sources/ActivityIndicators/Animations/ActivityIndicatorAnimationBallScale.swift; sourceTree = ""; }; - ADF7B819AE89961BF1DF1A296E69BA82 /* Zip+Collection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Zip+Collection.swift"; path = "RxSwift/Observables/Zip+Collection.swift"; sourceTree = ""; }; - AE1B1E6DD575DC7EA14D3349B32BCF07 /* AnimatedTransitioning.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnimatedTransitioning.swift; path = Sources/Protocols/TransitionAnimatable/AnimatedTransitioning.swift; sourceTree = ""; }; - AE47DC620D1FDAC43B96675BFC763582 /* HandyJSON.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = HandyJSON.modulemap; sourceTree = ""; }; - AF0AC7475C4FE9AF32AD2185590E457B /* ConstraintMultiplierTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMultiplierTarget.swift; path = Source/ConstraintMultiplierTarget.swift; sourceTree = ""; }; - AF1D6458A5DE801939E90475C79785A7 /* ExtendCustomModelType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExtendCustomModelType.swift; path = Source/ExtendCustomModelType.swift; sourceTree = ""; }; - AF2A4E12788C6B76699BB45ADD58D2C3 /* MJRefresh.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = MJRefresh.xcconfig; sourceTree = ""; }; - AF2C63D11EF5A4F5C09DFA1C20A545EA /* Catch.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Catch.swift; path = RxSwift/Observables/Catch.swift; sourceTree = ""; }; - AF8AFB5AD504E30CBDE0FD9E490F8EF5 /* ScheduledDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ScheduledDisposable.swift; path = RxSwift/Disposables/ScheduledDisposable.swift; sourceTree = ""; }; - AFAE08A1E538979A8A54BD268241EB7F /* TransitionPresenterManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TransitionPresenterManager.swift; path = Sources/Animators/Common/TransitionPresenterManager.swift; sourceTree = ""; }; - B083172486B0E380AECD401BDDB4C391 /* FDFullscreenPopGesture.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = FDFullscreenPopGesture.xcconfig; sourceTree = ""; }; - B0CE6A5A7ED7109F249752B075731FCE /* RxTextStorageDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTextStorageDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxTextStorageDelegateProxy.swift; sourceTree = ""; }; - B14704EBB7290C90B3C38365349CC6AE /* ActivityIndicatorAnimationBallClipRotatePulse.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorAnimationBallClipRotatePulse.swift; path = Sources/ActivityIndicators/Animations/ActivityIndicatorAnimationBallClipRotatePulse.swift; sourceTree = ""; }; - B2B3ECA6710F480C7B799BC6F3ABCEDD /* LOTAnimatorNode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTAnimatorNode.m; path = "lottie-ios/Classes/RenderSystem/LOTAnimatorNode.m"; sourceTree = ""; }; - B2E72BD7314CF94C10208EB7517A3D6B /* NVActivityIndicatorViewable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorViewable.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Presenter/NVActivityIndicatorViewable.swift; sourceTree = ""; }; - B3B324EDFC60386052E9CDD7E85705FE /* PresentFoldSegue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PresentFoldSegue.swift; path = Sources/Segues/PresentFoldSegue.swift; sourceTree = ""; }; - B3FD5420B9BA99B1F4CB34B325186DD7 /* PriorityQueue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PriorityQueue.swift; path = Platform/DataStructures/PriorityQueue.swift; sourceTree = ""; }; - B43B445460B045347B346A6D01946C43 /* PropertyInfo.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PropertyInfo.swift; path = Source/PropertyInfo.swift; sourceTree = ""; }; - B4C432A0206A7ABECE2524C5FFEDC098 /* ActivityIndicatorAnimationLineScaleParty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorAnimationLineScaleParty.swift; path = Sources/ActivityIndicators/Animations/ActivityIndicatorAnimationLineScaleParty.swift; sourceTree = ""; }; - B4DBDA9100B3C4BDB1140374A24FC5DA /* LOTLayer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTLayer.m; path = "lottie-ios/Classes/Models/LOTLayer.m"; sourceTree = ""; }; - B58F6E4A235DEE467F0ACD31DEC8AB1F /* MJRefresh.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = MJRefresh.modulemap; sourceTree = ""; }; - B594AF1AF55D9C84BDC6374B2F19E1F3 /* ShadowDesignable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ShadowDesignable.swift; path = Sources/Protocols/Designable/ShadowDesignable.swift; sourceTree = ""; }; - B5B4292A7167883AF83F46B82150BBCC /* ConstraintMakerFinalizable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerFinalizable.swift; path = Source/ConstraintMakerFinalizable.swift; sourceTree = ""; }; - B5C63B9D7906C7F2C7AAF980FA108A01 /* Timeline.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Timeline.swift; path = Source/Timeline.swift; sourceTree = ""; }; - B5E482E0BBB40A4BC1C53792528A4538 /* LOTShapePath.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTShapePath.m; path = "lottie-ios/Classes/Models/LOTShapePath.m"; sourceTree = ""; }; - B6162F22B028CE83F7882896BF9CDE2F /* ActivityIndicatorAnimationBallClipRotate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorAnimationBallClipRotate.swift; path = Sources/ActivityIndicators/Animations/ActivityIndicatorAnimationBallClipRotate.swift; sourceTree = ""; }; - B642E00E67E0A77543079F4274DF9532 /* HandyJSON-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "HandyJSON-dummy.m"; sourceTree = ""; }; - B6433F0BB306E7585814AF3CB89F3822 /* LOTMaskContainer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTMaskContainer.m; path = "lottie-ios/Classes/AnimatableLayers/LOTMaskContainer.m"; sourceTree = ""; }; - B693819641A41FA930CB97C57B7EA3E6 /* ThemeKeyboardAppearancePicker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ThemeKeyboardAppearancePicker.swift; path = Source/ThemeKeyboardAppearancePicker.swift; sourceTree = ""; }; - B6C1B03C44FFF619CD179FC9F401149B /* LOTMask.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTMask.m; path = "lottie-ios/Classes/Models/LOTMask.m"; sourceTree = ""; }; - B773F1706F4E5D0B50DFF057F5A681B9 /* AnimatableModalViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnimatableModalViewController.swift; path = Sources/Controllers/AnimatableModalViewController.swift; sourceTree = ""; }; - B7C8FA9770B867603222E31A7C5DB2BA /* GroupBy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GroupBy.swift; path = RxSwift/Observables/GroupBy.swift; sourceTree = ""; }; - B81315CAFF12D116F93A17CADA7C51FC /* LOTColorInterpolator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTColorInterpolator.m; path = "lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTColorInterpolator.m"; sourceTree = ""; }; - B837FF1F46B736C372811088956EF18A /* Do.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Do.swift; path = RxSwift/Observables/Do.swift; sourceTree = ""; }; - B8383879EDAC4DB4260E546371357F5D /* DataTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DataTransform.swift; path = Source/DataTransform.swift; sourceTree = ""; }; - B8926019ADDD1C67CB4EDB19F4450337 /* BMPlayer-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "BMPlayer-umbrella.h"; sourceTree = ""; }; - B89D36CBAB389E947702A2E2388D25FE /* ActivityIndicatorAnimationBallGridBeat.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorAnimationBallGridBeat.swift; path = Sources/ActivityIndicators/Animations/ActivityIndicatorAnimationBallGridBeat.swift; sourceTree = ""; }; - B8E2896FA619331595E7FCBF1F49315F /* SQLite-Bridging.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "SQLite-Bridging.m"; path = "Sources/SQLiteObjc/SQLite-Bridging.m"; sourceTree = ""; }; - B989B1B55B69DD24F57511D419909A76 /* NotificationCenter+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NotificationCenter+Rx.swift"; path = "RxCocoa/Foundation/NotificationCenter+Rx.swift"; sourceTree = ""; }; - B9CB9486D0FD72612383266E9EA8ADC8 /* AnimatableSlider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnimatableSlider.swift; path = Sources/Views/AnimatableSlider.swift; sourceTree = ""; }; - BA4B4F81BACC7810D0A56625F99612A4 /* SnapKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SnapKit-dummy.m"; sourceTree = ""; }; - BA95E4F30C56DB00B4BB8EAF869259D2 /* NVActivityIndicatorView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorView.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/NVActivityIndicatorView.swift; sourceTree = ""; }; - BAC5D69DE025D6D92E7F08F67BD09474 /* AnimatableTableViewCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnimatableTableViewCell.swift; path = Sources/Views/AnimatableTableViewCell.swift; sourceTree = ""; }; - BAEC6E29E295D399DE234A00C4DBD5ED /* SchedulerServices+Emulation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "SchedulerServices+Emulation.swift"; path = "RxSwift/Schedulers/SchedulerServices+Emulation.swift"; sourceTree = ""; }; - BB2C056B3BCE57062636030390F85B3C /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - BB49D30D1EBDE27F3B0C162B1EB2D757 /* CardsAnimator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CardsAnimator.swift; path = Sources/Animators/TransitionAnimator/CardsAnimator.swift; sourceTree = ""; }; - BC001E848546222EFF535823A8A70709 /* Kingfisher.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Kingfisher.xcconfig; sourceTree = ""; }; - BC08B35223146AF7634093115A844EE5 /* TableViewCellDesignable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TableViewCellDesignable.swift; path = Sources/Protocols/Designable/TableViewCellDesignable.swift; sourceTree = ""; }; - BC8D3647E2AE0D1225C39E4ADF5E85C6 /* LOTShapeGradientFill.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTShapeGradientFill.m; path = "lottie-ios/Classes/Models/LOTShapeGradientFill.m"; sourceTree = ""; }; - BCA3E9AB57C3991F5200992B838DF438 /* TakeLast.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TakeLast.swift; path = RxSwift/Observables/TakeLast.swift; sourceTree = ""; }; - BCD4ABEE89BECAC34779DB4870B85803 /* MJRefreshStateHeader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshStateHeader.m; path = MJRefresh/Custom/Header/MJRefreshStateHeader.m; sourceTree = ""; }; - BCF4173AC5D07724CFAA6FDFD406E259 /* Take.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Take.swift; path = RxSwift/Observables/Take.swift; sourceTree = ""; }; - BCF6B9ED3081CD0EC6497084A35600D8 /* Error.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Error.swift; path = RxSwift/Observables/Error.swift; sourceTree = ""; }; - BD67C186437143A3B8FC2B851D4D3E10 /* Lock.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Lock.swift; path = RxSwift/Concurrency/Lock.swift; sourceTree = ""; }; - BDA124F864070C9BB9F94579A16E9ED6 /* NSBundle+MJRefresh.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSBundle+MJRefresh.m"; path = "MJRefresh/NSBundle+MJRefresh.m"; sourceTree = ""; }; - BDA9107CA8C1B02C1D5302AD337AC8C1 /* NVActivityIndicatorAnimationBallRotate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallRotate.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallRotate.swift; sourceTree = ""; }; - BE7502BEC1CFDA2E3D6B36ED8E099C8D /* NVActivityIndicatorAnimationBallGridBeat.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallGridBeat.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallGridBeat.swift; sourceTree = ""; }; - BEC4B1FF8B4365291E9AE0EDF942E272 /* UITabBarController+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UITabBarController+Rx.swift"; path = "RxCocoa/iOS/UITabBarController+Rx.swift"; sourceTree = ""; }; - BFDD8B256B99FA51B9A5CC378ACF3212 /* lottie-ios-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "lottie-ios-umbrella.h"; sourceTree = ""; }; - C01C24279BCC821CBD96C8D052E6CC59 /* Driver+Subscription.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Driver+Subscription.swift"; path = "RxCocoa/Traits/Driver/Driver+Subscription.swift"; sourceTree = ""; }; - C01DD4EBAD3CAF3B9CA8712114A7C4A8 /* Errors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Errors.swift; path = Sources/SQLite/Core/Errors.swift; sourceTree = ""; }; - C02460B6CCFFA34EC99D327DF6CAC988 /* AnimationType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnimationType.swift; path = Sources/Enums/AnimationType.swift; sourceTree = ""; }; - C02661120B6B034150C7D9F8F8A17144 /* RxSwift.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = RxSwift.xcconfig; sourceTree = ""; }; - C031AB86F8C4C245E7789E32B1AEEF93 /* Alamofire-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Alamofire-prefix.pch"; sourceTree = ""; }; - C035E9355268E0E0EBE8832FE82593AC /* UIColor+Expanded.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIColor+Expanded.h"; path = "lottie-ios/Classes/Extensions/UIColor+Expanded.h"; sourceTree = ""; }; - C0D186AD449351E3F7DDAC9FF38A1D67 /* ConstraintInsetTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintInsetTarget.swift; path = Source/ConstraintInsetTarget.swift; sourceTree = ""; }; - C0D74C57FA409231168E10BFFA523BBA /* RecursiveLock.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RecursiveLock.swift; path = Platform/RecursiveLock.swift; sourceTree = ""; }; - C1202CB18C4EDD774F1F19ED94D44A5A /* ObservableConvertibleType+Driver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ObservableConvertibleType+Driver.swift"; path = "RxCocoa/Traits/Driver/ObservableConvertibleType+Driver.swift"; sourceTree = ""; }; - C1AA7843A6BFD747DD9C1DC93E2042B3 /* MJRefreshAutoFooter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshAutoFooter.h; path = MJRefresh/Base/MJRefreshAutoFooter.h; sourceTree = ""; }; - C3EE43F6AC6FC5DFAE9ABCDA73DEB1F3 /* SVIndefiniteAnimatedView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SVIndefiniteAnimatedView.h; path = SVProgressHUD/SVIndefiniteAnimatedView.h; sourceTree = ""; }; - C417F8DCBC368EDBFB0B22AA954DCF17 /* HandyJSON.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HandyJSON.h; path = Source/HandyJSON.h; sourceTree = ""; }; - C4228ECF0270AF9463EC0525C45FC1E4 /* PresentationAnimationType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PresentationAnimationType.swift; path = Sources/Enums/PresentationAnimationType.swift; sourceTree = ""; }; - C52DEF4E1C9B02F53DD65B973213D831 /* CoreFunctions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CoreFunctions.swift; path = Sources/SQLite/Typed/CoreFunctions.swift; sourceTree = ""; }; - C5582981004D61AAE61CA9EF62895593 /* NVActivityIndicatorAnimationBlank.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBlank.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBlank.swift; sourceTree = ""; }; - C55F13B941BD4A8C23158E1895FBF5F3 /* PresentTurnSegue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PresentTurnSegue.swift; path = Sources/Segues/PresentTurnSegue.swift; sourceTree = ""; }; - C5D2741ED47BC7E864B634A4E34136E3 /* MJRefreshStateHeader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshStateHeader.h; path = MJRefresh/Custom/Header/MJRefreshStateHeader.h; sourceTree = ""; }; - C5DA3396D19118CB06E14D65B601BE4F /* SnapKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = SnapKit.modulemap; sourceTree = ""; }; - C617368E835CFF3AC1EE69A7FA9593BF /* FormatIndicatedCacheSerializer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FormatIndicatedCacheSerializer.swift; path = Sources/FormatIndicatedCacheSerializer.swift; sourceTree = ""; }; - C631E31F95CBF36D31FB2E5D2C5C8CBD /* ActivityIndicatorAnimationSquareSpin.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorAnimationSquareSpin.swift; path = Sources/ActivityIndicators/Animations/ActivityIndicatorAnimationSquareSpin.swift; sourceTree = ""; }; - C65A76C00350A8BA0A636CFE8BE5E3D8 /* AnimatableImageView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnimatableImageView.swift; path = Sources/Views/AnimatableImageView.swift; sourceTree = ""; }; - C6B404FAEA1EAC5043F1DCC920E1230D /* Reactive.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Reactive.swift; path = RxSwift/Reactive.swift; sourceTree = ""; }; - C6BBD37BC8A3637FAED77EAD0B3F7215 /* RxCocoaObjCRuntimeError+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "RxCocoaObjCRuntimeError+Extensions.swift"; path = "RxCocoa/Common/RxCocoaObjCRuntimeError+Extensions.swift"; sourceTree = ""; }; - C6D2A38724FACF994BBC57E994D7AA41 /* ActivityIndicatorAnimationBallZigZagDeflect.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorAnimationBallZigZagDeflect.swift; path = Sources/ActivityIndicators/Animations/ActivityIndicatorAnimationBallZigZagDeflect.swift; sourceTree = ""; }; - C72916B070A45B9872FB2BC9D4B66C51 /* Platform.Darwin.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Platform.Darwin.swift; path = Platform/Platform.Darwin.swift; sourceTree = ""; }; - C72A01CA53F0F6CDE4ABD00180B58546 /* InteractiveAnimatorFactory.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = InteractiveAnimatorFactory.swift; path = Sources/Animators/Common/InteractiveAnimatorFactory.swift; sourceTree = ""; }; - C756760B5C2D6F888C93CD85E61697F3 /* UIScrollView+MJExtension.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIScrollView+MJExtension.m"; path = "MJRefresh/UIScrollView+MJExtension.m"; sourceTree = ""; }; - C79F692904AB73875F3CA70AB32BE9EC /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - C7E53F0CE5944091AD64E326573B4931 /* LOTRepeaterRenderer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTRepeaterRenderer.h; path = "lottie-ios/Classes/RenderSystem/RenderNodes/LOTRepeaterRenderer.h"; sourceTree = ""; }; - C7FBE4E3AF2B856E401875C06CABB3FF /* MJRefreshBackNormalFooter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshBackNormalFooter.m; path = MJRefresh/Custom/Footer/Back/MJRefreshBackNormalFooter.m; sourceTree = ""; }; - C86BD6CD5819861824D872239B8B1516 /* LOTAssetGroup.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTAssetGroup.m; path = "lottie-ios/Classes/Models/LOTAssetGroup.m"; sourceTree = ""; }; - C8C345126330F18C9DBDCE398DACAE5D /* Bag+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Bag+Rx.swift"; path = "RxSwift/Extensions/Bag+Rx.swift"; sourceTree = ""; }; - C8C9BC5B2F2A244593AD7FBD783ADFE3 /* PresentFlipWithDismissInteractionSegue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PresentFlipWithDismissInteractionSegue.swift; path = Sources/Segues/PresentFlipWithDismissInteractionSegue.swift; sourceTree = ""; }; - C8CC09FDBA52BC87E973C5F994B2F109 /* LOTAnimationView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTAnimationView.m; path = "lottie-ios/Classes/Private/LOTAnimationView.m"; sourceTree = ""; }; - C8D0398F22E2DCC7CC946E68E85D068F /* DispatchQueue+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "DispatchQueue+Extensions.swift"; path = "Platform/DispatchQueue+Extensions.swift"; sourceTree = ""; }; - C8D648FC7E62C3A97180A0026A6E70D9 /* UILabel+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UILabel+Rx.swift"; path = "RxCocoa/iOS/UILabel+Rx.swift"; sourceTree = ""; }; - C913BB1D654F80BEB325758B15582342 /* MultipartFormData.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MultipartFormData.swift; path = Source/MultipartFormData.swift; sourceTree = ""; }; - C9B856A978F2393E8D6F559FAA464258 /* LayoutConstraintItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LayoutConstraintItem.swift; path = Source/LayoutConstraintItem.swift; sourceTree = ""; }; - C9DB4641951A7C6E3B95425B87E5E804 /* LOTRenderGroup.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTRenderGroup.h; path = "lottie-ios/Classes/RenderSystem/RenderNodes/LOTRenderGroup.h"; sourceTree = ""; }; - C9E4E16F5872E43E3A7C997788AB14BE /* LOTShapePath.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTShapePath.h; path = "lottie-ios/Classes/Models/LOTShapePath.h"; sourceTree = ""; }; - CA2B9F22CA6DEF6DD9E02820C686AF84 /* AnimationChainable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnimationChainable.swift; path = Sources/Others/AnimationChainable.swift; sourceTree = ""; }; - CAC0FEC41CE007BD5D60A897E599F18F /* Logging.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Logging.swift; path = RxCocoa/Foundation/Logging.swift; sourceTree = ""; }; - CB2FC1A39C764FB9EF317B86B234EF1B /* Alamofire.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Alamofire.framework; path = Alamofire.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - CB3D11915CFE3972D89790BC72CA9369 /* UIScrollView+MJRefresh.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIScrollView+MJRefresh.m"; path = "MJRefresh/UIScrollView+MJRefresh.m"; sourceTree = ""; }; - CBCEF0D603219AB54A528E03592FA29A /* Queue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Queue.swift; path = Platform/DataStructures/Queue.swift; sourceTree = ""; }; - CBE408A9BB827639C4CCBDFFE67AA29F /* MJRefreshNormalHeader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshNormalHeader.h; path = MJRefresh/Custom/Header/MJRefreshNormalHeader.h; sourceTree = ""; }; - CBFC2355368D31C2531FF43F2A2FBCAF /* BehaviorRelay+Driver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "BehaviorRelay+Driver.swift"; path = "RxCocoa/Traits/Driver/BehaviorRelay+Driver.swift"; sourceTree = ""; }; - CC25C6DA574314C3A91A633B92EF63B6 /* First.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = First.swift; path = RxSwift/Observables/First.swift; sourceTree = ""; }; - CC3BAB9607A561F0F2786E73AA623FF6 /* NVActivityIndicatorAnimationLineScale.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationLineScale.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationLineScale.swift; sourceTree = ""; }; - CCB30807A687ABAD96D6B9D83E1515D1 /* Event.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Event.swift; path = RxSwift/Event.swift; sourceTree = ""; }; - CD0C4CE0EE52AD17EEE43C4699EC7884 /* AnonymousDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnonymousDisposable.swift; path = RxSwift/Disposables/AnonymousDisposable.swift; sourceTree = ""; }; - CD3B0F25E6B3A9D0EAC3774E978653DF /* NVActivityIndicatorView-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NVActivityIndicatorView-dummy.m"; sourceTree = ""; }; - CDFDEBECF8E9E4A48CFB9FAABE187EB1 /* MJRefreshBackFooter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshBackFooter.m; path = MJRefresh/Base/MJRefreshBackFooter.m; sourceTree = ""; }; - CE3F454C50D97FF78FF5789943EEDD1B /* Blob.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Blob.swift; path = Sources/SQLite/Core/Blob.swift; sourceTree = ""; }; - CF53C9E3F67E2DA9E89651FED14543B4 /* MJRefreshAutoGifFooter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshAutoGifFooter.h; path = MJRefresh/Custom/Footer/Auto/MJRefreshAutoGifFooter.h; sourceTree = ""; }; - D028ABFE543979DCAB4FEDA8493382F2 /* ConstraintLayoutGuide+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ConstraintLayoutGuide+Extensions.swift"; path = "Source/ConstraintLayoutGuide+Extensions.swift"; sourceTree = ""; }; - D04E46E8224E2B2DC71F1BF20953E929 /* IBEnum.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IBEnum.swift; path = Sources/Enums/IBEnum.swift; sourceTree = ""; }; - D05C81FB5DBC7977807350864B2FDF7F /* AnimatedPresenting.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnimatedPresenting.swift; path = Sources/Protocols/TransitionAnimatable/AnimatedPresenting.swift; sourceTree = ""; }; - D1629E9940383BEE75D1768046EAD754 /* RootWindowDesignable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RootWindowDesignable.swift; path = Sources/Protocols/Designable/RootWindowDesignable.swift; sourceTree = ""; }; - D1649D48534057ADC59CCB996A4874DB /* Range.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Range.swift; path = RxSwift/Observables/Range.swift; sourceTree = ""; }; - D1934137CC2CA1E3D1DC38D818F8458A /* FDFullscreenPopGesture.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = FDFullscreenPopGesture.framework; path = FDFullscreenPopGesture.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - D194C7A11D18F82EE469E9145320295F /* ActivityIndicatorAnimationPacman.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorAnimationPacman.swift; path = Sources/ActivityIndicators/Animations/ActivityIndicatorAnimationPacman.swift; sourceTree = ""; }; - D1C1F33C52FEA6CF7868E8DDAA90F6A3 /* ConstraintViewDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintViewDSL.swift; path = Source/ConstraintViewDSL.swift; sourceTree = ""; }; - D26EBC31021B088C9AAF31E5734A413B /* RxCocoa.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = RxCocoa.framework; path = RxCocoa.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - D27C1B76808BD5D77AE9EF2830F6A6AC /* LOTShapeGradientFill.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTShapeGradientFill.h; path = "lottie-ios/Classes/Models/LOTShapeGradientFill.h"; sourceTree = ""; }; - D27D41687E50035F8A5050222B48076D /* LOTAnimatorNode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTAnimatorNode.h; path = "lottie-ios/Classes/RenderSystem/LOTAnimatorNode.h"; sourceTree = ""; }; - D2BF342ACCCF306098ED810CBDB40150 /* ActivityIndicatorAnimationBallSpinFadeLoader.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorAnimationBallSpinFadeLoader.swift; path = Sources/ActivityIndicators/Animations/ActivityIndicatorAnimationBallSpinFadeLoader.swift; sourceTree = ""; }; - D2DEFB69FD90AF7EA92FAB7D4E9D6448 /* AnimatableBarButtonItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnimatableBarButtonItem.swift; path = Sources/Views/AnimatableBarButtonItem.swift; sourceTree = ""; }; - D3D11C75A4AFF814C8812077ADE53C13 /* Measuable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Measuable.swift; path = Source/Measuable.swift; sourceTree = ""; }; - D42B51BE1D674E619242DDF51955EA44 /* SGPageTitleView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SGPageTitleView.m; path = SGPagingView/SGPageTitle/SGPageTitleView.m; sourceTree = ""; }; - D47D04DCB4C40ACF7C7E56302DCB61B9 /* SVProgressHUD.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = SVProgressHUD.modulemap; sourceTree = ""; }; - D4A573215CC1819D2D36B2DF6E1B276E /* Errors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Errors.swift; path = RxSwift/Errors.swift; sourceTree = ""; }; - D4E9A63ED006B76CD22208FD5D63F76F /* Never.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Never.swift; path = RxSwift/Observables/Never.swift; sourceTree = ""; }; - D54057AA8F728F7E6837E00583DF553A /* SkipWhile.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SkipWhile.swift; path = RxSwift/Observables/SkipWhile.swift; sourceTree = ""; }; - D5634F22DABB9AB09D3EAE269A156937 /* ObservableConvertibleType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObservableConvertibleType.swift; path = RxSwift/ObservableConvertibleType.swift; sourceTree = ""; }; - D5B098A28080D6F13F85C6FD76D13E4A /* ConstraintRelation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintRelation.swift; path = Source/ConstraintRelation.swift; sourceTree = ""; }; - D6837FCD22ECA1C905F183779B674709 /* HistoricalSchedulerTimeConverter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HistoricalSchedulerTimeConverter.swift; path = RxSwift/Schedulers/HistoricalSchedulerTimeConverter.swift; sourceTree = ""; }; - D71B387F6E98E9DC5FA1E77B1AF271CD /* MaskType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MaskType.swift; path = Sources/Enums/MaskType.swift; sourceTree = ""; }; - D73C4B2EBBB27397A7421665A91E53D5 /* LOTRenderNode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTRenderNode.h; path = "lottie-ios/Classes/RenderSystem/LOTRenderNode.h"; sourceTree = ""; }; - D778DA0D6AE56F1672C492E59B4F5197 /* SVIndefiniteAnimatedView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SVIndefiniteAnimatedView.m; path = SVProgressHUD/SVIndefiniteAnimatedView.m; sourceTree = ""; }; - D79A2DED8E4833D59C143FCD2CF4F876 /* ConstraintLayoutGuideDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutGuideDSL.swift; path = Source/ConstraintLayoutGuideDSL.swift; sourceTree = ""; }; - D7C779D12DB9CDCFB91190A1BF397459 /* IBAnimatable.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = IBAnimatable.modulemap; sourceTree = ""; }; - D7DF9B525B22095A90BF11EB5F4481D9 /* UIGestureRecognizer+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIGestureRecognizer+Rx.swift"; path = "RxCocoa/iOS/UIGestureRecognizer+Rx.swift"; sourceTree = ""; }; - D7EDBB99313C8F66B78D3802E031580B /* ExplodeAnimator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExplodeAnimator.swift; path = Sources/Animators/TransitionAnimator/ExplodeAnimator.swift; sourceTree = ""; }; - D85526752632D4DEE57287A9FB8A0848 /* TakeUntil.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TakeUntil.swift; path = RxSwift/Observables/TakeUntil.swift; sourceTree = ""; }; - D893C980107E5B33B9D20605B574531D /* LOTShapeGroup.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTShapeGroup.h; path = "lottie-ios/Classes/Models/LOTShapeGroup.h"; sourceTree = ""; }; - D8AB319F41741A2FCDA127717BF47999 /* MJRefreshAutoStateFooter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshAutoStateFooter.m; path = MJRefresh/Custom/Footer/Auto/MJRefreshAutoStateFooter.m; sourceTree = ""; }; - D8DEEFE9E92D939909A2F85AC30F5D5E /* NVActivityIndicatorAnimationSemiCircleSpin.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationSemiCircleSpin.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationSemiCircleSpin.swift; sourceTree = ""; }; - D95247E42860E5107A3B7A86AAB8A65A /* PublishRelay+Signal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "PublishRelay+Signal.swift"; path = "RxCocoa/Traits/Signal/PublishRelay+Signal.swift"; sourceTree = ""; }; - D9CE8D0AEB2566FE3BE17E826B6D9CD5 /* Alamofire.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = Alamofire.modulemap; sourceTree = ""; }; - D9F70B1344F7C3AC912BDCF11D462801 /* LOTShapeRectangle.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTShapeRectangle.m; path = "lottie-ios/Classes/Models/LOTShapeRectangle.m"; sourceTree = ""; }; - DA0D618A4FC401F6AA7C474803ED3AD1 /* DateAndTimeFunctions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DateAndTimeFunctions.swift; path = Sources/SQLite/Typed/DateAndTimeFunctions.swift; sourceTree = ""; }; - DA7C22CC2FB7F54ABA43172CC8809211 /* ActivityIndicatorAnimationAudioEqualizer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorAnimationAudioEqualizer.swift; path = Sources/ActivityIndicators/Animations/ActivityIndicatorAnimationAudioEqualizer.swift; sourceTree = ""; }; - DAA8DBC4C805857503ADEDBBEC5E30A6 /* NVActivityIndicatorAnimationBallSpinFadeLoader.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallSpinFadeLoader.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallSpinFadeLoader.swift; sourceTree = ""; }; - DAC7A7CCA65B102F095FDF3AE0BC8299 /* LOTAnimationCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTAnimationCache.m; path = "lottie-ios/Classes/Private/LOTAnimationCache.m"; sourceTree = ""; }; - DB0462874A5160CA2601CDCAC80683B2 /* Bag.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Bag.swift; path = Platform/DataStructures/Bag.swift; sourceTree = ""; }; - DB61F944890FF5AA3F9B310A93505C15 /* KVORepresentable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = KVORepresentable.swift; path = RxCocoa/Foundation/KVORepresentable.swift; sourceTree = ""; }; - DB885D307B2E051CA8FD03A5B79A2E8F /* SGPagingView-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SGPagingView-dummy.m"; sourceTree = ""; }; - DB983EBA19AEB1F633530BBD9039BCAE /* UIAlertAction+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIAlertAction+Rx.swift"; path = "RxCocoa/iOS/UIAlertAction+Rx.swift"; sourceTree = ""; }; - DC6D5887C9F3EEE88A9460695B1052BE /* ThemeDictionaryPicker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ThemeDictionaryPicker.swift; path = Source/ThemeDictionaryPicker.swift; sourceTree = ""; }; - DC8FC151D092BC87AABA6DD700FDB4B4 /* UITextView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UITextView+Rx.swift"; path = "RxCocoa/iOS/UITextView+Rx.swift"; sourceTree = ""; }; - DCB2BBE1A229BAB4029A4DA40D21EAA6 /* SQLite.swift-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SQLite.swift-umbrella.h"; sourceTree = ""; }; - DD27B03334566028663D2FC09C5C2A8B /* lottie-ios.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "lottie-ios.xcconfig"; sourceTree = ""; }; - DD35E127636653AD597AEC11F8B8B49C /* PresentationPresenterManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PresentationPresenterManager.swift; path = Sources/Animators/Common/PresentationPresenterManager.swift; sourceTree = ""; }; - DD7B420D0258F12EAD0973758F63D1D5 /* PresentationModalSize.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PresentationModalSize.swift; path = Sources/Enums/PresentationModalSize.swift; sourceTree = ""; }; - DD80F1AF8783480F27672DDACB78A0FA /* SVProgressAnimatedView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SVProgressAnimatedView.h; path = SVProgressHUD/SVProgressAnimatedView.h; sourceTree = ""; }; - DDD89158EFA7F042DF943347A492739C /* NVActivityIndicatorView-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NVActivityIndicatorView-prefix.pch"; sourceTree = ""; }; - DE6E99F86374C2067ADE5E13BC6B3197 /* Indicator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Indicator.swift; path = Sources/Indicator.swift; sourceTree = ""; }; - DF6C4295D97240E793C8143E7FA1BC7C /* LOTTransformInterpolator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTTransformInterpolator.h; path = "lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTTransformInterpolator.h"; sourceTree = ""; }; - DFC28E67861EF1B4CFC61F89C1BED85B /* FlipAnimator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FlipAnimator.swift; path = Sources/Animators/TransitionAnimator/FlipAnimator.swift; sourceTree = ""; }; - DFE5D5F55CCF711F270511F9C4C676C0 /* ConstraintPriorityTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintPriorityTarget.swift; path = Source/ConstraintPriorityTarget.swift; sourceTree = ""; }; - DFF735F3AD2C69D2DD0BD84D92419A6A /* SwiftyJSON-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SwiftyJSON-dummy.m"; sourceTree = ""; }; - E014C49F423291E2E39E117AF7301824 /* UIApplication+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIApplication+Rx.swift"; path = "RxCocoa/iOS/UIApplication+Rx.swift"; sourceTree = ""; }; - E1132FB530C9B74CB2E0E96C4F381359 /* Debug.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Debug.swift; path = RxSwift/Observables/Debug.swift; sourceTree = ""; }; - E15F59520684BC10D5EF3A0D80DF89DF /* DropDownAnimator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DropDownAnimator.swift; path = Sources/Animators/PresentationAnimator/DropDownAnimator.swift; sourceTree = ""; }; - E1A16DD4A706AF765B8EA0751EBF4E63 /* ConstraintLayoutSupportDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutSupportDSL.swift; path = Source/ConstraintLayoutSupportDSL.swift; sourceTree = ""; }; - E1F467B0CFA31A46463162446F85652B /* FTS4.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FTS4.swift; path = Sources/SQLite/Extensions/FTS4.swift; sourceTree = ""; }; - E20C10B2E440ED436FFDA3244375863B /* LOTAnimatedControl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTAnimatedControl.h; path = "lottie-ios/Classes/PublicHeaders/LOTAnimatedControl.h"; sourceTree = ""; }; - E2A59B0131CD1F8E332B433E07921C38 /* Platform.Linux.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Platform.Linux.swift; path = Platform/Platform.Linux.swift; sourceTree = ""; }; - E2C2E6633D236FB94145B6D77C6871B0 /* ThemeStatePicker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ThemeStatePicker.swift; path = Source/ThemeStatePicker.swift; sourceTree = ""; }; - E31A4F2E3CF1DFCA5996BCB1BAD6CCEF /* RxPickerViewDataSourceProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxPickerViewDataSourceProxy.swift; path = RxCocoa/iOS/Proxies/RxPickerViewDataSourceProxy.swift; sourceTree = ""; }; - E3559DB2235F1314E09D3D12238A2DD1 /* SwiftyJSON.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = SwiftyJSON.framework; path = SwiftyJSON.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - E3693F58675AB909752C51A9129BADE3 /* Placeholder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Placeholder.swift; path = Sources/Placeholder.swift; sourceTree = ""; }; - E398685A65D0F7468D3D8E149AF036CE /* ThemeManager+Plist.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ThemeManager+Plist.swift"; path = "Source/ThemeManager+Plist.swift"; sourceTree = ""; }; - E3DC5B93846D68FEAFEB9BA396458125 /* UIKit+Theme.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIKit+Theme.swift"; path = "Source/UIKit+Theme.swift"; sourceTree = ""; }; - E465122B574AC2F6F7D8F53A9A9CE196 /* VirtualTimeScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = VirtualTimeScheduler.swift; path = RxSwift/Schedulers/VirtualTimeScheduler.swift; sourceTree = ""; }; - E477F9488C576ABC02A36A50F2BDBA13 /* TransformOf.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TransformOf.swift; path = Source/TransformOf.swift; sourceTree = ""; }; - E4AEA9DA5CB5D0BEF52EE47D21E7019F /* FadeAnimator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FadeAnimator.swift; path = Sources/Animators/TransitionAnimator/FadeAnimator.swift; sourceTree = ""; }; - E4EF6CC89DB4BA0538725D67C74F7DBD /* BMSubtitles.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BMSubtitles.swift; path = Source/BMSubtitles.swift; sourceTree = ""; }; - E51685BF58FEF499CB22A9CE8DDB4213 /* ThemeStatusBarStylePicker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ThemeStatusBarStylePicker.swift; path = Source/ThemeStatusBarStylePicker.swift; sourceTree = ""; }; - E57A65FF584BA4798DC313AF595B5849 /* LOTShapeCircle.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTShapeCircle.h; path = "lottie-ios/Classes/Models/LOTShapeCircle.h"; sourceTree = ""; }; - E5AB56EF2D724CA983BBD2559955E372 /* SQLite.swift-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SQLite.swift-prefix.pch"; sourceTree = ""; }; - E5F8091E798CFE01A256AD2FD41E06AF /* SynchronizedDisposeType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SynchronizedDisposeType.swift; path = RxSwift/Concurrency/SynchronizedDisposeType.swift; sourceTree = ""; }; - E601F1C0E2FA2ED1E8808DD07344E097 /* SGPageTitleView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SGPageTitleView.h; path = SGPagingView/SGPageTitle/SGPageTitleView.h; sourceTree = ""; }; - E677BFC29DD705F961D34C6AE7CBF127 /* LOTStrokeRenderer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTStrokeRenderer.h; path = "lottie-ios/Classes/RenderSystem/RenderNodes/LOTStrokeRenderer.h"; sourceTree = ""; }; - E6B408B34F70232F790BDD61A2A8CAED /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - E73AB822D87E12067FB47A291B9DA0C0 /* SQLite.swift.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SQLite.swift.xcconfig; sourceTree = ""; }; - E7593E0AD872D7C90D63485FDD304FCE /* LOTAnimatedSwitch.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTAnimatedSwitch.m; path = "lottie-ios/Classes/Private/LOTAnimatedSwitch.m"; sourceTree = ""; }; - E7C5DEEBD8C6947BAD24302EF9A9A3B0 /* ObserverType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObserverType.swift; path = RxSwift/ObserverType.swift; sourceTree = ""; }; - E7CA24D972359FACF129A945FF1B859F /* Response.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Response.swift; path = Source/Response.swift; sourceTree = ""; }; - E7DE4CD975C2B28EEC3FEC3879E0DFEB /* AnimatedImageView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnimatedImageView.swift; path = Sources/AnimatedImageView.swift; sourceTree = ""; }; - E7EB15D84FC54B90B68CEB3838D58B8F /* Pods-News.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-News.debug.xcconfig"; sourceTree = ""; }; - E7F07DC136F505E5A51FD912036A703F /* MJRefreshBackStateFooter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshBackStateFooter.h; path = MJRefresh/Custom/Footer/Back/MJRefreshBackStateFooter.h; sourceTree = ""; }; - E7F3868949265ED7556810E94A5B34FB /* BarButtonItemDesignable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BarButtonItemDesignable.swift; path = Sources/Protocols/Designable/BarButtonItemDesignable.swift; sourceTree = ""; }; - E80708EB29EC2E9864E7AE514F4ADA44 /* Dematerialize.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Dematerialize.swift; path = RxSwift/Observables/Dematerialize.swift; sourceTree = ""; }; - E83F5E5CF4320121CC5183893D702D32 /* GroupedObservable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GroupedObservable.swift; path = RxSwift/GroupedObservable.swift; sourceTree = ""; }; - E8D60E910DB94C42FAD397343F767C24 /* InvocableScheduledItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = InvocableScheduledItem.swift; path = RxSwift/Schedulers/Internal/InvocableScheduledItem.swift; sourceTree = ""; }; - E8FD528629AC282DD4C830341E6C8AF8 /* RefCountDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RefCountDisposable.swift; path = RxSwift/Disposables/RefCountDisposable.swift; sourceTree = ""; }; - E927010B905FDFA7AEC0C40C6AF36853 /* Create.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Create.swift; path = RxSwift/Observables/Create.swift; sourceTree = ""; }; - E95940F3C780FCD923D7EAC9C6829273 /* MJRefreshConst.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshConst.h; path = MJRefresh/MJRefreshConst.h; sourceTree = ""; }; - E9B6DA7E4651BAB2248221DEFC938BEE /* GradientDesignable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GradientDesignable.swift; path = Sources/Protocols/Designable/GradientDesignable.swift; sourceTree = ""; }; - E9BF01686D7A30DF12CD54FFDA996D2E /* Pods-News.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = "Pods-News.modulemap"; sourceTree = ""; }; - E9DD3AF0FE0BE9013DE02481B6D6F985 /* Skip.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Skip.swift; path = RxSwift/Observables/Skip.swift; sourceTree = ""; }; - EA352D569869DE9C80D2B54A8334B841 /* SnapKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SnapKit-prefix.pch"; sourceTree = ""; }; - EABD61F45BF77349EAE19B84ED9D8FEC /* MJRefreshBackNormalFooter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshBackNormalFooter.h; path = MJRefresh/Custom/Footer/Back/MJRefreshBackNormalFooter.h; sourceTree = ""; }; - EAEC7393247B20C0F5FAC244381AB32E /* CornerSide.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CornerSide.swift; path = Sources/Enums/CornerSide.swift; sourceTree = ""; }; - EB02CA62FA6DBC783EEC45DD6D40C5D1 /* ScheduledItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ScheduledItem.swift; path = RxSwift/Schedulers/Internal/ScheduledItem.swift; sourceTree = ""; }; - EB2BE7C7F6DF8A6756CB80771D308CAB /* LOTLayerContainer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTLayerContainer.h; path = "lottie-ios/Classes/AnimatableLayers/LOTLayerContainer.h"; sourceTree = ""; }; - EB7501D71B6331C42EDD19ADA4038D7C /* UITextField+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UITextField+Rx.swift"; path = "RxCocoa/iOS/UITextField+Rx.swift"; sourceTree = ""; }; - EC715C46131EA38013BC1238CC430AEC /* ContainerTransition.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ContainerTransition.swift; path = Sources/Animators/Common/ContainerTransition.swift; sourceTree = ""; }; - EC8A90EFD8DDCE9FC7BA6FC5667DBB80 /* LOTPolygonAnimator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTPolygonAnimator.h; path = "lottie-ios/Classes/RenderSystem/AnimatorNodes/LOTPolygonAnimator.h"; sourceTree = ""; }; - ECE9790D91103D096394A0C270D2D91B /* ActivityIndicatorAnimationBallPulseRise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorAnimationBallPulseRise.swift; path = Sources/ActivityIndicators/Animations/ActivityIndicatorAnimationBallPulseRise.swift; sourceTree = ""; }; - ED3F8F82B8600E2BC79FFBD685F43506 /* Serializer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Serializer.swift; path = Source/Serializer.swift; sourceTree = ""; }; - ED59BE9A6874FAFADB08C3CDCB4CF61E /* ImageProcessor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImageProcessor.swift; path = Sources/ImageProcessor.swift; sourceTree = ""; }; - ED86CA1046F18D33696C5B89A0C2FEA7 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - EDE62B4E0F34D6CA344741D8F340FFF3 /* LOTLayerGroup.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTLayerGroup.m; path = "lottie-ios/Classes/Models/LOTLayerGroup.m"; sourceTree = ""; }; - EE8AEDC7B7EC2009F51E1E57F738FE15 /* RxCocoa-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RxCocoa-umbrella.h"; sourceTree = ""; }; - EEF8341B79E34084170D20C8D4D14247 /* AnimatableTextField.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnimatableTextField.swift; path = Sources/Views/AnimatableTextField.swift; sourceTree = ""; }; - F0C5C16DDAAD7AE8636AEBF8FA5B86E5 /* NetworkReachabilityManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NetworkReachabilityManager.swift; path = Source/NetworkReachabilityManager.swift; sourceTree = ""; }; - F1450C714ACBEFE5932AA2182729062D /* ConcurrentMainScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConcurrentMainScheduler.swift; path = RxSwift/Schedulers/ConcurrentMainScheduler.swift; sourceTree = ""; }; - F1C9D5DEB02CD8A0EF562A3F54FE4C52 /* StatusBarDesignable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StatusBarDesignable.swift; path = Sources/Protocols/Designable/StatusBarDesignable.swift; sourceTree = ""; }; - F1D2A1B53E686AB96751180E37FC4CB1 /* Lottie.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Lottie.framework; path = "lottie-ios.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; - F1FD99C97DD722C593B72387D56F1825 /* ThemeColorPicker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ThemeColorPicker.swift; path = Source/ThemeColorPicker.swift; sourceTree = ""; }; - F1FDDC41676A00EBD99B2FB3058C9C0F /* RxTableViewDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTableViewDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxTableViewDelegateProxy.swift; sourceTree = ""; }; - F224935AFD15420E7AC96AA5737D26DA /* IBAnimatable-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "IBAnimatable-prefix.pch"; sourceTree = ""; }; - F26F5F9127BCD3F6A278DE4AF39DD013 /* GradientType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GradientType.swift; path = Sources/Enums/GradientType.swift; sourceTree = ""; }; - F28848F69D934234205D7F163A67AF87 /* LOTShapeFill.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTShapeFill.h; path = "lottie-ios/Classes/Models/LOTShapeFill.h"; sourceTree = ""; }; - F2E641022C831209694A675089334525 /* BMTimeSlider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BMTimeSlider.swift; path = Source/BMTimeSlider.swift; sourceTree = ""; }; - F3133B38DFE470FB97A355E3CB4FA392 /* ConcurrentDispatchQueueScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConcurrentDispatchQueueScheduler.swift; path = RxSwift/Schedulers/ConcurrentDispatchQueueScheduler.swift; sourceTree = ""; }; - F3463FEF0D331357EA314058B133B519 /* AnimatableTextView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnimatableTextView.swift; path = Sources/Views/AnimatableTextView.swift; sourceTree = ""; }; - F3E974CD94C306E0B2A3D8387B28538C /* Sink.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Sink.swift; path = RxSwift/Observables/Sink.swift; sourceTree = ""; }; - F42D0FEC5A6CE394A8DB40B6770B6E04 /* Filter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Filter.swift; path = Sources/Filter.swift; sourceTree = ""; }; - F4A1339D782D585136EA9D94889F477A /* Animatable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Animatable.swift; path = Sources/Protocols/Animatable/Animatable.swift; sourceTree = ""; }; - F4D90420D4F85FF82E034B705DABF25B /* MaskDesignable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MaskDesignable.swift; path = Sources/Protocols/Designable/MaskDesignable.swift; sourceTree = ""; }; - F5A41076622E73D307D97BDD3F6B0486 /* FDFullscreenPopGesture-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "FDFullscreenPopGesture-dummy.m"; sourceTree = ""; }; - F5AF3695F0EE72094A95E128FD82CBCF /* NSObject+Theme.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSObject+Theme.swift"; path = "Source/NSObject+Theme.swift"; sourceTree = ""; }; - F5EC0DA6098576B367F8D939116B915E /* SchedulerType+SharedSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "SchedulerType+SharedSequence.swift"; path = "RxCocoa/Traits/SharedSequence/SchedulerType+SharedSequence.swift"; sourceTree = ""; }; - F5F9997224AECF909F02F45AD7B56DE9 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - F6363B62D96F8F9967ADB09607281B97 /* Query.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Query.swift; path = Sources/SQLite/Typed/Query.swift; sourceTree = ""; }; - F6DC0FC298D83542DAACC8F0D667DD38 /* LOTAnimationView_Compat.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTAnimationView_Compat.h; path = "lottie-ios/Classes/PublicHeaders/LOTAnimationView_Compat.h"; sourceTree = ""; }; - F6F7147C345C4CA26C4FDC711CE635E7 /* CompositeDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CompositeDisposable.swift; path = RxSwift/Disposables/CompositeDisposable.swift; sourceTree = ""; }; - F72F03571E94520F431BB92C41C66DC6 /* SideImageDesignable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SideImageDesignable.swift; path = Sources/Protocols/Designable/SideImageDesignable.swift; sourceTree = ""; }; - F7A22825C5C5BF84DAF6AB765C04B9EF /* BMPlayerManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BMPlayerManager.swift; path = Source/Default/BMPlayerManager.swift; sourceTree = ""; }; - F7F0548E931A70C4ABE899B07D83A6A4 /* DismissSegue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DismissSegue.swift; path = Sources/Segues/DismissSegue.swift; sourceTree = ""; }; - F817921DE6308E767CD4C75AB16FF8CF /* LOTShapeFill.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTShapeFill.m; path = "lottie-ios/Classes/Models/LOTShapeFill.m"; sourceTree = ""; }; - F827EAE5B53C2BE580AB88161540C6B6 /* Metadata.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Metadata.swift; path = Source/Metadata.swift; sourceTree = ""; }; - F86094751E69A91F85F59402080EB223 /* PriorityQueue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PriorityQueue.swift; path = Platform/DataStructures/PriorityQueue.swift; sourceTree = ""; }; - F898697048D6C7183D3F617BC258C1AE /* ConstraintLayoutSupport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutSupport.swift; path = Source/ConstraintLayoutSupport.swift; sourceTree = ""; }; - F8EA9B6FD142E1F4F9B5FE84DC427011 /* SwiftyJSON.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SwiftyJSON.xcconfig; sourceTree = ""; }; - F9D8896B72FA207034C116EAB8EDFA04 /* HexColorTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HexColorTransform.swift; path = Source/HexColorTransform.swift; sourceTree = ""; }; - F9E75F42E99218116687616FF47FB040 /* LOTPathAnimator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTPathAnimator.m; path = "lottie-ios/Classes/RenderSystem/AnimatorNodes/LOTPathAnimator.m"; sourceTree = ""; }; - F9FEC101D9BF91E23C13BA526DBF5482 /* ActivityIndicatorType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorType.swift; path = Sources/Enums/ActivityIndicatorType.swift; sourceTree = ""; }; - FA1AE8C65D8D4AB7FEEAC3A5F1F61E09 /* BMPlayerItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BMPlayerItem.swift; path = Source/BMPlayerItem.swift; sourceTree = ""; }; - FAA983385C9A642378F27DB150BC3A24 /* HandyJSON.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = HandyJSON.xcconfig; sourceTree = ""; }; - FABF9330BE574E17532AB13030810969 /* Scan.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Scan.swift; path = RxSwift/Observables/Scan.swift; sourceTree = ""; }; - FAD3DDEB40FBC2D97042AC705E09F25C /* UITableView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UITableView+Rx.swift"; path = "RxCocoa/iOS/UITableView+Rx.swift"; sourceTree = ""; }; - FAF5EE40838C21CFE75217CC0444F49A /* lottie-ios-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "lottie-ios-dummy.m"; sourceTree = ""; }; - FAFF2CE14AF6D4795A112A5779E1AABE /* Resource.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Resource.swift; path = Sources/Resource.swift; sourceTree = ""; }; - FB27ED8DA0AC4389EE59CBC0A50EE59A /* ConstraintPriority.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintPriority.swift; path = Source/ConstraintPriority.swift; sourceTree = ""; }; - FB75F725DFF3A6231C8B9E77685998E9 /* AnonymousObserver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnonymousObserver.swift; path = RxSwift/Observers/AnonymousObserver.swift; sourceTree = ""; }; - FBF18FE6972541AB0258433D0065A9E0 /* ExtendCustomBasicType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExtendCustomBasicType.swift; path = Source/ExtendCustomBasicType.swift; sourceTree = ""; }; - FBF9620033BB991DB3D5BAE19234ADD3 /* AnimatableViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnimatableViewController.swift; path = Sources/Controllers/AnimatableViewController.swift; sourceTree = ""; }; - FC50DAFF40940950B879CA17E98DF707 /* NVActivityIndicatorAnimationCubeTransition.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationCubeTransition.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationCubeTransition.swift; sourceTree = ""; }; - FCAB6A14AF92D727602C89E70266783E /* NSDecimalNumberTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NSDecimalNumberTransform.swift; path = Source/NSDecimalNumberTransform.swift; sourceTree = ""; }; - FCB2083C762822A59B7E20DA0A27EA3B /* LOTPointInterpolator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTPointInterpolator.m; path = "lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTPointInterpolator.m"; sourceTree = ""; }; - FD22D4F340EC90356CFAC12730E333A6 /* LOTRadialGradientLayer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTRadialGradientLayer.h; path = "lottie-ios/Classes/Extensions/LOTRadialGradientLayer.h"; sourceTree = ""; }; - FDDF590463E1120098C37A6E511E0B9E /* NVActivityIndicatorAnimationBallZigZag.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallZigZag.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallZigZag.swift; sourceTree = ""; }; - FE322F1DC19806D38DAD8C048063D43A /* TextInput.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TextInput.swift; path = RxCocoa/Common/TextInput.swift; sourceTree = ""; }; - FEA91A3F41CA4BA1BA59E9793EC46AB4 /* LOTShapeRepeater.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTShapeRepeater.m; path = "lottie-ios/Classes/Models/LOTShapeRepeater.m"; sourceTree = ""; }; - FEC2FF264705701AF916824A1FD3B011 /* NVActivityIndicatorAnimationBallClipRotateMultiple.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallClipRotateMultiple.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallClipRotateMultiple.swift; sourceTree = ""; }; - FF013503B36A32FC31A999DF1825E5F2 /* AnimatableNavigationController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnimatableNavigationController.swift; path = Sources/Controllers/AnimatableNavigationController.swift; sourceTree = ""; }; - FF0B9784BC02A9BA1C0108DBD82B9A0B /* PresentOverCurrentContextSegue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PresentOverCurrentContextSegue.swift; path = Sources/Segues/PresentOverCurrentContextSegue.swift; sourceTree = ""; }; - FF23207A2D3D055944ECC60C77CAA36E /* Utils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Utils.swift; path = Sources/Enums/Utils.swift; sourceTree = ""; }; - FF4D37AEAF487F5378834FD4773E2B01 /* PresentTurnWithDismissInteractionSegue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PresentTurnWithDismissInteractionSegue.swift; path = Sources/Segues/PresentTurnWithDismissInteractionSegue.swift; sourceTree = ""; }; - FF9FB1B3F7CCB541FA0267781F83F6E5 /* ThemeActivityIndicatorViewStylePicker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ThemeActivityIndicatorViewStylePicker.swift; path = Source/ThemeActivityIndicatorViewStylePicker.swift; sourceTree = ""; }; + A31C947DD35E792803019B4CC74B1F43 /* ZoomAnimator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZoomAnimator.swift; path = Sources/Animators/PresentationAnimator/ZoomAnimator.swift; sourceTree = ""; }; + A335B37830708938AAE0DD504BC32410 /* Operators.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Operators.swift; path = Sources/SQLite/Typed/Operators.swift; sourceTree = ""; }; + A39E3F8A84E81E962CB0FA50A9A463FA /* ThemeKeyboardAppearancePicker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ThemeKeyboardAppearancePicker.swift; path = Source/ThemeKeyboardAppearancePicker.swift; sourceTree = ""; }; + A42598ADE287EBD5A63385CA70401CA0 /* ConstraintLayoutSupportDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutSupportDSL.swift; path = Source/ConstraintLayoutSupportDSL.swift; sourceTree = ""; }; + A43320555054316E3DDCF225885B7A52 /* Value.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Value.swift; path = Sources/SQLite/Core/Value.swift; sourceTree = ""; }; + A4B55BE96D63B45A713E70BDAD776585 /* SkipWhile.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SkipWhile.swift; path = RxSwift/Observables/SkipWhile.swift; sourceTree = ""; }; + A4F7254AB48D7B9B24E1B28BF4E2846C /* AnonymousDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnonymousDisposable.swift; path = RxSwift/Disposables/AnonymousDisposable.swift; sourceTree = ""; }; + A550DFE215E1D587019921BBA2BBD6A7 /* RxCocoa.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = RxCocoa.xcconfig; sourceTree = ""; }; + A5DB46BC2AF8E6A05F695F5AED3E7D3E /* Bag.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Bag.swift; path = Platform/DataStructures/Bag.swift; sourceTree = ""; }; + A63F9220F72DF8C05C727233C3B6A858 /* MJRefreshComponent.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshComponent.h; path = MJRefresh/Base/MJRefreshComponent.h; sourceTree = ""; }; + A6548033B7DA17CB406512781C500ECB /* SQLite.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SQLite.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + A69F1A10DE7FF1DDCB0BF249051BA64F /* UITextField+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UITextField+Rx.swift"; path = "RxCocoa/iOS/UITextField+Rx.swift"; sourceTree = ""; }; + A6E1709254E6C207F0A9D160F0337BAD /* ThemeBarStylePicker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ThemeBarStylePicker.swift; path = Source/ThemeBarStylePicker.swift; sourceTree = ""; }; + A7346BFE37010DBDA624BD7FBF75384F /* GradientType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GradientType.swift; path = Sources/Enums/GradientType.swift; sourceTree = ""; }; + A7486C86AE999BB415FF42399CE37A8A /* Pod_Asset_BMPlayer.xcassets */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = folder.assetcatalog; name = Pod_Asset_BMPlayer.xcassets; path = Source/Pod_Asset_BMPlayer.xcassets; sourceTree = ""; }; + A757CFB83E86528A10326485AA25BF6C /* LOTTransformInterpolator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTTransformInterpolator.h; path = "lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTTransformInterpolator.h"; sourceTree = ""; }; + A79B8FC3A02C8BDCA159A9DE9ACFBEEB /* LOTShapeGradientFill.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTShapeGradientFill.m; path = "lottie-ios/Classes/Models/LOTShapeGradientFill.m"; sourceTree = ""; }; + A7D00B074B676C8E67D364B74F5A607F /* NVActivityIndicatorAnimationLineScalePulseOut.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationLineScalePulseOut.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationLineScalePulseOut.swift; sourceTree = ""; }; + A8491638D221CA46DADADC2520D74D95 /* ImageView+Kingfisher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ImageView+Kingfisher.swift"; path = "Sources/ImageView+Kingfisher.swift"; sourceTree = ""; }; + A851FBE705F9AB080C3ECF915A92EE62 /* PresentTurnSegue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PresentTurnSegue.swift; path = Sources/Segues/PresentTurnSegue.swift; sourceTree = ""; }; + A8E785AC85D7C1D19B2BDC79AA8D5501 /* Query.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Query.swift; path = Sources/SQLite/Typed/Query.swift; sourceTree = ""; }; + A9291FEF14513B3E7D18F1727DD5FCB1 /* Completable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Completable.swift; path = RxSwift/Traits/Completable.swift; sourceTree = ""; }; + A95468FE10B0A73180E3D6683EE16A83 /* SnapKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SnapKit-umbrella.h"; sourceTree = ""; }; + A9684F1AAB8EE94DA099D1B321FB23FD /* SQLite.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SQLite.h; path = Sources/SQLite/SQLite.h; sourceTree = ""; }; + AA17110B5C1D9B3EB1B6588AD62C6753 /* UIGestureRecognizer+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIGestureRecognizer+Rx.swift"; path = "RxCocoa/iOS/UIGestureRecognizer+Rx.swift"; sourceTree = ""; }; + AA2AE2DF46387FF3AAA7E8F455CADFD3 /* NSObject+Rx+KVORepresentable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSObject+Rx+KVORepresentable.swift"; path = "RxCocoa/Foundation/NSObject+Rx+KVORepresentable.swift"; sourceTree = ""; }; + AA538AD15782213B7C2F33D7246E0B68 /* RxCollectionViewDataSourceType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxCollectionViewDataSourceType.swift; path = RxCocoa/iOS/Protocols/RxCollectionViewDataSourceType.swift; sourceTree = ""; }; + AB5EB9615015D55AA7C5B3429ED91C84 /* LOTAnimationCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTAnimationCache.m; path = "lottie-ios/Classes/Private/LOTAnimationCache.m"; sourceTree = ""; }; + ABC4FE4E30C005F03BFFFD6B346A0C03 /* UIView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIView+Rx.swift"; path = "RxCocoa/iOS/UIView+Rx.swift"; sourceTree = ""; }; + ABC8E6A208DBBC39291CB23593220FEC /* LOTPointInterpolator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTPointInterpolator.h; path = "lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTPointInterpolator.h"; sourceTree = ""; }; + ABEE26B0134526D3FD148EBA26E9C26D /* AnimatableTableView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnimatableTableView.swift; path = Sources/Views/AnimatableTableView.swift; sourceTree = ""; }; + AC33A4ED0199ABAC70C4A5405E83E4CF /* LOTValueInterpolator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTValueInterpolator.m; path = "lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTValueInterpolator.m"; sourceTree = ""; }; + AC60382F64D552E53E78EE7FE1D8ED67 /* ActivityIndicatorAnimationBallPulse.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorAnimationBallPulse.swift; path = Sources/ActivityIndicators/Animations/ActivityIndicatorAnimationBallPulse.swift; sourceTree = ""; }; + ACA550BBFD505276BE63CD6DBDF1277E /* PresentationPresenter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PresentationPresenter.swift; path = Sources/Animators/Common/PresentationPresenter.swift; sourceTree = ""; }; + AD1D682716FEC439DA12B6B93AB0BDF6 /* PriorityQueue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PriorityQueue.swift; path = Platform/DataStructures/PriorityQueue.swift; sourceTree = ""; }; + AD8BB5F15D84FD8E7DC4690D6A285831 /* NSObject+Theme.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSObject+Theme.swift"; path = "Source/NSObject+Theme.swift"; sourceTree = ""; }; + AD930F5FF98C196D177C7ED1549E5D9A /* Driver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Driver.swift; path = RxCocoa/Traits/Driver/Driver.swift; sourceTree = ""; }; + ADA1285BD863D775F13A275298E04339 /* ScheduledItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ScheduledItem.swift; path = RxSwift/Schedulers/Internal/ScheduledItem.swift; sourceTree = ""; }; + ADBBA9DB7ECBDE0FA2BBAE649C623371 /* NVActivityIndicatorAnimationBallSpinFadeLoader.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallSpinFadeLoader.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallSpinFadeLoader.swift; sourceTree = ""; }; + ADD8099291C751292C03028CA44A0204 /* Box.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Box.swift; path = Sources/Box.swift; sourceTree = ""; }; + AE63FA51D6B17DB4361D08E0C97B3E27 /* NVActivityIndicatorAnimationDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationDelegate.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/NVActivityIndicatorAnimationDelegate.swift; sourceTree = ""; }; + AEE2D9D8ED0FBA802BF75B6DD451C277 /* AnimatableButton.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnimatableButton.swift; path = Sources/Views/AnimatableButton.swift; sourceTree = ""; }; + AF6645E2F04BC8CCC086A528F8B6AE3F /* LOTColorInterpolator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTColorInterpolator.m; path = "lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTColorInterpolator.m"; sourceTree = ""; }; + AFB0D06E96DE48F7F382ED76A132C249 /* SGPageContentView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SGPageContentView.m; path = SGPagingView/SGPageContent/SGPageContentView.m; sourceTree = ""; }; + AFD7597FBA321E43D9724E61E9EC4A69 /* Filter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Filter.swift; path = RxSwift/Observables/Filter.swift; sourceTree = ""; }; + B0638F98C185EAADFBECA7D84568C38A /* ThreadHelper.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ThreadHelper.swift; path = Sources/ThreadHelper.swift; sourceTree = ""; }; + B0D25BD170AE8345AD4E8B51C1390807 /* CombineLatest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CombineLatest.swift; path = RxSwift/Observables/CombineLatest.swift; sourceTree = ""; }; + B0F652903C37BAB247663B25388AB427 /* SharedSequence+Operators+arity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "SharedSequence+Operators+arity.swift"; path = "RxCocoa/Traits/SharedSequence/SharedSequence+Operators+arity.swift"; sourceTree = ""; }; + B1210FAC80CD11D4E0A148DF9967286A /* Window.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Window.swift; path = RxSwift/Observables/Window.swift; sourceTree = ""; }; + B140FC6695CF01ED2D9FF1A7D15458F3 /* MJRefresh-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "MJRefresh-umbrella.h"; sourceTree = ""; }; + B1BDBAB9B56F2E8F9C2D56237BB85FDF /* ImageProcessor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImageProcessor.swift; path = Sources/ImageProcessor.swift; sourceTree = ""; }; + B1F99D13856265844D0FE7D429322E64 /* ControlEvent+Signal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ControlEvent+Signal.swift"; path = "RxCocoa/Traits/Signal/ControlEvent+Signal.swift"; sourceTree = ""; }; + B255259B19B7008499A0DEF4DDAA7C04 /* MaskType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MaskType.swift; path = Sources/Enums/MaskType.swift; sourceTree = ""; }; + B27600F0D57A15913A4E8DC2804CCA1B /* RxSwift-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RxSwift-prefix.pch"; sourceTree = ""; }; + B3B15D606FD2026BBCBC38C6EA3EF810 /* ImageModifier.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImageModifier.swift; path = Sources/ImageModifier.swift; sourceTree = ""; }; + B3EFA2A70F6B791F41EFDF228E8EFA11 /* AnyObserver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnyObserver.swift; path = RxSwift/AnyObserver.swift; sourceTree = ""; }; + B4179336D1D968D6E28FC64080FEDFE9 /* RxCollectionViewDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxCollectionViewDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxCollectionViewDelegateProxy.swift; sourceTree = ""; }; + B4E47D79C606D1F3C6E015DF8E1D947C /* PresentFadeWithDismissInteractionSegue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PresentFadeWithDismissInteractionSegue.swift; path = Sources/Segues/PresentFadeWithDismissInteractionSegue.swift; sourceTree = ""; }; + B4F65965BB5A50FEA5CE198B88B6B552 /* Timeout.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Timeout.swift; path = RxSwift/Observables/Timeout.swift; sourceTree = ""; }; + B514A13E642052BDAB405C7FADEE7DF4 /* Errors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Errors.swift; path = RxSwift/Errors.swift; sourceTree = ""; }; + B535FF67F3DE5894D6590DC38ACE08AD /* LOTInterpolatorCallback.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTInterpolatorCallback.h; path = "lottie-ios/Classes/PublicHeaders/LOTInterpolatorCallback.h"; sourceTree = ""; }; + B53A6777013D9670B38008FB7C2C2D1C /* Zip.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Zip.swift; path = RxSwift/Observables/Zip.swift; sourceTree = ""; }; + B54AD13D8803AD8D00070C71B1599A0D /* LOTAnimatedControl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTAnimatedControl.h; path = "lottie-ios/Classes/PublicHeaders/LOTAnimatedControl.h"; sourceTree = ""; }; + B6085B98FBB672FA51F7F0B80F594714 /* MJRefreshConst.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshConst.h; path = MJRefresh/MJRefreshConst.h; sourceTree = ""; }; + B684B30B0A9D54D625BE99F0E032E3FB /* ExtendCustomBasicType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExtendCustomBasicType.swift; path = Source/ExtendCustomBasicType.swift; sourceTree = ""; }; + B6C5A1F02DA98D4EC40E7C18CCB0F1CD /* SchedulerServices+Emulation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "SchedulerServices+Emulation.swift"; path = "RxSwift/Schedulers/SchedulerServices+Emulation.swift"; sourceTree = ""; }; + B6D4FA927926E4BBF2C3399EE484F3D3 /* UIImageView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIImageView+Rx.swift"; path = "RxCocoa/iOS/UIImageView+Rx.swift"; sourceTree = ""; }; + B6F5CF61787B734093F2C110D88A6446 /* Sink.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Sink.swift; path = RxSwift/Observables/Sink.swift; sourceTree = ""; }; + B6FB95960B7FA4BE7A969A4BC668FF6F /* SwiftSupport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SwiftSupport.swift; path = RxSwift/SwiftSupport/SwiftSupport.swift; sourceTree = ""; }; + B71026703FE11B5487BF59265D98DA0E /* lottie-ios-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "lottie-ios-prefix.pch"; sourceTree = ""; }; + B73956A0042D31E6C4F37104CDDD3A52 /* LOTRenderNode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTRenderNode.h; path = "lottie-ios/Classes/RenderSystem/LOTRenderNode.h"; sourceTree = ""; }; + B74DD659B661E171DBE817A4CE023E66 /* ToArray.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ToArray.swift; path = RxSwift/Observables/ToArray.swift; sourceTree = ""; }; + B7934C0E81F43F17B6FA03585129D6C2 /* LOTRoundedRectAnimator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTRoundedRectAnimator.h; path = "lottie-ios/Classes/RenderSystem/AnimatorNodes/LOTRoundedRectAnimator.h"; sourceTree = ""; }; + B7A86AABD45B222B9CE0E5EA3D76F8E2 /* RxPickerViewDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxPickerViewDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxPickerViewDelegateProxy.swift; sourceTree = ""; }; + B7AAB2720C1E80E869F58A8C2A6B4EF5 /* LOTAnimatorNode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTAnimatorNode.h; path = "lottie-ios/Classes/RenderSystem/LOTAnimatorNode.h"; sourceTree = ""; }; + B7E809019A77CBA3EDCABD62EA6CD9F0 /* SwiftTheme-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SwiftTheme-prefix.pch"; sourceTree = ""; }; + B7EAD1B750089D06C1F60E218C238C7F /* ConstraintLayoutSupport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutSupport.swift; path = Source/ConstraintLayoutSupport.swift; sourceTree = ""; }; + B7F70E8EEBE22A9855A4B48EEAE25C38 /* MJRefresh.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = MJRefresh.xcconfig; sourceTree = ""; }; + B804E6931E81A1E03DE7F65B926892A6 /* LOTPolystarAnimator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTPolystarAnimator.m; path = "lottie-ios/Classes/RenderSystem/AnimatorNodes/LOTPolystarAnimator.m"; sourceTree = ""; }; + B810B1C430BA2E6F5FCD1C68AD10E812 /* ConstraintLayoutGuide+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ConstraintLayoutGuide+Extensions.swift"; path = "Source/ConstraintLayoutGuide+Extensions.swift"; sourceTree = ""; }; + B811915CCA19C09C9CBDA8F7DB584406 /* BMPlayer-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "BMPlayer-dummy.m"; sourceTree = ""; }; + B8BF1382568A0736D5B4CFEC5796B31D /* ShadowDesignable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ShadowDesignable.swift; path = Sources/Protocols/Designable/ShadowDesignable.swift; sourceTree = ""; }; + B92DEF68E0A287F427E9ED1EDCA1D054 /* MJRefreshAutoGifFooter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshAutoGifFooter.h; path = MJRefresh/Custom/Footer/Auto/MJRefreshAutoGifFooter.h; sourceTree = ""; }; + B9869DBCD1EE81144646357A8BCB763D /* SGPageContentScrollView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SGPageContentScrollView.m; path = SGPagingView/SGPageContent/SGPageContentScrollView.m; sourceTree = ""; }; + B9A0013892CECED728CF0E4D22656EDA /* PinchInteractiveAnimator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PinchInteractiveAnimator.swift; path = Sources/Animators/InteractiveAnimator/PinchInteractiveAnimator.swift; sourceTree = ""; }; + B9A4076DC71023E6D2B3B086668F5211 /* SGPagingView-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SGPagingView-prefix.pch"; sourceTree = ""; }; + B9FB32392004653CDC6535856CEC20CE /* BMSubtitles.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BMSubtitles.swift; path = Source/BMSubtitles.swift; sourceTree = ""; }; + BA157A544F7AE9E1A17266A231722213 /* LOTInterpolatorCallback.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTInterpolatorCallback.m; path = "lottie-ios/Classes/Private/LOTInterpolatorCallback.m"; sourceTree = ""; }; + BA5FAE1000E1D609B97099172E10755C /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + BA9958EE49FE10817A5797CE10F71B89 /* Deprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Deprecated.swift; path = RxSwift/Deprecated.swift; sourceTree = ""; }; + BB5E7D2E64919C5C20CD375198A8AAAA /* LOTComposition.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTComposition.h; path = "lottie-ios/Classes/PublicHeaders/LOTComposition.h"; sourceTree = ""; }; + BC2558E8F7C6F89D934A8D8C89C81758 /* UIColor+Expanded.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIColor+Expanded.m"; path = "lottie-ios/Classes/Extensions/UIColor+Expanded.m"; sourceTree = ""; }; + BC441ACB4FAFE1BF35F614C219CC573E /* HistoricalSchedulerTimeConverter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HistoricalSchedulerTimeConverter.swift; path = RxSwift/Schedulers/HistoricalSchedulerTimeConverter.swift; sourceTree = ""; }; + BC571C4E884EBD15CB35DF3A1A3A976D /* Just.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Just.swift; path = RxSwift/Observables/Just.swift; sourceTree = ""; }; + BC756AA74990BD8038ADE96C4914EF2D /* ConstraintMakerExtendable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerExtendable.swift; path = Source/ConstraintMakerExtendable.swift; sourceTree = ""; }; + BCACCAF737C2865D9AA6460BBE8A1010 /* TextInput.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TextInput.swift; path = RxCocoa/Common/TextInput.swift; sourceTree = ""; }; + BD3DDF40E33F05CE88E3A977BA5ACF7F /* IBAnimatable.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = IBAnimatable.xcconfig; sourceTree = ""; }; + BD468CA8BE15F90B688C6BFC41D05C20 /* Pods-News-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-News-dummy.m"; sourceTree = ""; }; + BD7313ED83DBC8FF0000AC61300E38FD /* RxCocoaRuntime.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RxCocoaRuntime.h; path = RxCocoa/Runtime/include/RxCocoaRuntime.h; sourceTree = ""; }; + BD92754BA1D0A3043CD36224E7B56DBA /* RxCocoaObjCRuntimeError+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "RxCocoaObjCRuntimeError+Extensions.swift"; path = "RxCocoa/Common/RxCocoaObjCRuntimeError+Extensions.swift"; sourceTree = ""; }; + BDA3906C794E408D169B933623886C0A /* UIColor+Expanded.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIColor+Expanded.h"; path = "lottie-ios/Classes/Extensions/UIColor+Expanded.h"; sourceTree = ""; }; + BE124083000EDF9E04E29FED99791F72 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + BE27955380EB9F1A04E6412A6DAEF144 /* Completable+AndThen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Completable+AndThen.swift"; path = "RxSwift/Traits/Completable+AndThen.swift"; sourceTree = ""; }; + BE96AF21A51CF3D87BF07C96EA9CA45E /* BooleanDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BooleanDisposable.swift; path = RxSwift/Disposables/BooleanDisposable.swift; sourceTree = ""; }; + BE97B2CA124018A6829DB0364924FCF1 /* LOTValueDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTValueDelegate.h; path = "lottie-ios/Classes/PublicHeaders/LOTValueDelegate.h"; sourceTree = ""; }; + BEA555E87DFB3F807F5CE800D32CA485 /* AnimatableScrollView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnimatableScrollView.swift; path = Sources/Views/AnimatableScrollView.swift; sourceTree = ""; }; + BEEC4EC469F7882C73016883F3DD7F4F /* FTS4.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FTS4.swift; path = Sources/SQLite/Extensions/FTS4.swift; sourceTree = ""; }; + BF30A8F23443A12C05AB33841751B4BF /* TakeLast.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TakeLast.swift; path = RxSwift/Observables/TakeLast.swift; sourceTree = ""; }; + C0180C1B25451B7FC38E267AB16A3252 /* MJRefreshAutoStateFooter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshAutoStateFooter.h; path = MJRefresh/Custom/Footer/Auto/MJRefreshAutoStateFooter.h; sourceTree = ""; }; + C1383C2A1C4DDB15B4D8904185FAB90C /* SwiftTheme.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SwiftTheme.xcconfig; sourceTree = ""; }; + C19E561FD5A94B95CCF5BBD29E5EA5DA /* NVActivityIndicatorAnimationBallPulseSync.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallPulseSync.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallPulseSync.swift; sourceTree = ""; }; + C1D117DE5265E1F1E0C5F52A29AD42AD /* InteractiveAnimatorFactory.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = InteractiveAnimatorFactory.swift; path = Sources/Animators/Common/InteractiveAnimatorFactory.swift; sourceTree = ""; }; + C1DE8727C75DF9C091BA169E1EE409BA /* NVActivityIndicatorAnimationBlank.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBlank.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBlank.swift; sourceTree = ""; }; + C2027EBFFCD88D9A6C0F189E0C9B1704 /* NopDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NopDisposable.swift; path = RxSwift/Disposables/NopDisposable.swift; sourceTree = ""; }; + C20702C69FC5F3B4495C9C940C6C676D /* Do.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Do.swift; path = RxSwift/Observables/Do.swift; sourceTree = ""; }; + C20BE273BDDBA6206C62B8CF6E5BEE36 /* LOTAssetGroup.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTAssetGroup.h; path = "lottie-ios/Classes/Models/LOTAssetGroup.h"; sourceTree = ""; }; + C26BB9DBA4BD80CDCF5332DFD5443590 /* LOTValueCallback.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTValueCallback.m; path = "lottie-ios/Classes/Private/LOTValueCallback.m"; sourceTree = ""; }; + C28AD25BE02801A59054C2362C678CD2 /* CurrentThreadScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CurrentThreadScheduler.swift; path = RxSwift/Schedulers/CurrentThreadScheduler.swift; sourceTree = ""; }; + C3082E7CD0DBB7CBA27011E265AB645D /* NSDecimalNumberTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NSDecimalNumberTransform.swift; path = Source/NSDecimalNumberTransform.swift; sourceTree = ""; }; + C322944839B519EF9B753C08237AE066 /* NVActivityIndicatorAnimationSemiCircleSpin.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationSemiCircleSpin.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationSemiCircleSpin.swift; sourceTree = ""; }; + C337AC08167594DB4AE2F93638A20230 /* AnimatableNavigationController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnimatableNavigationController.swift; path = Sources/Controllers/AnimatableNavigationController.swift; sourceTree = ""; }; + C34EFD8E43DBB7865C840EEB0AF06DD3 /* BehaviorSubject.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BehaviorSubject.swift; path = RxSwift/Subjects/BehaviorSubject.swift; sourceTree = ""; }; + C37B9D00BC552455CC84403779DAD169 /* UIView+MJExtension.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIView+MJExtension.m"; path = "MJRefresh/UIView+MJExtension.m"; sourceTree = ""; }; + C3CC6A40960E035A876DE307334D43AB /* LOTValueInterpolator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTValueInterpolator.h; path = "lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTValueInterpolator.h"; sourceTree = ""; }; + C3DA16F081046738F248885655985925 /* Alamofire.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Alamofire.xcconfig; sourceTree = ""; }; + C3EEB0E0797A0A9FC1198898E7CDCD72 /* HandyJSON-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "HandyJSON-dummy.m"; sourceTree = ""; }; + C4C571C182394008BFA40E6C92F6CC69 /* MJRefreshFooter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshFooter.h; path = MJRefresh/Base/MJRefreshFooter.h; sourceTree = ""; }; + C51CFAFFEF7C2C06682927CEDB7EFCA8 /* LOTRepeaterRenderer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTRepeaterRenderer.m; path = "lottie-ios/Classes/RenderSystem/RenderNodes/LOTRepeaterRenderer.m"; sourceTree = ""; }; + C5367EBAA085E256AAFF13F949480AAE /* LOTAnimationTransitionController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTAnimationTransitionController.m; path = "lottie-ios/Classes/Private/LOTAnimationTransitionController.m"; sourceTree = ""; }; + C587BD9729D445C81E6286C78980290A /* PresentFadeSegue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PresentFadeSegue.swift; path = Sources/Segues/PresentFadeSegue.swift; sourceTree = ""; }; + C588B32D2F99FDE723482533438EC6F3 /* ConstraintInsets.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintInsets.swift; path = Source/ConstraintInsets.swift; sourceTree = ""; }; + C59483F02C223CB69CC1B68146D661E0 /* MJRefresh.bundle */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "wrapper.plug-in"; name = MJRefresh.bundle; path = MJRefresh/MJRefresh.bundle; sourceTree = ""; }; + C59A2BD514134A1D93F286F2EDF692E3 /* BlurEffectStyle.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlurEffectStyle.swift; path = Sources/Enums/BlurEffectStyle.swift; sourceTree = ""; }; + C5AFC9BE9793A15E7A9EB9AEB0C193B4 /* Materialize.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Materialize.swift; path = RxSwift/Observables/Materialize.swift; sourceTree = ""; }; + C6245E2826F891C6354598E64A54948B /* PresentFlipWithDismissInteractionSegue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PresentFlipWithDismissInteractionSegue.swift; path = Sources/Segues/PresentFlipWithDismissInteractionSegue.swift; sourceTree = ""; }; + C68E1169CE66EFE6CF7024A3E96DDAF9 /* UIPickerView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIPickerView+Rx.swift"; path = "RxCocoa/iOS/UIPickerView+Rx.swift"; sourceTree = ""; }; + C71F57EBE1CD27C7BCDCE28F20F23A14 /* BuiltInBridgeType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BuiltInBridgeType.swift; path = Source/BuiltInBridgeType.swift; sourceTree = ""; }; + C7BCB1BCB86175B5C80291408455A20D /* DropDownAnimator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DropDownAnimator.swift; path = Sources/Animators/PresentationAnimator/DropDownAnimator.swift; sourceTree = ""; }; + C8501A5F6D699E9332279482BDF65DB2 /* SGPageTitleViewConfigure.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SGPageTitleViewConfigure.m; path = SGPagingView/SGPageTitle/SGPageTitleViewConfigure.m; sourceTree = ""; }; + C9251C9B8F7530D153AAD8E9DF5CC420 /* Kingfisher-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Kingfisher-umbrella.h"; sourceTree = ""; }; + C9B545B7A152AD343D93F7CF0C41AC7C /* ConstraintView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintView.swift; path = Source/ConstraintView.swift; sourceTree = ""; }; + C9D43139503502EB878958814877B668 /* NVActivityIndicatorView-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NVActivityIndicatorView-dummy.m"; sourceTree = ""; }; + CA526424757A73A701410EF5F9BA6BA9 /* OperationQueueScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = OperationQueueScheduler.swift; path = RxSwift/Schedulers/OperationQueueScheduler.swift; sourceTree = ""; }; + CA5509805A53D9B9D6B5ECC927ABCBA2 /* MJRefreshBackStateFooter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshBackStateFooter.m; path = MJRefresh/Custom/Footer/Back/MJRefreshBackStateFooter.m; sourceTree = ""; }; + CA572113D06B64454BE1A0F50BFBBAB5 /* DismissSegue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DismissSegue.swift; path = Sources/Segues/DismissSegue.swift; sourceTree = ""; }; + CA8F7B7C2097E067BBB391A746E0BAF0 /* UITabBarController+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UITabBarController+Rx.swift"; path = "RxCocoa/iOS/UITabBarController+Rx.swift"; sourceTree = ""; }; + CAB5D9DD8FE2A374541B9B51CA462709 /* Kingfisher-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Kingfisher-prefix.pch"; sourceTree = ""; }; + CAE25BD299E8315FE7661454EA61092F /* Placeholder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Placeholder.swift; path = Sources/Placeholder.swift; sourceTree = ""; }; + CAE2C317634A2E00BF12CF926C4D3513 /* Enumerated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Enumerated.swift; path = RxSwift/Observables/Enumerated.swift; sourceTree = ""; }; + CB2FC1A39C764FB9EF317B86B234EF1B /* Alamofire.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Alamofire.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + CB9CA43A5386A5DCB42FB719B453ACB0 /* RxTextViewDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTextViewDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxTextViewDelegateProxy.swift; sourceTree = ""; }; + CBA8CC9A04E4007C24F63D9287928E84 /* Platform.Darwin.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Platform.Darwin.swift; path = Platform/Platform.Darwin.swift; sourceTree = ""; }; + CBC39D64DEF677071DC9B55294A35E07 /* ConstraintDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintDSL.swift; path = Source/ConstraintDSL.swift; sourceTree = ""; }; + CC9FA0674D3055F0C4F18066A315A3A3 /* UIViewController+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIViewController+Rx.swift"; path = "RxCocoa/iOS/UIViewController+Rx.swift"; sourceTree = ""; }; + CCB079B5E568E137CA0A067C26BA991C /* PresentPortalSegue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PresentPortalSegue.swift; path = Sources/Segues/PresentPortalSegue.swift; sourceTree = ""; }; + CD4CD83C0072AD2568E6AD4EB018EB27 /* CGGeometry+LOTAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "CGGeometry+LOTAdditions.h"; path = "lottie-ios/Classes/Extensions/CGGeometry+LOTAdditions.h"; sourceTree = ""; }; + CDBFAE6F259E1448099E16AA46388CFB /* Pods-News-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-News-umbrella.h"; sourceTree = ""; }; + CE50B6C4290B2D5897AF9636CC0F7DDA /* UIActivityIndicatorView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIActivityIndicatorView+Rx.swift"; path = "RxCocoa/iOS/UIActivityIndicatorView+Rx.swift"; sourceTree = ""; }; + CEAF5852931190B60FBE6D5DDCCA9AB2 /* LOTLayerGroup.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTLayerGroup.m; path = "lottie-ios/Classes/Models/LOTLayerGroup.m"; sourceTree = ""; }; + CEC25675A14F591C68DA8D99681C5763 /* ControlTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ControlTarget.swift; path = RxCocoa/Common/ControlTarget.swift; sourceTree = ""; }; + CEDB7E375F5BB81C7E89E93099C82A0B /* SGPagingView-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SGPagingView-dummy.m"; sourceTree = ""; }; + CF0FDC14F823023EEEC8DC01949BD3DA /* GradientStartPoint.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GradientStartPoint.swift; path = Sources/Enums/GradientStartPoint.swift; sourceTree = ""; }; + CFBB2C7DEE1826F5F3378E3AE5ACF8C6 /* LOTNumberInterpolator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTNumberInterpolator.m; path = "lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTNumberInterpolator.m"; sourceTree = ""; }; + CFC0E9FD2C991B499C826F22493F1707 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + CFD740BE69880E1509F465B7AFD0D98E /* _RXKVOObserver.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _RXKVOObserver.h; path = RxCocoa/Runtime/include/_RXKVOObserver.h; sourceTree = ""; }; + D01C986FDF014864D7FB3C95725E59FE /* AnimatableViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnimatableViewController.swift; path = Sources/Controllers/AnimatableViewController.swift; sourceTree = ""; }; + D03ECC4E17076018BA84CF807A129013 /* NetworkReachabilityManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NetworkReachabilityManager.swift; path = Source/NetworkReachabilityManager.swift; sourceTree = ""; }; + D07299D7B02F1283B84EAEA07498DBD3 /* ActivityIndicatorAnimationLineScalePulseOutRapid.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorAnimationLineScalePulseOutRapid.swift; path = Sources/ActivityIndicators/Animations/ActivityIndicatorAnimationLineScalePulseOutRapid.swift; sourceTree = ""; }; + D08D11E7C1FE9922378882CC0903962A /* ControlProperty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ControlProperty.swift; path = RxCocoa/Traits/ControlProperty.swift; sourceTree = ""; }; + D0C72BACC58D732DB034490E255E72B5 /* OtherExtension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = OtherExtension.swift; path = Source/OtherExtension.swift; sourceTree = ""; }; + D1934137CC2CA1E3D1DC38D818F8458A /* FDFullscreenPopGesture.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = FDFullscreenPopGesture.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D2005CC26506D34304FF8EDD14779110 /* Queue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Queue.swift; path = Platform/DataStructures/Queue.swift; sourceTree = ""; }; + D20E5F1F49E0D3B1E6025F09EF4ADF4D /* URLSession+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "URLSession+Rx.swift"; path = "RxCocoa/Foundation/URLSession+Rx.swift"; sourceTree = ""; }; + D255E10F4F541D79745F0B058D7A5812 /* NVActivityIndicatorAnimationOrbit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationOrbit.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationOrbit.swift; sourceTree = ""; }; + D262C25CD9555BF18521C8E05DCDC273 /* KVORepresentable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = KVORepresentable.swift; path = RxCocoa/Foundation/KVORepresentable.swift; sourceTree = ""; }; + D26EBC31021B088C9AAF31E5734A413B /* RxCocoa.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = RxCocoa.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D2711EF03BAE14B079FD2EE6FF68C790 /* LOTMaskContainer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTMaskContainer.m; path = "lottie-ios/Classes/AnimatableLayers/LOTMaskContainer.m"; sourceTree = ""; }; + D28AC7EB11326868991A674C4E11E2C9 /* PrimitiveSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PrimitiveSequence.swift; path = RxSwift/Traits/PrimitiveSequence.swift; sourceTree = ""; }; + D299F6C69F91D708A0C3B45B23F4FD9D /* BMPlayerLayerView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BMPlayerLayerView.swift; path = Source/BMPlayerLayerView.swift; sourceTree = ""; }; + D2AC5CAB2D863497E8BA212CDB3541B5 /* ActivityIndicatorAnimationBallPulseRise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorAnimationBallPulseRise.swift; path = Sources/ActivityIndicators/Animations/ActivityIndicatorAnimationBallPulseRise.swift; sourceTree = ""; }; + D2DDA50E1D6894E8DEDEA47EB471C79A /* RefCountDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RefCountDisposable.swift; path = RxSwift/Disposables/RefCountDisposable.swift; sourceTree = ""; }; + D31F70AD8ABA26FD491305AF773AB9A6 /* Debugging.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Debugging.swift; path = Source/Debugging.swift; sourceTree = ""; }; + D3A61B22A5F5F8A2DE1E308474922496 /* LOTShapeRectangle.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTShapeRectangle.h; path = "lottie-ios/Classes/Models/LOTShapeRectangle.h"; sourceTree = ""; }; + D3B819CDBFD477675968C5D3A567B5F3 /* Transformable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Transformable.swift; path = Source/Transformable.swift; sourceTree = ""; }; + D3BD35AFC8FDC0617CC5D7E80767AF96 /* ConstraintLayoutGuideDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutGuideDSL.swift; path = Source/ConstraintLayoutGuideDSL.swift; sourceTree = ""; }; + D40E60FACB359347ECD9C41FE10F69AB /* Utils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Utils.swift; path = Sources/Enums/Utils.swift; sourceTree = ""; }; + D41747E9CEBE6E96143D7BCBF29B308C /* LOTRepeaterRenderer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTRepeaterRenderer.h; path = "lottie-ios/Classes/RenderSystem/RenderNodes/LOTRepeaterRenderer.h"; sourceTree = ""; }; + D46CA2EE93DCC56202B291240EE10B0E /* Typealiases.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Typealiases.swift; path = Source/Typealiases.swift; sourceTree = ""; }; + D47DB34B894F1A462126AD1896534108 /* AnimatorFactory.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnimatorFactory.swift; path = Sources/Animators/Common/AnimatorFactory.swift; sourceTree = ""; }; + D4CFDC741BEC9E7B5A9D17AFD0455498 /* StartWith.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StartWith.swift; path = RxSwift/Observables/StartWith.swift; sourceTree = ""; }; + D50C291D45BC7E68898D97B93E61A225 /* UIScrollView+MJExtension.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIScrollView+MJExtension.h"; path = "MJRefresh/UIScrollView+MJExtension.h"; sourceTree = ""; }; + D51195C352B65F5AD9DBEE6EA8E7DE38 /* Create.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Create.swift; path = RxSwift/Observables/Create.swift; sourceTree = ""; }; + D57541BEE868A68A15A87E2EE9C8E3EE /* ActivityIndicatorAnimationOrbit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorAnimationOrbit.swift; path = Sources/ActivityIndicators/Animations/ActivityIndicatorAnimationOrbit.swift; sourceTree = ""; }; + D58FBC05E2A58E7D049CC776D61FF76E /* ActivityIndicatorAnimationBallScaleMultiple.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorAnimationBallScaleMultiple.swift; path = Sources/ActivityIndicators/Animations/ActivityIndicatorAnimationBallScaleMultiple.swift; sourceTree = ""; }; + D5F4D28CB6F97F3B30023EFDB5BBD2EB /* ActivityIndicatorAnimationBallClipRotate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorAnimationBallClipRotate.swift; path = Sources/ActivityIndicators/Animations/ActivityIndicatorAnimationBallClipRotate.swift; sourceTree = ""; }; + D60E49057918E38112715C0D39836BE2 /* LOTCacheProvider.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTCacheProvider.m; path = "lottie-ios/Classes/Private/LOTCacheProvider.m"; sourceTree = ""; }; + D6543789722A7C3A2EA023CF3006F4D6 /* MJRefreshComponent.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshComponent.m; path = MJRefresh/Base/MJRefreshComponent.m; sourceTree = ""; }; + D6620594EC614BE4E170472CDB8764C1 /* Zip+arity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Zip+arity.swift"; path = "RxSwift/Observables/Zip+arity.swift"; sourceTree = ""; }; + D69C4F1A50378DD6B9FA5D1C531464E0 /* PresentSlideSegue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PresentSlideSegue.swift; path = Sources/Segues/PresentSlideSegue.swift; sourceTree = ""; }; + D6D16246E8A7E3D9FF02C27DA28908EB /* Amb.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Amb.swift; path = RxSwift/Observables/Amb.swift; sourceTree = ""; }; + D74EB5E76236AC5A76B7E5219B238847 /* ImageDownloader.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImageDownloader.swift; path = Sources/ImageDownloader.swift; sourceTree = ""; }; + D75C5A2211D6B3E7702112A325F1F24F /* TransitionPresenter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TransitionPresenter.swift; path = Sources/Animators/Common/TransitionPresenter.swift; sourceTree = ""; }; + D78E5B09B29F0A1A0D6CE2AF74C3F9F8 /* NVActivityIndicatorAnimationLineSpinFadeLoader.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationLineSpinFadeLoader.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationLineSpinFadeLoader.swift; sourceTree = ""; }; + D7AA86E30D8CABD18497E4D78505B4D6 /* MJRefreshBackStateFooter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshBackStateFooter.h; path = MJRefresh/Custom/Footer/Back/MJRefreshBackStateFooter.h; sourceTree = ""; }; + D7F5EAFF9532CB02D31A2F0A786B6C8B /* LOTTrimPathNode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTTrimPathNode.m; path = "lottie-ios/Classes/RenderSystem/ManipulatorNodes/LOTTrimPathNode.m"; sourceTree = ""; }; + D868BEB0022E6C40008D053B2B38C2FF /* ActivityIndicatorAnimationLineScalePulseOut.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorAnimationLineScalePulseOut.swift; path = Sources/ActivityIndicators/Animations/ActivityIndicatorAnimationLineScalePulseOut.swift; sourceTree = ""; }; + D8FC8EDC3476FD96EA790694C31E1E3A /* UISwitch+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UISwitch+Rx.swift"; path = "RxCocoa/iOS/UISwitch+Rx.swift"; sourceTree = ""; }; + D93693DA7A73075F51F45B1F759B2663 /* MJRefresh.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefresh.h; path = MJRefresh/MJRefresh.h; sourceTree = ""; }; + DA1E975D313D73E3D49F4D489EEF4AF9 /* RxSwift.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = RxSwift.modulemap; sourceTree = ""; }; + DA96BC7C8445BF9C096712E02645C813 /* LOTAnimationView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTAnimationView.m; path = "lottie-ios/Classes/Private/LOTAnimationView.m"; sourceTree = ""; }; + DAA4D00361F83598FCF94AA1125DF7AB /* Dematerialize.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Dematerialize.swift; path = RxSwift/Observables/Dematerialize.swift; sourceTree = ""; }; + DACEBF23DDE3154DDDC8CF6B36C81519 /* ConstraintConstantTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintConstantTarget.swift; path = Source/ConstraintConstantTarget.swift; sourceTree = ""; }; + DB6089120197089E59CEBF3720C5423E /* LOTRenderGroup.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTRenderGroup.m; path = "lottie-ios/Classes/RenderSystem/RenderNodes/LOTRenderGroup.m"; sourceTree = ""; }; + DB79197EFE997C2C5B2306A547D31369 /* Using.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Using.swift; path = RxSwift/Observables/Using.swift; sourceTree = ""; }; + DB927BD1B59C77AF6E514C4E51F33E36 /* SVIndefiniteAnimatedView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SVIndefiniteAnimatedView.h; path = SVProgressHUD/SVIndefiniteAnimatedView.h; sourceTree = ""; }; + DBEFA276629C02C3A51646DAD2D15CD1 /* Maybe.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Maybe.swift; path = RxSwift/Traits/Maybe.swift; sourceTree = ""; }; + DD3A9AE010B6602B375541B088F29FB0 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + DD483794FAB472C166493B1113A54B6B /* RTree.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RTree.swift; path = Sources/SQLite/Extensions/RTree.swift; sourceTree = ""; }; + DD5267A82FD4BE61785F026B5ADC929C /* InfiniteSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = InfiniteSequence.swift; path = Platform/DataStructures/InfiniteSequence.swift; sourceTree = ""; }; + DD6C952F30AA030D278AAF15B0BDEC13 /* RxSwift-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RxSwift-umbrella.h"; sourceTree = ""; }; + DDC887DB9EFA9F8E0AF663F7C9ECC989 /* SkipUntil.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SkipUntil.swift; path = RxSwift/Observables/SkipUntil.swift; sourceTree = ""; }; + DDE45B56F931BBEFB016DAFBF8558DC2 /* RxCollectionViewReactiveArrayDataSource.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxCollectionViewReactiveArrayDataSource.swift; path = RxCocoa/iOS/DataSources/RxCollectionViewReactiveArrayDataSource.swift; sourceTree = ""; }; + DE435F1E8CAD3196E00800F4653C4601 /* NSTextStorage+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSTextStorage+Rx.swift"; path = "RxCocoa/iOS/NSTextStorage+Rx.swift"; sourceTree = ""; }; + DE83E0E889B42CC78E90CD7AB388A4B8 /* PresentSlideWithDismissInteractionSegue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PresentSlideWithDismissInteractionSegue.swift; path = Sources/Segues/PresentSlideWithDismissInteractionSegue.swift; sourceTree = ""; }; + DEA377172CD15DBC10F25B8B2D8B9E29 /* AnimatableImageView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnimatableImageView.swift; path = Sources/Views/AnimatableImageView.swift; sourceTree = ""; }; + E034BBDFE7DE02CEA5B58C3FC2EDBF99 /* RecursiveLock.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RecursiveLock.swift; path = Platform/RecursiveLock.swift; sourceTree = ""; }; + E0FF75F31E658F8DA566D36EC805BFB2 /* NVActivityIndicatorAnimationLineScaleParty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationLineScaleParty.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationLineScaleParty.swift; sourceTree = ""; }; + E1179D6431554D10179E1D97CF0276E1 /* BorderType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BorderType.swift; path = Sources/Enums/BorderType.swift; sourceTree = ""; }; + E130BD30325D3F77E33E64F720DB6A94 /* LOTLayerContainer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTLayerContainer.m; path = "lottie-ios/Classes/AnimatableLayers/LOTLayerContainer.m"; sourceTree = ""; }; + E1647C1EF5CA7FA99A05527E22204928 /* LOTShapeCircle.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTShapeCircle.h; path = "lottie-ios/Classes/Models/LOTShapeCircle.h"; sourceTree = ""; }; + E17C970A7028942455405F43FB6DB2BE /* ControlProperty+Driver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ControlProperty+Driver.swift"; path = "RxCocoa/Traits/Driver/ControlProperty+Driver.swift"; sourceTree = ""; }; + E18DBDDA257BEA25E7A1E8BD9161465A /* FillDesignable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FillDesignable.swift; path = Sources/Protocols/Designable/FillDesignable.swift; sourceTree = ""; }; + E18DFCCEDB29C948C2C5BED93C61DB8B /* MJRefreshAutoFooter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshAutoFooter.m; path = MJRefresh/Base/MJRefreshAutoFooter.m; sourceTree = ""; }; + E22142EA8500938ACA5B95A186D926B9 /* LOTGradientFillRender.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTGradientFillRender.m; path = "lottie-ios/Classes/RenderSystem/RenderNodes/LOTGradientFillRender.m"; sourceTree = ""; }; + E23818E44BDBD1D7B3A42503AB64518B /* TransitionAnimationType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TransitionAnimationType.swift; path = Sources/Enums/TransitionAnimationType.swift; sourceTree = ""; }; + E24F1002471BDEE02229C94F4144D22E /* Kingfisher.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Kingfisher.xcconfig; sourceTree = ""; }; + E2A94A21AB349568E85A1B395909A742 /* Observable+Bind.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+Bind.swift"; path = "RxCocoa/Common/Observable+Bind.swift"; sourceTree = ""; }; + E3559DB2235F1314E09D3D12238A2DD1 /* SwiftyJSON.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SwiftyJSON.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + E3610DCAAB613D21ADB669CF53664A05 /* Collation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Collation.swift; path = Sources/SQLite/Typed/Collation.swift; sourceTree = ""; }; + E38AA05CE8BF07C4F963F92794253E66 /* UIColor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = UIColor.h; path = "lottie-ios/Classes/MacCompatability/UIColor.h"; sourceTree = ""; }; + E39AC8B24802B56A28805D0E6F284DC6 /* ThemeFontPicker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ThemeFontPicker.swift; path = Source/ThemeFontPicker.swift; sourceTree = ""; }; + E39DEBBD5B5C3856986FDC6C998CE851 /* SQLite-Bridging.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "SQLite-Bridging.m"; path = "Sources/SQLiteObjc/SQLite-Bridging.m"; sourceTree = ""; }; + E3BEA82F00E245C215AFCB1A6E82D12E /* Bag.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Bag.swift; path = Platform/DataStructures/Bag.swift; sourceTree = ""; }; + E3FABAE7925AF56A3142DC32DD2003A3 /* AnonymousObserver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnonymousObserver.swift; path = RxSwift/Observers/AnonymousObserver.swift; sourceTree = ""; }; + E42085A3945343C52BD98ADD537568FB /* Deprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Deprecated.swift; path = RxCocoa/Deprecated.swift; sourceTree = ""; }; + E483D167869BA92F5B30F61B9EBEFD2A /* ActivityIndicatorAnimationCubeTransition.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorAnimationCubeTransition.swift; path = Sources/ActivityIndicators/Animations/ActivityIndicatorAnimationCubeTransition.swift; sourceTree = ""; }; + E4E17E9043F364553B7BCB6378A7ACE4 /* Properties.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Properties.swift; path = Source/Properties.swift; sourceTree = ""; }; + E4FF79063678FA89C91FBDE02A77E0FB /* ThemeCGColorPicker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ThemeCGColorPicker.swift; path = Source/ThemeCGColorPicker.swift; sourceTree = ""; }; + E55F1CC78E12E8CE0788AF053198BC70 /* FTS5.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FTS5.swift; path = Sources/SQLite/Extensions/FTS5.swift; sourceTree = ""; }; + E61752FCA2321DF96D101282EC441B17 /* ISO8601DateTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ISO8601DateTransform.swift; path = Source/ISO8601DateTransform.swift; sourceTree = ""; }; + E642BFB7B69C5A0D1BBFC55C072EBCD1 /* MJRefreshGifHeader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshGifHeader.h; path = MJRefresh/Custom/Header/MJRefreshGifHeader.h; sourceTree = ""; }; + E6686F7D701F4F975E98A16F105A4EE6 /* AddRef.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AddRef.swift; path = RxSwift/Observables/AddRef.swift; sourceTree = ""; }; + E6AF64320CEBE5513418E808F4D8389D /* PresentCardsSegue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PresentCardsSegue.swift; path = Sources/Segues/PresentCardsSegue.swift; sourceTree = ""; }; + E6C837F0BB7162A764EDC8CA98E5F999 /* Pods-News-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-News-resources.sh"; sourceTree = ""; }; + E6E940C320CBCDC064BB78A7361BAB82 /* LOTCompositionContainer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTCompositionContainer.m; path = "lottie-ios/Classes/AnimatableLayers/LOTCompositionContainer.m"; sourceTree = ""; }; + E7605DC73E1A50C6C63052378E87AE85 /* SessionManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SessionManager.swift; path = Source/SessionManager.swift; sourceTree = ""; }; + E77FC834BCDF5CE3B65FC7A50F51CDFA /* Merge.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Merge.swift; path = RxSwift/Observables/Merge.swift; sourceTree = ""; }; + E7A2A58721F0C7A27B9623F3138677F1 /* ObservableType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObservableType.swift; path = RxSwift/ObservableType.swift; sourceTree = ""; }; + E7A2D7BBA6272A6557A5944C9779F563 /* HexColorTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HexColorTransform.swift; path = Source/HexColorTransform.swift; sourceTree = ""; }; + E82CB6510DB27A81C70A28DCAF358B9F /* AggregateFunctions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AggregateFunctions.swift; path = Sources/SQLite/Typed/AggregateFunctions.swift; sourceTree = ""; }; + E8C66F049DF0D127374FD3B26F90337F /* PresentationAnimationType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PresentationAnimationType.swift; path = Sources/Enums/PresentationAnimationType.swift; sourceTree = ""; }; + E9678F935ADB57CB7880CC8D604D4F49 /* Validation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Validation.swift; path = Source/Validation.swift; sourceTree = ""; }; + E972C31E4CE1916277EEC507CEFCC1CE /* UIKit+Theme.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIKit+Theme.swift"; path = "Source/UIKit+Theme.swift"; sourceTree = ""; }; + E97B827A866105C835FD096380705CE7 /* ConstraintDescription.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintDescription.swift; path = Source/ConstraintDescription.swift; sourceTree = ""; }; + E99EBDAA8CBA4846F955B76836152FAA /* CombineLatest+Collection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "CombineLatest+Collection.swift"; path = "RxSwift/Observables/CombineLatest+Collection.swift"; sourceTree = ""; }; + EABF4075B14C3962DB5EA4AAC03D9958 /* PresentationModalPosition.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PresentationModalPosition.swift; path = Sources/Enums/PresentationModalPosition.swift; sourceTree = ""; }; + EB1C44ABDFE607388E49723574D41DA4 /* Generate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Generate.swift; path = RxSwift/Observables/Generate.swift; sourceTree = ""; }; + EB26C58FBDB2D9D263156C73AE8AB827 /* Driver+Subscription.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Driver+Subscription.swift"; path = "RxCocoa/Traits/Driver/Driver+Subscription.swift"; sourceTree = ""; }; + EB806739F07C530FB4D4A6A09934568D /* CacheSerializer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CacheSerializer.swift; path = Sources/CacheSerializer.swift; sourceTree = ""; }; + EC14543D14A66DE8C8F90ACA629A7ECD /* CALayer+Compat.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "CALayer+Compat.h"; path = "lottie-ios/Classes/MacCompatability/CALayer+Compat.h"; sourceTree = ""; }; + EC87A36D1C173B54D3BE3649CBD0DF19 /* FlipAnimator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FlipAnimator.swift; path = Sources/Animators/TransitionAnimator/FlipAnimator.swift; sourceTree = ""; }; + EC9328E15CC94F9C88956DA3D739F3A1 /* TaskDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TaskDelegate.swift; path = Source/TaskDelegate.swift; sourceTree = ""; }; + ED3630171AB01CEBCD9014A5878C2D9E /* ImageTransition.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImageTransition.swift; path = Sources/ImageTransition.swift; sourceTree = ""; }; + EDDCCE448E8622073F1A75C9C0A2D7E6 /* RxCocoa-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RxCocoa-prefix.pch"; sourceTree = ""; }; + EE1745E920F12C9FA580A11834A80556 /* LOTShapeStar.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTShapeStar.m; path = "lottie-ios/Classes/Models/LOTShapeStar.m"; sourceTree = ""; }; + EEA1B509F65E328E4FD61B556A1A5FEF /* EnumTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EnumTransform.swift; path = Source/EnumTransform.swift; sourceTree = ""; }; + EF30CF601F7AB0C59140900FFD222C26 /* MJRefreshAutoStateFooter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshAutoStateFooter.m; path = MJRefresh/Custom/Footer/Auto/MJRefreshAutoStateFooter.m; sourceTree = ""; }; + EF661261D0DA5383378F9EE39C99BCA7 /* LOTCacheProvider.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTCacheProvider.h; path = "lottie-ios/Classes/PublicHeaders/LOTCacheProvider.h"; sourceTree = ""; }; + EFE5B57931DF488A8F50AEBA8530DA1C /* ImmediateSchedulerType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImmediateSchedulerType.swift; path = RxSwift/ImmediateSchedulerType.swift; sourceTree = ""; }; + F022073EE604F8175D408FDF6C050806 /* UIViewControllerExtension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = UIViewControllerExtension.swift; path = Sources/Extensions/UIViewControllerExtension.swift; sourceTree = ""; }; + F023E599536CD6FCEC210E56916CBB05 /* NSLayoutConstraint+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSLayoutConstraint+Rx.swift"; path = "RxCocoa/Common/NSLayoutConstraint+Rx.swift"; sourceTree = ""; }; + F025481B57CD36B2A8A26D8F46A0E26A /* AnimatableStackView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnimatableStackView.swift; path = Sources/Views/AnimatableStackView.swift; sourceTree = ""; }; + F03C45D2DFDD86741C0C2B75BF3C35F9 /* RotationDesignable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RotationDesignable.swift; path = Sources/Protocols/Designable/RotationDesignable.swift; sourceTree = ""; }; + F03F46D3C7C09988742B5B28F3152848 /* SingleAsync.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SingleAsync.swift; path = RxSwift/Observables/SingleAsync.swift; sourceTree = ""; }; + F03FC1BE8D777ACCCD641F5F25860E54 /* LOTShapeGradientFill.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTShapeGradientFill.h; path = "lottie-ios/Classes/Models/LOTShapeGradientFill.h"; sourceTree = ""; }; + F0847D1A3D3F9BCDCD3184083C4F76B0 /* SVRadialGradientLayer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SVRadialGradientLayer.m; path = SVProgressHUD/SVRadialGradientLayer.m; sourceTree = ""; }; + F0DE86FBE737E5E95B6C0930F5737B23 /* ActivityIndicatorAnimationBallClipRotatePulse.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorAnimationBallClipRotatePulse.swift; path = Sources/ActivityIndicators/Animations/ActivityIndicatorAnimationBallClipRotatePulse.swift; sourceTree = ""; }; + F0F7CEA499C9C6BD597701AB43A7A750 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + F14854C584BB0398EF20718A916ECE72 /* BMPlayer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BMPlayer.swift; path = Source/BMPlayer.swift; sourceTree = ""; }; + F1B7166E2CD51AE193FED360043352B9 /* Event.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Event.swift; path = RxSwift/Event.swift; sourceTree = ""; }; + F1D2A1B53E686AB96751180E37FC4CB1 /* Lottie.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Lottie.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + F2471C04A5DA2272B1D25B6946AE24DE /* BMPlayerManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BMPlayerManager.swift; path = Source/Default/BMPlayerManager.swift; sourceTree = ""; }; + F28B756A8F9FCCD3CECDB78EA6F8B74B /* RxPickerViewDataSourceType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxPickerViewDataSourceType.swift; path = RxCocoa/iOS/Protocols/RxPickerViewDataSourceType.swift; sourceTree = ""; }; + F2F34060ECDD4BF42444A2B5C26D61D8 /* LOTBezierData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTBezierData.h; path = "lottie-ios/Classes/AnimatableProperties/LOTBezierData.h"; sourceTree = ""; }; + F35B09D5B9606D494C177E9C59C4B5FF /* LOTShapeGroup.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTShapeGroup.m; path = "lottie-ios/Classes/Models/LOTShapeGroup.m"; sourceTree = ""; }; + F396DC12D749CB5B14B2A1F76D9DE6ED /* LOTComposition.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTComposition.m; path = "lottie-ios/Classes/Private/LOTComposition.m"; sourceTree = ""; }; + F3A34EE1CD2DED6EECC4600260A66A63 /* LOTShapeRectangle.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTShapeRectangle.m; path = "lottie-ios/Classes/Models/LOTShapeRectangle.m"; sourceTree = ""; }; + F418AB4716FF41DD73BD2D759426BDAD /* Empty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Empty.swift; path = RxSwift/Observables/Empty.swift; sourceTree = ""; }; + F456DE8B97D5C6C4328F1D684BB688CF /* UICollectionView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UICollectionView+Rx.swift"; path = "RxCocoa/iOS/UICollectionView+Rx.swift"; sourceTree = ""; }; + F475FE7AFE8CF8A19F4962EEFCACD5D6 /* UISearchController+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UISearchController+Rx.swift"; path = "RxCocoa/iOS/UISearchController+Rx.swift"; sourceTree = ""; }; + F4E44D08231782839828CA80886D965F /* AsSingle.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AsSingle.swift; path = RxSwift/Observables/AsSingle.swift; sourceTree = ""; }; + F57DB022248EA02BA03929B8B69754DD /* AnimatableModalViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnimatableModalViewController.swift; path = Sources/Controllers/AnimatableModalViewController.swift; sourceTree = ""; }; + F5AC5A5689E4BBB0E662D396D740556C /* UILabel+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UILabel+Rx.swift"; path = "RxCocoa/iOS/UILabel+Rx.swift"; sourceTree = ""; }; + F5AC6A66B088C5B2178F8231384D6EFC /* ConstraintPriorityTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintPriorityTarget.swift; path = Source/ConstraintPriorityTarget.swift; sourceTree = ""; }; + F64BDB79E6454620F0AECAAB151E7CD4 /* LOTLayerContainer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTLayerContainer.h; path = "lottie-ios/Classes/AnimatableLayers/LOTLayerContainer.h"; sourceTree = ""; }; + F6698A838437C6C569B60EB83737FF6E /* LOTAnimationCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTAnimationCache.h; path = "lottie-ios/Classes/PublicHeaders/LOTAnimationCache.h"; sourceTree = ""; }; + F6CA5ED369F2402A1F3644FC1A7F63E3 /* ControlEvent+Driver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ControlEvent+Driver.swift"; path = "RxCocoa/Traits/Driver/ControlEvent+Driver.swift"; sourceTree = ""; }; + F7033F2E9E72E978C29658DECE7C8DE3 /* SideImageDesignable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SideImageDesignable.swift; path = Sources/Protocols/Designable/SideImageDesignable.swift; sourceTree = ""; }; + F75795D3EE42BA3C08F9DF9E5FF203CB /* SVProgressAnimatedView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SVProgressAnimatedView.m; path = SVProgressHUD/SVProgressAnimatedView.m; sourceTree = ""; }; + F75D85395CFB1475689C2E8E0A4ABBFE /* Kingfisher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Kingfisher.swift; path = Sources/Kingfisher.swift; sourceTree = ""; }; + F7B623AEE771F7E65AB059A70330A349 /* NVActivityIndicatorAnimationAudioEqualizer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationAudioEqualizer.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationAudioEqualizer.swift; sourceTree = ""; }; + F7E24560CEF0970C4B696ECC807E7A8C /* ActivityIndicatorAnimationBallZigZagDeflect.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorAnimationBallZigZagDeflect.swift; path = Sources/ActivityIndicators/Animations/ActivityIndicatorAnimationBallZigZagDeflect.swift; sourceTree = ""; }; + F8452E11F8C102127FB0AAC7BDB34676 /* LOTRenderGroup.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTRenderGroup.h; path = "lottie-ios/Classes/RenderSystem/RenderNodes/LOTRenderGroup.h"; sourceTree = ""; }; + F89E536C11CA09CBA1F90909EA372F2D /* SVProgressHUD-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SVProgressHUD-prefix.pch"; sourceTree = ""; }; + F910B70154A45819A1343C2B04759BCA /* MJRefreshNormalHeader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshNormalHeader.h; path = MJRefresh/Custom/Header/MJRefreshNormalHeader.h; sourceTree = ""; }; + F9F87A1AAC997B363BE129E8CCFEC71E /* AnimatableView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnimatableView.swift; path = Sources/Views/AnimatableView.swift; sourceTree = ""; }; + FAA7FE263028F91E75B5B1ECE17F7110 /* ActivityIndicatorAnimationPacman.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ActivityIndicatorAnimationPacman.swift; path = Sources/ActivityIndicators/Animations/ActivityIndicatorAnimationPacman.swift; sourceTree = ""; }; + FAE8C74970A59FD814A41E08A793A686 /* PresentPortalWithDismissInteractionSegue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PresentPortalWithDismissInteractionSegue.swift; path = Sources/Segues/PresentPortalWithDismissInteractionSegue.swift; sourceTree = ""; }; + FB1B7FEAF6B9DBF10BD8E2992656630F /* AnimatableLabel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnimatableLabel.swift; path = Sources/Views/AnimatableLabel.swift; sourceTree = ""; }; + FB3FAEF3DE898473C1E1C24F89531D05 /* RxTabBarDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTabBarDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxTabBarDelegateProxy.swift; sourceTree = ""; }; + FB810A36404AFE72D40B0D6C9FFEF5D8 /* Skip.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Skip.swift; path = RxSwift/Observables/Skip.swift; sourceTree = ""; }; + FBAA1213FDA6BD46D5395E584B1A0D3C /* LOTKeypath.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LOTKeypath.h; path = "lottie-ios/Classes/PublicHeaders/LOTKeypath.h"; sourceTree = ""; }; + FBBE86634262EBDC819888A0CAC65700 /* NVActivityIndicatorAnimationBallZigZagDeflect.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallZigZagDeflect.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallZigZagDeflect.swift; sourceTree = ""; }; + FC0574AA48593FBAFB0C265B4628733C /* LOTRadialGradientLayer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LOTRadialGradientLayer.m; path = "lottie-ios/Classes/Extensions/LOTRadialGradientLayer.m"; sourceTree = ""; }; + FC1778A71D7944300D2D96D8126F65BD /* UIScrollView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIScrollView+Rx.swift"; path = "RxCocoa/iOS/UIScrollView+Rx.swift"; sourceTree = ""; }; + FC3FFB8147A0918D942B3140A44DD782 /* PublishSubject.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PublishSubject.swift; path = RxSwift/Subjects/PublishSubject.swift; sourceTree = ""; }; + FC4A60430077CBA5AEFE0482F9B30853 /* SlideAnimator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SlideAnimator.swift; path = Sources/Animators/TransitionAnimator/SlideAnimator.swift; sourceTree = ""; }; + FD70B276EB9710F468EABADAAC933760 /* NVActivityIndicatorAnimationBallScaleRippleMultiple.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallScaleRippleMultiple.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallScaleRippleMultiple.swift; sourceTree = ""; }; + FDF5839A34C72611A6878E7467B12E0E /* NVActivityIndicatorAnimationBallScale.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallScale.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallScale.swift; sourceTree = ""; }; + FDF604883DADD82F2A3732456F149B3B /* SwiftyJSON.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SwiftyJSON.modulemap; sourceTree = ""; }; + FE38BAF5D3AC220A6912467C1FED43CC /* Helpers.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Helpers.swift; path = Sources/SQLite/Helpers.swift; sourceTree = ""; }; + FE48B347D405F232EEE6BB270F7ABBDF /* ImagePrefetcher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImagePrefetcher.swift; path = Sources/ImagePrefetcher.swift; sourceTree = ""; }; + FF0AEEDC4E7F5D56B08807B42918FEF9 /* Reactive.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Reactive.swift; path = RxSwift/Reactive.swift; sourceTree = ""; }; + FF2DC36827CD9F4D5EF333326C35ABC2 /* NVActivityIndicatorAnimationBallGridPulse.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallGridPulse.swift; path = NVActivityIndicatorView/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallGridPulse.swift; sourceTree = ""; }; + FF9F6384E3FA062166D15763888D4B8F /* UIColorExtension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = UIColorExtension.swift; path = Sources/Extensions/UIColorExtension.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -2018,12 +2046,12 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 58EB4FC5917B5E6516F2E3626DA23FE0 /* Frameworks */ = { + 519CB568DC6CB4CB851A0EFCF2B0D828 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 87182BAA002D82E8DF97B4E24E5716DA /* Foundation.framework in Frameworks */, - 7893040CAA62FB39104A0CCE100D0379 /* UIKit.framework in Frameworks */, + 75DAD65B0EFEE8D22D9FBF8C5A76062D /* Foundation.framework in Frameworks */, + FCB791E8D64773EA20EAAA9EF5F24CCB /* UIKit.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -2044,36 +2072,36 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - ACE62D8E5DD579E87E5F1DF54536F0CE /* Frameworks */ = { + A05AD251435FB24E096BBA193F9C99F0 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 8D4F549A6E4D2ADB6180F054F91C435B /* Foundation.framework in Frameworks */, + 84CF440A4E3CCDEE93FA2475748A9934 /* CFNetwork.framework in Frameworks */, + 403E3E170DCF269D5CBA1C530ECA901B /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - BE86B8F532A7A77CCA6B2DB36CCE6F9B /* Frameworks */ = { + ACE62D8E5DD579E87E5F1DF54536F0CE /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 57A0A0C72D8DF2E9703DA0328D2CEF85 /* Foundation.framework in Frameworks */, + 8D4F549A6E4D2ADB6180F054F91C435B /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - BEF2D93AFB839935D391EC312B61477D /* Frameworks */ = { + BE86B8F532A7A77CCA6B2DB36CCE6F9B /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 8FF125F3F155B9A7FD801FF6904D0764 /* Foundation.framework in Frameworks */, + 57A0A0C72D8DF2E9703DA0328D2CEF85 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - C0B9722E352CF90C920286E6F029D3C0 /* Frameworks */ = { + BEF2D93AFB839935D391EC312B61477D /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 52416A6AC7387ECACCC45596498D96AD /* CFNetwork.framework in Frameworks */, - 0CA6357476373C221D44C498AA1D65FE /* Foundation.framework in Frameworks */, + 8FF125F3F155B9A7FD801FF6904D0764 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -2108,22 +2136,18 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 04F4DA3896085A74AD8502A560E4B165 /* Pods-News */ = { + 042481C2C54B8530C694E6A659821396 /* Support Files */ = { isa = PBXGroup; children = ( - 280843A26E60E1EFB138C2B4C803D1AC /* Info.plist */, - E9BF01686D7A30DF12CD54FFDA996D2E /* Pods-News.modulemap */, - 561BCF02F0B4873BBC5209816422BB5D /* Pods-News-acknowledgements.markdown */, - 7EC894725E9BB06F02EC6692F25B2707 /* Pods-News-acknowledgements.plist */, - A2A44D35669E36F7894258B0D21278D1 /* Pods-News-dummy.m */, - 54C26A74FA632818B8C8109DF4FFDEB7 /* Pods-News-frameworks.sh */, - 400F4875FC4C571E5AA3933C774FEB91 /* Pods-News-resources.sh */, - 0E17E75EF2447F391F8D31ED49B3E8EE /* Pods-News-umbrella.h */, - E7EB15D84FC54B90B68CEB3838D58B8F /* Pods-News.debug.xcconfig */, - 3AB600873B5BAFB0CF8BA1B87184D77D /* Pods-News.release.xcconfig */, + 334614AC28854B912B5754A4DCEEE89A /* Info.plist */, + 057C8C6069429574AD656BE717688BAD /* SQLite.swift.modulemap */, + 0540F073BA5ECA990AEBA068B412C643 /* SQLite.swift.xcconfig */, + 3B6A763BFF1C45C67B8C0A45D48F2963 /* SQLite.swift-dummy.m */, + 628D52371A2D76CCDB0ABC6D8B0A5F48 /* SQLite.swift-prefix.pch */, + 911B05F74722503F2F582B4C18979053 /* SQLite.swift-umbrella.h */, ); - name = "Pods-News"; - path = "Target Support Files/Pods-News"; + name = "Support Files"; + path = "../Target Support Files/SQLite.swift"; sourceTree = ""; }; 110D1236F366CE715CB5A3C4E5B25E79 /* iOS */ = { @@ -2138,345 +2162,63 @@ name = iOS; sourceTree = ""; }; - 127435663088CADE746DA5983B064386 /* IBAnimatable */ = { + 1CB06534BE5EA5FA3B07BFEDFD1D489E /* SQLite.swift */ = { isa = PBXGroup; children = ( - 5461DA6FDD3CDF64DBDE67F8782B3E2F /* ActivityIndicatorAnimatable.swift */, - 5611AC275D561986CF01B2B9ADB504E2 /* ActivityIndicatorAnimating.swift */, - DA7C22CC2FB7F54ABA43172CC8809211 /* ActivityIndicatorAnimationAudioEqualizer.swift */, - 810FEB19327309ACB4F4D308EE6F5AEE /* ActivityIndicatorAnimationBallBeat.swift */, - B6162F22B028CE83F7882896BF9CDE2F /* ActivityIndicatorAnimationBallClipRotate.swift */, - 0C9C27B27D9013608A23977C8423AC3E /* ActivityIndicatorAnimationBallClipRotateMultiple.swift */, - B14704EBB7290C90B3C38365349CC6AE /* ActivityIndicatorAnimationBallClipRotatePulse.swift */, - B89D36CBAB389E947702A2E2388D25FE /* ActivityIndicatorAnimationBallGridBeat.swift */, - 84649FD6A4894D8DCBC4A1D05667666F /* ActivityIndicatorAnimationBallGridPulse.swift */, - 6DE1AB0EA62167CA8D25F6111726054B /* ActivityIndicatorAnimationBallPulse.swift */, - ECE9790D91103D096394A0C270D2D91B /* ActivityIndicatorAnimationBallPulseRise.swift */, - 80089D9BDA8AF6850A3099D0742654FF /* ActivityIndicatorAnimationBallPulseSync.swift */, - A0B96C9048C38AF71A753BBD9CF740A8 /* ActivityIndicatorAnimationBallRotate.swift */, - 671B086D8EFF323E947538E018689579 /* ActivityIndicatorAnimationBallRotateChase.swift */, - ADB9194E10CB21E017543BF4F5D1287B /* ActivityIndicatorAnimationBallScale.swift */, - A8E510C117A2BA97D49EB05BC1D608BE /* ActivityIndicatorAnimationBallScaleMultiple.swift */, - 53CA9FB5E76D5AF0D5C91F1DE525FA36 /* ActivityIndicatorAnimationBallScaleRipple.swift */, - 3ABBDE657A5B258096F61BBCBC03D605 /* ActivityIndicatorAnimationBallScaleRippleMultiple.swift */, - D2BF342ACCCF306098ED810CBDB40150 /* ActivityIndicatorAnimationBallSpinFadeLoader.swift */, - 28C7860C52BDEBF48A16FA85CF7A9C74 /* ActivityIndicatorAnimationBallTrianglePath.swift */, - 1AD3CC088660203742FF8ADEB5965B48 /* ActivityIndicatorAnimationBallZigZag.swift */, - C6D2A38724FACF994BBC57E994D7AA41 /* ActivityIndicatorAnimationBallZigZagDeflect.swift */, - 03AF4053EB312EF6B6022AFBA137BC08 /* ActivityIndicatorAnimationCubeTransition.swift */, - 8AC9E453A52AEE2EE2B627B8D22F550B /* ActivityIndicatorAnimationLineScale.swift */, - B4C432A0206A7ABECE2524C5FFEDC098 /* ActivityIndicatorAnimationLineScaleParty.swift */, - A98BEC623607AD42270AE3AD5C823BDC /* ActivityIndicatorAnimationLineScalePulseOut.swift */, - 64147F57AA02FBD13A59EED1EFB7540A /* ActivityIndicatorAnimationLineScalePulseOutRapid.swift */, - 24D15EBB82974262BEDCE7CCDBC1C99F /* ActivityIndicatorAnimationLineSpinFadeLoader.swift */, - 82A9E28BCA673437AB73D6052CAABF3B /* ActivityIndicatorAnimationOrbit.swift */, - D194C7A11D18F82EE469E9145320295F /* ActivityIndicatorAnimationPacman.swift */, - 490E7A7E6E8C953995635D555462FDDF /* ActivityIndicatorAnimationSemiCircleSpin.swift */, - C631E31F95CBF36D31FB2E5D2C5C8CBD /* ActivityIndicatorAnimationSquareSpin.swift */, - 30388FFF376A2A1672396F3CD05575B6 /* ActivityIndicatorAnimationTriangleSkewSpin.swift */, - 2D23B3AB92CCA463334C97F083D4A166 /* ActivityIndicatorFactory.swift */, - 41AA702AB8283ACDF85216A6D93778B1 /* ActivityIndicatorShape.swift */, - F9FEC101D9BF91E23C13BA526DBF5482 /* ActivityIndicatorType.swift */, - F4A1339D782D585136EA9D94889F477A /* Animatable.swift */, - A5AAEDCBCF4748099F5B160EDAA0858B /* AnimatableActivityIndicatorView.swift */, - D2DEFB69FD90AF7EA92FAB7D4E9D6448 /* AnimatableBarButtonItem.swift */, - 3583752156FEDCD0EBBA287769C45A06 /* AnimatableButton.swift */, - 53F20DBB287710299D39997E90AB7137 /* AnimatableCheckBox.swift */, - 6A30029046234F0BA6975AE512C4F891 /* AnimatableCollectionViewCell.swift */, - C65A76C00350A8BA0A636CFE8BE5E3D8 /* AnimatableImageView.swift */, - 396C45FE0958F601CB9B783E48247447 /* AnimatableLabel.swift */, - B773F1706F4E5D0B50DFF057F5A681B9 /* AnimatableModalViewController.swift */, - FF013503B36A32FC31A999DF1825E5F2 /* AnimatableNavigationController.swift */, - 29B69DFF7D69AD27C5736AEA592788DD /* AnimatablePresentationController.swift */, - 6735C7CA4601B2FE4CD748FB4468897E /* AnimatableScrollView.swift */, - B9CB9486D0FD72612383266E9EA8ADC8 /* AnimatableSlider.swift */, - 7B85B8F95835A717D07373D6755CCF1A /* AnimatableStackView.swift */, - 24E3459F096285E8BCBCF18B8E2BAAB3 /* AnimatableTabBarController.swift */, - 32D674DBB835F511CAC9050FE8D55891 /* AnimatableTableView.swift */, - BAC5D69DE025D6D92E7F08F67BD09474 /* AnimatableTableViewCell.swift */, - 920651565700F0045010BDE774C99A8C /* AnimatableTableViewController.swift */, - EEF8341B79E34084170D20C8D4D14247 /* AnimatableTextField.swift */, - F3463FEF0D331357EA314058B133B519 /* AnimatableTextView.swift */, - 0351A2AE282ECE717987E896F7A977EE /* AnimatableView.swift */, - FBF9620033BB991DB3D5BAE19234ADD3 /* AnimatableViewController.swift */, - D05C81FB5DBC7977807350864B2FDF7F /* AnimatedPresenting.swift */, - AE1B1E6DD575DC7EA14D3349B32BCF07 /* AnimatedTransitioning.swift */, - CA2B9F22CA6DEF6DD9E02820C686AF84 /* AnimationChainable.swift */, - C02460B6CCFFA34EC99D327DF6CAC988 /* AnimationType.swift */, - 766DB823A8224BA89FAE0C1FCB11A051 /* AnimatorFactory.swift */, - 488C60C738D21716C0AF70587CBFB7DE /* BackgroundImageDesignable.swift */, - E7F3868949265ED7556810E94A5B34FB /* BarButtonItemDesignable.swift */, - 5DB6E0685AB5E7B86050001ADFD26D6F /* BlurDesignable.swift */, - 713C293A444D6998B1AC1CAE900A2A85 /* BlurEffectStyle.swift */, - 2747193EF86B91D67A15CB03679A1F8E /* BorderDesignable.swift */, - A1442E1C095598511F02E7A11ED8C3EF /* BorderSide.swift */, - 1873B576DE03FC4BD2ED1BC9792A7F88 /* BorderType.swift */, - 6861E71920DF589FBD20AC2A3D2E8E28 /* CALayerExtension.swift */, - BB49D30D1EBDE27F3B0C162B1EB2D757 /* CardsAnimator.swift */, - 05DED0B22E5F09A19343D4BAFFD2B3AD /* CheckBoxDesignable.swift */, - 00C37190B4A3AD3E1AC3CA92D458F182 /* ColorType.swift */, - 45F438F560F3604DE78D332BF86B1256 /* Constants.swift */, - EC715C46131EA38013BC1238CC430AEC /* ContainerTransition.swift */, - 452D9C44174565B4683C6B322253CE26 /* CornerDesignable.swift */, - EAEC7393247B20C0F5FAC244381AB32E /* CornerSide.swift */, - 47A424D1830AF74E78103CA9C83BEA7A /* CoverAnimator.swift */, - A8F849A2D5C7BBA5D954BCB31C0D8EC8 /* DesignableNavigationBar.swift */, - F7F0548E931A70C4ABE899B07D83A6A4 /* DismissSegue.swift */, - E15F59520684BC10D5EF3A0D80DF89DF /* DropDownAnimator.swift */, - D7EDBB99313C8F66B78D3802E031580B /* ExplodeAnimator.swift */, - E4AEA9DA5CB5D0BEF52EE47D21E7019F /* FadeAnimator.swift */, - 90DB08A6BAF2E50EF83D7EA074DB07BF /* FillDesignable.swift */, - DFC28E67861EF1B4CFC61F89C1BED85B /* FlipAnimator.swift */, - AAA9415D14E3D0F07FE88BEED93338D9 /* FoldAnimator.swift */, - E9B6DA7E4651BAB2248221DEFC938BEE /* GradientDesignable.swift */, - 94DADA97D340F991EACB70C1DBCB7000 /* GradientStartPoint.swift */, - F26F5F9127BCD3F6A278DE4AF39DD013 /* GradientType.swift */, - D04E46E8224E2B2DC71F1BF20953E929 /* IBEnum.swift */, - 899B5B55A34EAF50762B6CE9F07F8361 /* InteractiveAnimator.swift */, - C72A01CA53F0F6CDE4ABD00180B58546 /* InteractiveAnimatorFactory.swift */, - 91CE9A45A5B1926ACE162BE5C33FB72C /* InteractiveGestureType.swift */, - F4D90420D4F85FF82E034B705DABF25B /* MaskDesignable.swift */, - D71B387F6E98E9DC5FA1E77B1AF271CD /* MaskType.swift */, - 5234F607F8527DFD8E56503BC8B13854 /* NatGeoAnimator.swift */, - 298BBA0DFABBE2329472285AA78E51DF /* NavigationBarDesginable.swift */, - 3DB90A3CC0D4207647123FC23192D43A /* Navigator.swift */, - 2FAB7E3B981BA9ACEB0D727A210DE84C /* PaddingDesignable.swift */, - 93C1ACF3C5F67D412A719305F5ECCD65 /* PanInteractiveAnimator.swift */, - 5A2040E165D86A261BB77BC526ACC3BD /* PinchInteractiveAnimator.swift */, - 92671A7883658ED2D4D462FDB6E7A8C1 /* PlaceholderDesignable.swift */, - 9FB19168336535E0B969EC489D5BB393 /* PortalAnimator.swift */, - C4228ECF0270AF9463EC0525C45FC1E4 /* PresentationAnimationType.swift */, - 2E769E51044143DF5A6F2D28B2AAFED4 /* PresentationBackgroundView.swift */, - 58B913418A63743732FEECEDEA4CC2D0 /* PresentationDesignable.swift */, - 8F2BC53389FA20F1A1F04AC72A15A98F /* PresentationKeyboardTranslation.swift */, - 3463F7B53F20A10C7A339F326CB48FB4 /* PresentationModalPosition.swift */, - DD7B420D0258F12EAD0973758F63D1D5 /* PresentationModalSize.swift */, - A284A7A265602ECAFBB1A54C1D0D7BB8 /* PresentationPresenter.swift */, - DD35E127636653AD597AEC11F8B8B49C /* PresentationPresenterManager.swift */, - 8C080498CC28B3C050A70C19BD894E40 /* PresentCardsSegue.swift */, - 7FDEC95FF6C751B0F0393A1471E91C9C /* PresentExplodeSegue.swift */, - 96187D421F9A8F16D5D9AA365500CC22 /* PresentFadeSegue.swift */, - 9B2F2974F33FF3BE0DF5054E597FE163 /* PresentFadeWithDismissInteractionSegue.swift */, - 6E37CC887DAE238B301C4655BD3784DE /* PresentFlipSegue.swift */, - C8C9BC5B2F2A244593AD7FBD783ADFE3 /* PresentFlipWithDismissInteractionSegue.swift */, - B3B324EDFC60386052E9CDD7E85705FE /* PresentFoldSegue.swift */, - A0185893EC3870EB765FEA5FC6CB88A2 /* PresentFoldWithDismissInteractionSegue.swift */, - 665C27DDDFEB6553E7A273E645165218 /* PresentNatGeoSegue.swift */, - FF0B9784BC02A9BA1C0108DBD82B9A0B /* PresentOverCurrentContextSegue.swift */, - 10E4C2731B1A70BE593408B1BAFF11B4 /* PresentPortalSegue.swift */, - 66A06BC538CA6BE2E84D43AF36A91728 /* PresentPortalWithDismissInteractionSegue.swift */, - AC1A322C82A68BA9E8AFA8DD9D0121A4 /* PresentSlideSegue.swift */, - 9339D594A12B83EF8C4017E22727301C /* PresentSlideWithDismissInteractionSegue.swift */, - C55F13B941BD4A8C23158E1895FBF5F3 /* PresentTurnSegue.swift */, - FF4D37AEAF487F5378834FD4773E2B01 /* PresentTurnWithDismissInteractionSegue.swift */, - 7BA1626FF67C446BC2967842F018AC7C /* RefreshControlerDesignable.swift */, - D1629E9940383BEE75D1768046EAD754 /* RootWindowDesignable.swift */, - 0E176665CF4CDEC57664FD5AAD1B2A46 /* RotationDesignable.swift */, - 3F328BBD54503DCEBF4593FE3908BC72 /* ScreenEdgePanInteractiveAnimator.swift */, - B594AF1AF55D9C84BDC6374B2F19E1F3 /* ShadowDesignable.swift */, - F72F03571E94520F431BB92C41C66DC6 /* SideImageDesignable.swift */, - 50A928C8B21A5D7D3C250407EC8528A2 /* SlideAnimator.swift */, - 33FD5CF5D22CCD418BBB6FFD1AE53579 /* SliderImagesDesignable.swift */, - F1C9D5DEB02CD8A0EF562A3F54FE4C52 /* StatusBarDesignable.swift */, - 3CD75A6F995668576FD89A921FAE62C8 /* SystemTransitionAnimator.swift */, - BC08B35223146AF7634093115A844EE5 /* TableViewCellDesignable.swift */, - 147990E837085DEECB1B14F88E883077 /* TimingFunctionType.swift */, - 7110C0759CF18D7B5820D6B7817BE69B /* TintDesignable.swift */, - 61CBC6FDD2686CFE54F8966D855B73D9 /* TransitionAnimatable.swift */, - 30E7246682BF1E80A05CF95D88B8E904 /* TransitionAnimationType.swift */, - 1CD7151FC455CC23B9ACAB4C8163DAC8 /* TransitionPresenter.swift */, - AFAE08A1E538979A8A54BD268241EB7F /* TransitionPresenterManager.swift */, - 91F6812F4057E4F85DC1482946CC27F1 /* TransitionType.swift */, - 9598045446CB078DDB5903F8438FE909 /* TurnAnimator.swift */, - 0C223AF30CEBDFEACD2718FA0F96A254 /* Typealias.swift */, - 5A7CA5EA111647BAA59C3AA6341AEE06 /* UIColorExtension.swift */, - 88B9D773F77B8E056D239FBD45C1048D /* UIViewControllerExtension.swift */, - FF23207A2D3D055944ECC60C77CAA36E /* Utils.swift */, - 710D0B01AA6F1E5DA16DAECF8A661206 /* ViewControllerAnimatedTransitioning.swift */, - 101908FF6546070B0F0A7E76B80D5749 /* ViewControllerDesignable.swift */, - 22153E7966A48BB16DC3908648693E73 /* ZoomAnimator.swift */, - 4D262B4B6B1026044ED9B90391F3712B /* Support Files */, + 3826A2158853EE7E1EE2781BD51DF348 /* standard */, + 042481C2C54B8530C694E6A659821396 /* Support Files */, ); - name = IBAnimatable; - path = IBAnimatable; - sourceTree = ""; - }; - 1768E60C4B87C23CA86FB6FFC763FB19 /* SQLite.swift */ = { - isa = PBXGroup; - children = ( - A8D1199847017664119D79860CA5967B /* standard */, - 58A5BE35D841415D79638D7B5BBB5922 /* Support Files */, - ); - name = SQLite.swift; path = SQLite.swift; sourceTree = ""; }; - 19CF389F282A6CCED0FDDBB317C441CC /* Support Files */ = { - isa = PBXGroup; - children = ( - D9CE8D0AEB2566FE3BE17E826B6D9CD5 /* Alamofire.modulemap */, - 19DBC2D37689D24C2C9C2DDF6DFB883C /* Alamofire.xcconfig */, - 0D1F4B688255B82CB4391A5FDB2A66F2 /* Alamofire-dummy.m */, - C031AB86F8C4C245E7789E32B1AEEF93 /* Alamofire-prefix.pch */, - 51CA37BE0AAD0C68FBED9D90198F2307 /* Alamofire-umbrella.h */, - 8D4A2557F1BFB94C5F0FD75B8FE08438 /* Info.plist */, - ); - name = "Support Files"; - path = "../Target Support Files/Alamofire"; - sourceTree = ""; - }; - 1BEA265CDBF0804121C0B85DC4A88703 /* Resources */ = { + 20E5C7B256CC157464ADB7C080E72079 /* Targets Support Files */ = { isa = PBXGroup; children = ( - 2241D4DB1F8AF61114D723571EEB34B2 /* Pod_Asset_BMPlayer.xcassets */, + 6A0F8016960ACD6DBE2B0F31AFDC3E9C /* Pods-News */, ); - name = Resources; + name = "Targets Support Files"; sourceTree = ""; }; - 1C6CA87EB4A792DEE1FCF51A81E80437 /* Support Files */ = { + 222E2694CD1CD5D75D1644DB9DDD6B58 /* Support Files */ = { isa = PBXGroup; children = ( - AE47DC620D1FDAC43B96675BFC763582 /* HandyJSON.modulemap */, - FAA983385C9A642378F27DB150BC3A24 /* HandyJSON.xcconfig */, - B642E00E67E0A77543079F4274DF9532 /* HandyJSON-dummy.m */, - 5006D73F5E3D7EBD4D717FB92AE87FA6 /* HandyJSON-prefix.pch */, - 5A3C4851ABC13AA64F20F6B970A5E4D7 /* HandyJSON-umbrella.h */, - C79F692904AB73875F3CA70AB32BE9EC /* Info.plist */, + 63D631D58DF519A5190D7975C6908F1E /* BMPlayer.modulemap */, + 08882D9E84728BB8CC325CCA274A7A2A /* BMPlayer.xcconfig */, + B811915CCA19C09C9CBDA8F7DB584406 /* BMPlayer-dummy.m */, + 32635AC7F14B765FCB63050F5D42A44B /* BMPlayer-prefix.pch */, + 1C961691A21933D7592F1B9159940EB2 /* BMPlayer-umbrella.h */, + CFC0E9FD2C991B499C826F22493F1707 /* Info.plist */, ); name = "Support Files"; - path = "../Target Support Files/HandyJSON"; + path = "../Target Support Files/BMPlayer"; sourceTree = ""; }; - 20E5C7B256CC157464ADB7C080E72079 /* Targets Support Files */ = { + 2E565E04B4EE7D736A987329D0AA3387 /* Support Files */ = { isa = PBXGroup; children = ( - 04F4DA3896085A74AD8502A560E4B165 /* Pods-News */, + 2CC96AC404917B5BA077CED737480B2A /* IBAnimatable.modulemap */, + BD3DDF40E33F05CE88E3A977BA5ACF7F /* IBAnimatable.xcconfig */, + 6C0B3671ACB4D1B468E5712A68CFB277 /* IBAnimatable-dummy.m */, + 901036028F829BD39E72117851520EF8 /* IBAnimatable-prefix.pch */, + 64925F2880EA27EFA581E09A99086881 /* IBAnimatable-umbrella.h */, + 287F842D2A60BC636215FDB2F82CEDE7 /* Info.plist */, ); - name = "Targets Support Files"; + name = "Support Files"; + path = "../Target Support Files/IBAnimatable"; sourceTree = ""; }; - 2C0AB19055FB2D34831543D67878C93B /* RxCocoa */ = { + 30EB3D12E83A9B9F929B5365E4F933C1 /* Support Files */ = { isa = PBXGroup; children = ( - 0BD531F57A82D05976594038D6B1F37F /* _RX.h */, - 339F3206459610A285700DEBBCA444D2 /* _RX.m */, - 49648BA1479245B587F5C10E23A9E209 /* _RXDelegateProxy.h */, - A2854258079A71E6C92D5FC6BA3C953A /* _RXDelegateProxy.m */, - 3B79AB0CEA95BF0C6EFA07452C11E150 /* _RXKVOObserver.h */, - 9E29B6F18F035B172CFA8B3CA656DA82 /* _RXKVOObserver.m */, - A96559C064EF005E79DF1CF3F73E58D5 /* _RXObjCRuntime.h */, - 5BE1349DA1CE384CA435FDF71261223A /* _RXObjCRuntime.m */, - DB0462874A5160CA2601CDCAC80683B2 /* Bag.swift */, - 396F75833DD78440A2BD8887E9580436 /* BehaviorRelay.swift */, - CBFC2355368D31C2531FF43F2A2FBCAF /* BehaviorRelay+Driver.swift */, - 54A95D03FA93F9D21B6C2DCFFEDB7D48 /* Binder.swift */, - 02532D5C28DACCDCBE8DF44805B33236 /* ControlEvent.swift */, - A778E58642D68B159C610F241B292543 /* ControlEvent+Driver.swift */, - A6188A2290B074180845F09D1C187B69 /* ControlEvent+Signal.swift */, - 5C16B38AACA9A2A8F7753BEA02D9ABF3 /* ControlProperty.swift */, - 57E58EF5F2D77DF06AB878B8D047A5F5 /* ControlProperty+Driver.swift */, - ABC3431CBE8D229FCD4081EDA1C412C0 /* ControlTarget.swift */, - 3450176F1B308716055F475EC13C316B /* DelegateProxy.swift */, - 4E62C365844EE8C8FA698829EDF7495E /* DelegateProxyType.swift */, - 81E52EF4934D8DCE72189B3110768E2C /* Deprecated.swift */, - C8D0398F22E2DCC7CC946E68E85D068F /* DispatchQueue+Extensions.swift */, - 3BD42D685004AD66E16A3D24C4D5CA35 /* Driver.swift */, - C01C24279BCC821CBD96C8D052E6CC59 /* Driver+Subscription.swift */, - A382E112ACCE5B12023F29678013CE51 /* InfiniteSequence.swift */, - 9341BE09000670210B633CF4EEEBDD7F /* ItemEvents.swift */, - DB61F944890FF5AA3F9B310A93505C15 /* KVORepresentable.swift */, - 5F82E905FA9C0D9DA9720D6B5383B631 /* KVORepresentable+CoreGraphics.swift */, - 9339E974AF3390CBCED35BBBFC4332EC /* KVORepresentable+Swift.swift */, - CAC0FEC41CE007BD5D60A897E599F18F /* Logging.swift */, - B989B1B55B69DD24F57511D419909A76 /* NotificationCenter+Rx.swift */, - 1A3EBBD6FE7169C3557CD3AE9A4AA527 /* NSLayoutConstraint+Rx.swift */, - 6DA87874F3C01DE3EA9AA52E21FA617C /* NSObject+Rx.swift */, - 867A7B5F03FCDDC85BFD92DFEC2A5AE9 /* NSObject+Rx+KVORepresentable.swift */, - 2314D12F535DE26AA9FED09C4BD1E9CC /* NSObject+Rx+RawRepresentable.swift */, - 74BEF5B274FE1F92D4A31639B21FF380 /* NSTextStorage+Rx.swift */, - 9A58A86CF8653D76C2EBCFF578FDDEE7 /* Observable+Bind.swift */, - C1202CB18C4EDD774F1F19ED94D44A5A /* ObservableConvertibleType+Driver.swift */, - 16F689B2CBE9D1BDE47D284F80C23BE6 /* ObservableConvertibleType+SharedSequence.swift */, - 6EE97F08412CC4EBD6A08DE9363A4C8B /* ObservableConvertibleType+Signal.swift */, - C72916B070A45B9872FB2BC9D4B66C51 /* Platform.Darwin.swift */, - A6EAE8DBC842461C6658F10396FFAC83 /* Platform.Linux.swift */, - B3FD5420B9BA99B1F4CB34B325186DD7 /* PriorityQueue.swift */, - 026DD9F54346568D494DE2135988F500 /* PublishRelay.swift */, - D95247E42860E5107A3B7A86AAB8A65A /* PublishRelay+Signal.swift */, - 67BB54470B5557CFDC076B29EA5A3C1E /* Queue.swift */, - C0D74C57FA409231168E10BFFA523BBA /* RecursiveLock.swift */, - 40EBB7866DC3B4BA13673E9E83015D59 /* RxCocoa.h */, - 2E897BB622EEFE953FF8F97F5099DA83 /* RxCocoa.swift */, - C6BBD37BC8A3637FAED77EAD0B3F7215 /* RxCocoaObjCRuntimeError+Extensions.swift */, - 9F13420ADC24C4A17BEBA43298637DAC /* RxCocoaRuntime.h */, - 276A948295C315F75EEDDC0B100B6D52 /* RxCollectionViewDataSourceProxy.swift */, - 0C30FB2445A13671E70033CF31F9BF48 /* RxCollectionViewDataSourceType.swift */, - 65C2A21E236A0D0BB02223105601804B /* RxCollectionViewDelegateProxy.swift */, - 23CB47F089A37F60C2C30648DB1DF088 /* RxCollectionViewReactiveArrayDataSource.swift */, - 70A1496EC79D1E684801EA9609735604 /* RxNavigationControllerDelegateProxy.swift */, - 77CFCE4B7CD41EF943170060CE7BCDD4 /* RxPickerViewAdapter.swift */, - E31A4F2E3CF1DFCA5996BCB1BAD6CCEF /* RxPickerViewDataSourceProxy.swift */, - 5755C0245AECC314170FE6B5F33BF407 /* RxPickerViewDataSourceType.swift */, - 8D72E8A7318AE5260826B87B9D1BA194 /* RxPickerViewDelegateProxy.swift */, - 08F5D5F30677524F5E1E69E3332EC510 /* RxScrollViewDelegateProxy.swift */, - 7CB20B4AD50D9869EA097B460139DA53 /* RxSearchBarDelegateProxy.swift */, - 738EDF65D01D4941FC7C446B9AE826E0 /* RxSearchControllerDelegateProxy.swift */, - 939BDAE09B14603EB43B3AA67A490066 /* RxTabBarControllerDelegateProxy.swift */, - 7736DFFDF9752D2828AC00225212DDBD /* RxTabBarDelegateProxy.swift */, - 28F35301943CE6449EC7E839526C839A /* RxTableViewDataSourceProxy.swift */, - 4949D1DADC72519448D72A952FE1D627 /* RxTableViewDataSourceType.swift */, - F1FDDC41676A00EBD99B2FB3058C9C0F /* RxTableViewDelegateProxy.swift */, - 3EFBDED2575213F1903D70663EF22670 /* RxTableViewReactiveArrayDataSource.swift */, - 4B945E390C063AE5D9BBF5C868113CDD /* RxTarget.swift */, - B0CE6A5A7ED7109F249752B075731FCE /* RxTextStorageDelegateProxy.swift */, - 5106974B32012604F4B1E5CD247CCFAE /* RxTextViewDelegateProxy.swift */, - 72CB7C24D77E94EAD2AF4982AF263FF2 /* RxWebViewDelegateProxy.swift */, - F5EC0DA6098576B367F8D939116B915E /* SchedulerType+SharedSequence.swift */, - 3F36E7CE1AFC9680C1C66900D178EF56 /* SectionedViewDataSourceType.swift */, - 29D970BC4A88ADB58933EEE25921B7E6 /* SharedSequence.swift */, - 08C33EBCE60951B3237246905E0057A5 /* SharedSequence+Operators.swift */, - 0186DF89A7DED93C8085D1AD66389B06 /* SharedSequence+Operators+arity.swift */, - 9DF1948C00898D45450ABFF830322D1E /* Signal.swift */, - 09B4AB1C88F70BA17E7ADD1D8AE89C0C /* Signal+Subscription.swift */, - FE322F1DC19806D38DAD8C048063D43A /* TextInput.swift */, - 68328CD5B519A87FCD2930BF13D7B793 /* UIActivityIndicatorView+Rx.swift */, - DB983EBA19AEB1F633530BBD9039BCAE /* UIAlertAction+Rx.swift */, - E014C49F423291E2E39E117AF7301824 /* UIApplication+Rx.swift */, - 914C9321B049D013657F1124EEE3EABB /* UIBarButtonItem+Rx.swift */, - A2928382C14295480CA2E692CD1ED1F5 /* UIButton+Rx.swift */, - 975547BDB8D96ADE2D28FD4072CF4E7F /* UICollectionView+Rx.swift */, - 0205F13F663A2197A5AE557205A7CA71 /* UIControl+Rx.swift */, - 29E10FAFA813999DDDA3F230474CF067 /* UIDatePicker+Rx.swift */, - D7DF9B525B22095A90BF11EB5F4481D9 /* UIGestureRecognizer+Rx.swift */, - 114058F5B3E5A7FD0ACFDE8B446B025E /* UIImageView+Rx.swift */, - C8D648FC7E62C3A97180A0026A6E70D9 /* UILabel+Rx.swift */, - 76956FD244DF6D4EA1EB385E4DE929B7 /* UINavigationController+Rx.swift */, - 3634E6867D396BCB8E574D0992ACC8BD /* UINavigationItem+Rx.swift */, - 4388359A502909009213E6292CD3EE82 /* UIPageControl+Rx.swift */, - 7B8EE07FF4351A72D3EC86DD54283ED5 /* UIPickerView+Rx.swift */, - 6B39C8A058F93BC134FABB87866CA9F7 /* UIProgressView+Rx.swift */, - 8B6B7EA8BBBC7ED0143D83E3F0A539E0 /* UIRefreshControl+Rx.swift */, - 4634847E1B5F43F1CD8FF71535B4FE69 /* UIScrollView+Rx.swift */, - 4B64DF65DA85293CF802806E754D7C3B /* UISearchBar+Rx.swift */, - 9C20B6AD13FECFD31CD266BD1BC496C4 /* UISearchController+Rx.swift */, - 9C7A1B87E499D8B974E18E1BBE4956A5 /* UISegmentedControl+Rx.swift */, - 1810B7508D3AFCB929CD970857614D98 /* UISlider+Rx.swift */, - A2AD458D60BA851B80858BDE169FB6E6 /* UIStepper+Rx.swift */, - 293CA3ECDA667F47071EF0F4F0B04DED /* UISwitch+Rx.swift */, - 4A9485165E6A088BB2A1499A80DCE815 /* UITabBar+Rx.swift */, - BEC4B1FF8B4365291E9AE0EDF942E272 /* UITabBarController+Rx.swift */, - 6CCB3AA48C3B008A9891CB8213056E76 /* UITabBarItem+Rx.swift */, - FAD3DDEB40FBC2D97042AC705E09F25C /* UITableView+Rx.swift */, - EB7501D71B6331C42EDD19ADA4038D7C /* UITextField+Rx.swift */, - DC8FC151D092BC87AABA6DD700FDB4B4 /* UITextView+Rx.swift */, - 8048585CED7DB00085A27F1E42674C08 /* UIView+Rx.swift */, - 6A306DE1C26AE416FAB0033B6B5D499E /* UIViewController+Rx.swift */, - 431B1D8F346EEE81BB8417F0C0D7EF45 /* UIWebView+Rx.swift */, - 153FE52A3B316E8E00009D08C81E50DD /* URLSession+Rx.swift */, - 4189F37AECF8424BB48D38A233BE2117 /* Support Files */, + 69A3D3A77482953B2495AF8136F9A53E /* Info.plist */, + 7FFCBF7AF6D2DD76C028045451D81AF9 /* SGPagingView.modulemap */, + 94B695514542659BCF17CA5A325BC508 /* SGPagingView.xcconfig */, + CEDB7E375F5BB81C7E89E93099C82A0B /* SGPagingView-dummy.m */, + B9A4076DC71023E6D2B3B086668F5211 /* SGPagingView-prefix.pch */, + 8C1914B54629351652FF72CD37DE8917 /* SGPagingView-umbrella.h */, ); - name = RxCocoa; - path = RxCocoa; + name = "Support Files"; + path = "../Target Support Files/SGPagingView"; sourceTree = ""; }; 333F511AD5C87D1B77A172B350D8B2FB /* Frameworks */ = { @@ -2490,924 +2232,1054 @@ name = Frameworks; sourceTree = ""; }; - 4189F37AECF8424BB48D38A233BE2117 /* Support Files */ = { - isa = PBXGroup; - children = ( - E6B408B34F70232F790BDD61A2A8CAED /* Info.plist */, - 9DEBA5ADF8CE773E3FD754CD5935C71A /* RxCocoa.modulemap */, - 97C76A646F0260D7632F463FDF102E6C /* RxCocoa.xcconfig */, - 32B8F77A0B48AF0F5F3B344EEB4E41A1 /* RxCocoa-dummy.m */, - A8B1D4C7EB0C49403112AF0F701BAACC /* RxCocoa-prefix.pch */, - EE8AEDC7B7EC2009F51E1E57F738FE15 /* RxCocoa-umbrella.h */, - ); - name = "Support Files"; - path = "../Target Support Files/RxCocoa"; - sourceTree = ""; - }; - 4D262B4B6B1026044ED9B90391F3712B /* Support Files */ = { + 3826A2158853EE7E1EE2781BD51DF348 /* standard */ = { isa = PBXGroup; children = ( - D7C779D12DB9CDCFB91190A1BF397459 /* IBAnimatable.modulemap */, - 3BBD56D999D1373EE88659FE99CEE4E2 /* IBAnimatable.xcconfig */, - 0F252607A15F344A64C86C7A4B130B13 /* IBAnimatable-dummy.m */, - F224935AFD15420E7AC96AA5737D26DA /* IBAnimatable-prefix.pch */, - 1E116E12E294301CE62A333D001BD76D /* IBAnimatable-umbrella.h */, - 435B7E03AC3154263B601370ED63638D /* Info.plist */, + E82CB6510DB27A81C70A28DCAF358B9F /* AggregateFunctions.swift */, + 9BA6679884F0B2167126EFD3109B0CC7 /* Blob.swift */, + 14BA1B3D41415681C5E4DB19C0E6E816 /* Coding.swift */, + E3610DCAAB613D21ADB669CF53664A05 /* Collation.swift */, + 7321D02EC8F5E16977EC84C8E17D5501 /* Connection.swift */, + 83D35003934A48251A4185797082217D /* CoreFunctions.swift */, + 870580F6B4BC1C68069F609425D204E7 /* CustomFunctions.swift */, + 8B75FE33DD5584A00F40F089BA81C9FE /* DateAndTimeFunctions.swift */, + 8A0A3692795078363FAB0E772E64D1A2 /* Errors.swift */, + 4E8DB6541430D9BAA9F593D7436AA4CE /* Expression.swift */, + 57E6087FE1F9339E3EC8214276A02E8E /* Foundation.swift */, + 912756BF94496D05409BDD76C77D75D0 /* fts3_tokenizer.h */, + BEEC4EC469F7882C73016883F3DD7F4F /* FTS4.swift */, + E55F1CC78E12E8CE0788AF053198BC70 /* FTS5.swift */, + FE38BAF5D3AC220A6912467C1FED43CC /* Helpers.swift */, + A335B37830708938AAE0DD504BC32410 /* Operators.swift */, + A8E785AC85D7C1D19B2BDC79AA8D5501 /* Query.swift */, + DD483794FAB472C166493B1113A54B6B /* RTree.swift */, + 667C8D02BE174B947D93ADF7707B087D /* Schema.swift */, + 72E651720F2D2935F0310AF23D27764C /* Setter.swift */, + A9684F1AAB8EE94DA099D1B321FB23FD /* SQLite.h */, + 11C64C85870504CCFF8142069617C010 /* SQLite-Bridging.h */, + E39DEBBD5B5C3856986FDC6C998CE851 /* SQLite-Bridging.m */, + 7DEC5DC1E2C7C61003E96718524415A7 /* Statement.swift */, + A43320555054316E3DDCF225885B7A52 /* Value.swift */, ); - name = "Support Files"; - path = "../Target Support Files/IBAnimatable"; + name = standard; sourceTree = ""; }; - 53A765452AEC5BE48F3CD55A7F576238 /* Full */ = { + 3D468C289FB5A18EF098A08E485AB8B4 /* SwiftyJSON */ = { isa = PBXGroup; children = ( - 52CAD635E237EB353B4F95B6388EA34A /* BMPlayer.swift */, - 39C5A2458E881AB62C54F7166F87E602 /* BMPlayerClearityChooseButton.swift */, - 51D9BF9C00C1086D060DDC46E010AFE1 /* BMPlayerControlView.swift */, - FA1AE8C65D8D4AB7FEEAC3A5F1F61E09 /* BMPlayerItem.swift */, - F7A22825C5C5BF84DAF6AB765C04B9EF /* BMPlayerManager.swift */, - 89A45CE9F89C9C64318952E32F63791D /* BMPlayerProtocols.swift */, - E4EF6CC89DB4BA0538725D67C74F7DBD /* BMSubtitles.swift */, - F2E641022C831209694A675089334525 /* BMTimeSlider.swift */, - 1BEA265CDBF0804121C0B85DC4A88703 /* Resources */, + 0C988A4474E1B520BCF1A7F63C49334A /* SwiftyJSON.swift */, + 93EE1EF12A6DF4252B480E5A326B0650 /* Support Files */, ); - name = Full; + path = SwiftyJSON; sourceTree = ""; }; - 58A5BE35D841415D79638D7B5BBB5922 /* Support Files */ = { + 4C455FF402F59733584D5A327B26D57A /* Support Files */ = { isa = PBXGroup; children = ( - 9FB9BE3AFCC55BAA03F20DE4939DC382 /* Info.plist */, - 616AA194666DF78659E5BA5A2E18210E /* SQLite.swift.modulemap */, - E73AB822D87E12067FB47A291B9DA0C0 /* SQLite.swift.xcconfig */, - 287997282FA9D72A9E11B94D65679581 /* SQLite.swift-dummy.m */, - E5AB56EF2D724CA983BBD2559955E372 /* SQLite.swift-prefix.pch */, - DCB2BBE1A229BAB4029A4DA40D21EAA6 /* SQLite.swift-umbrella.h */, + 348EF1C6E450C433D89D58E43180DFB4 /* Info.plist */, + 316C457E7FFB6DE31BE96D5336447D93 /* NVActivityIndicatorView.modulemap */, + A264D4730065B34E9CD16540BA1559AE /* NVActivityIndicatorView.xcconfig */, + C9D43139503502EB878958814877B668 /* NVActivityIndicatorView-dummy.m */, + 863EE9C97655DBE87B442CE50779248B /* NVActivityIndicatorView-prefix.pch */, + A25F9884A86D6792D624F519A70EE1A3 /* NVActivityIndicatorView-umbrella.h */, ); name = "Support Files"; - path = "../Target Support Files/SQLite.swift"; + path = "../Target Support Files/NVActivityIndicatorView"; sourceTree = ""; }; - 5DC4AAE960D1681ADFA5E58639DF2A1C /* SwiftyJSON */ = { + 56582A02197CE8839D436970E702E3EC /* Presenter */ = { isa = PBXGroup; children = ( - 5DB2E20A5AF7534188A7E7A7293A8E95 /* SwiftyJSON.swift */, - 8A058E69984D7146FF376F43F296E01A /* Support Files */, + F7B623AEE771F7E65AB059A70330A349 /* NVActivityIndicatorAnimationAudioEqualizer.swift */, + 6691A780C5833E37A7370B2A05F80CA3 /* NVActivityIndicatorAnimationBallBeat.swift */, + 5C27766D0EC45174FBB5765B86FDE5FE /* NVActivityIndicatorAnimationBallClipRotate.swift */, + 5804E955373BD503DDC6B02FBF3E1B15 /* NVActivityIndicatorAnimationBallClipRotateMultiple.swift */, + 507551A21856F938BBF15ED20550DAD9 /* NVActivityIndicatorAnimationBallClipRotatePulse.swift */, + 8BC73EE0670636F49F762D9F3D904FCA /* NVActivityIndicatorAnimationBallGridBeat.swift */, + FF2DC36827CD9F4D5EF333326C35ABC2 /* NVActivityIndicatorAnimationBallGridPulse.swift */, + 67866F2A81F6D4396FEFBFC65DF87F99 /* NVActivityIndicatorAnimationBallPulse.swift */, + 2D1F2065E7BC296A50F89C5F992ECE44 /* NVActivityIndicatorAnimationBallPulseRise.swift */, + C19E561FD5A94B95CCF5BBD29E5EA5DA /* NVActivityIndicatorAnimationBallPulseSync.swift */, + 7153A59AB9B9D59EF1D98030899EC825 /* NVActivityIndicatorAnimationBallRotate.swift */, + 40160B0920995852DDB4432A3BD349E6 /* NVActivityIndicatorAnimationBallRotateChase.swift */, + FDF5839A34C72611A6878E7467B12E0E /* NVActivityIndicatorAnimationBallScale.swift */, + 0D2132BD92166C87A50DC69EBAA9008C /* NVActivityIndicatorAnimationBallScaleMultiple.swift */, + 173C2D449DB38E3218CB457242A8B658 /* NVActivityIndicatorAnimationBallScaleRipple.swift */, + FD70B276EB9710F468EABADAAC933760 /* NVActivityIndicatorAnimationBallScaleRippleMultiple.swift */, + ADBBA9DB7ECBDE0FA2BBAE649C623371 /* NVActivityIndicatorAnimationBallSpinFadeLoader.swift */, + 3D3DAF82336DC96DEF8F46DD11495ADA /* NVActivityIndicatorAnimationBallTrianglePath.swift */, + 357B61AA972B5D9C3A7C2D224E0AE557 /* NVActivityIndicatorAnimationBallZigZag.swift */, + FBBE86634262EBDC819888A0CAC65700 /* NVActivityIndicatorAnimationBallZigZagDeflect.swift */, + C1DE8727C75DF9C091BA169E1EE409BA /* NVActivityIndicatorAnimationBlank.swift */, + 18C8C585612D3F072EFCEAE381E1B48C /* NVActivityIndicatorAnimationCubeTransition.swift */, + AE63FA51D6B17DB4361D08E0C97B3E27 /* NVActivityIndicatorAnimationDelegate.swift */, + 7D439F01A64E68DE215D80AAB1E493AD /* NVActivityIndicatorAnimationLineScale.swift */, + E0FF75F31E658F8DA566D36EC805BFB2 /* NVActivityIndicatorAnimationLineScaleParty.swift */, + A7D00B074B676C8E67D364B74F5A607F /* NVActivityIndicatorAnimationLineScalePulseOut.swift */, + 54E22AEC5AD3CC8C68BD0A22EC0DA998 /* NVActivityIndicatorAnimationLineScalePulseOutRapid.swift */, + D78E5B09B29F0A1A0D6CE2AF74C3F9F8 /* NVActivityIndicatorAnimationLineSpinFadeLoader.swift */, + D255E10F4F541D79745F0B058D7A5812 /* NVActivityIndicatorAnimationOrbit.swift */, + 3A52B23990CF613901FEA42A2730D8DF /* NVActivityIndicatorAnimationPacman.swift */, + C322944839B519EF9B753C08237AE066 /* NVActivityIndicatorAnimationSemiCircleSpin.swift */, + A114D9B0D205D8C0F103CE6215AD63F4 /* NVActivityIndicatorAnimationSquareSpin.swift */, + 10D23F821F34BCAE19BC118CBAC20325 /* NVActivityIndicatorAnimationTriangleSkewSpin.swift */, + 6E268CC9889BB277B18F84BA6858BE1F /* NVActivityIndicatorPresenter.swift */, + 143644EF92A70E4D160C78B819650BCB /* NVActivityIndicatorShape.swift */, + 8938B97004B13BA710DED03C42A6378A /* NVActivityIndicatorView.swift */, + 00BADAC5E6217FE65E242EDDC6A54F3D /* NVActivityIndicatorViewable.swift */, ); - name = SwiftyJSON; - path = SwiftyJSON; + name = Presenter; sourceTree = ""; }; - 603687D714A9976E6DB95BC65ADFAE35 /* lottie-ios */ = { + 5ACB39693C6A4D950FE7B966CF237C35 /* HandyJSON */ = { isa = PBXGroup; children = ( - 4F6A1D0A0B0AF3B76AC758D3E3C42C24 /* CALayer+Compat.h */, - 5714D9BCBD5DC0DFFE2D051DDB8726DC /* CALayer+Compat.m */, - 68D01B3244CC6A90F855129E353C9BEC /* CGGeometry+LOTAdditions.h */, - 0B18D89860518A003FB3B12D4B26CA9C /* CGGeometry+LOTAdditions.m */, - E20C10B2E440ED436FFDA3244375863B /* LOTAnimatedControl.h */, - 97C302BDBC796B4F2280D53E200DCBC6 /* LOTAnimatedControl.m */, - 96190BFAEE74AAB817D212B29AF3EC89 /* LOTAnimatedSwitch.h */, - E7593E0AD872D7C90D63485FDD304FCE /* LOTAnimatedSwitch.m */, - 419B21DEA3BEAAA34D72305F353A1D49 /* LOTAnimationCache.h */, - DAC7A7CCA65B102F095FDF3AE0BC8299 /* LOTAnimationCache.m */, - 7A7359B957586EA38EFA2C512A235254 /* LOTAnimationTransitionController.h */, - 6DC8F2043D939E2FA4064F50BCBE3A54 /* LOTAnimationTransitionController.m */, - 96D904A35D8CEBB1CC3BFB9EA30B93EB /* LOTAnimationView.h */, - C8CC09FDBA52BC87E973C5F994B2F109 /* LOTAnimationView.m */, - F6DC0FC298D83542DAACC8F0D667DD38 /* LOTAnimationView_Compat.h */, - 7111860DD463939B4D2B036339267998 /* LOTAnimationView_Internal.h */, - D27D41687E50035F8A5050222B48076D /* LOTAnimatorNode.h */, - B2B3ECA6710F480C7B799BC6F3ABCEDD /* LOTAnimatorNode.m */, - 45224CB0E544A0ED792C58DE136B6CD3 /* LOTArrayInterpolator.h */, - 650C44A85769DCC3DA68ECFE1F390F20 /* LOTArrayInterpolator.m */, - 8DEE044FB93C4828FD8CE4D735AE7F76 /* LOTAsset.h */, - 97E5CCA0FFD0F0F98680926531DC178E /* LOTAsset.m */, - 33A93A6C9950135EFC0DEEC24117898C /* LOTAssetGroup.h */, - C86BD6CD5819861824D872239B8B1516 /* LOTAssetGroup.m */, - 0899CA737C480283614FCEA77D18D661 /* LOTBezierData.h */, - 35549E7E3A1AD88152D82982FD6C8FCC /* LOTBezierData.m */, - 97C66CC8A81744D732F73C5F0E216D16 /* LOTBezierPath.h */, - 54EB7ED0C4D1552DFA21A52FB9C8D704 /* LOTBezierPath.m */, - 7F6F1F9C23887ECE00D1D9F702032015 /* LOTCacheProvider.h */, - 824F3411CD7152831B86BFAED437FE40 /* LOTCacheProvider.m */, - 7D38CA4F5338AAE06655D32F6682FAD9 /* LOTCircleAnimator.h */, - 98A27E09E3D5229AE144BA7C1CBC17A0 /* LOTCircleAnimator.m */, - 5C65D1F86050E6A5BE4B6B53EA5B9C9D /* LOTColorInterpolator.h */, - B81315CAFF12D116F93A17CADA7C51FC /* LOTColorInterpolator.m */, - 14063873909746745CA2214A74624862 /* LOTComposition.h */, - A966FF5A357A608E54DC561E485A1743 /* LOTComposition.m */, - 54C2AEEAF84BC41E1CC31636857311CB /* LOTCompositionContainer.h */, - 9D744747067604A65E9DD87E6F7B4388 /* LOTCompositionContainer.m */, - 2FCDD9E6A46D8493F7ACE8B3C8C752A5 /* LOTFillRenderer.h */, - 29E4ED58F389D2269E7CD54290B3A398 /* LOTFillRenderer.m */, - 44D77DCA3505F512E047A6F3617AB349 /* LOTGradientFillRender.h */, - 278796E39B63CFFAD34B2291622A3972 /* LOTGradientFillRender.m */, - A2C2DFE5E2561B27CA56FC9AB9BE8DE8 /* LOTHelpers.h */, - 981D8F102B557DC6E7FDB92620A519EB /* LOTKeyframe.h */, - 581EF31175478E2A6D22A2EE038A42E3 /* LOTKeyframe.m */, - 42EAFE236B126875E3676DDF667390B1 /* LOTLayer.h */, - B4DBDA9100B3C4BDB1140374A24FC5DA /* LOTLayer.m */, - EB2BE7C7F6DF8A6756CB80771D308CAB /* LOTLayerContainer.h */, - 82411C76F4019797791D0A9DA5263707 /* LOTLayerContainer.m */, - 6758AEC443FDF78D890269D835B57425 /* LOTLayerGroup.h */, - EDE62B4E0F34D6CA344741D8F340FFF3 /* LOTLayerGroup.m */, - A16EEEEAAF21E0BAF80075E1124170E3 /* LOTMask.h */, - B6C1B03C44FFF619CD179FC9F401149B /* LOTMask.m */, - A3D96B8AAD305A1A2FD5E0D9E9360638 /* LOTMaskContainer.h */, - B6433F0BB306E7585814AF3CB89F3822 /* LOTMaskContainer.m */, - 05C1CC7AD909075CBCCA3CF067FB78BF /* LOTModels.h */, - 5854BB7AB2C50E78E7D98E172A51DB11 /* LOTNumberInterpolator.h */, - 745938C8D2B74C24F86F4D614D4792E6 /* LOTNumberInterpolator.m */, - 18764AAA427FE94EF57DEEE1EE344FB3 /* LOTPathAnimator.h */, - F9E75F42E99218116687616FF47FB040 /* LOTPathAnimator.m */, - 65904D73AA291AF5444177C0991BE6D0 /* LOTPathInterpolator.h */, - 270FA3A96A373887B074091D726AA287 /* LOTPathInterpolator.m */, - 2AF32E235640711199EA78D2F64AFA45 /* LOTPlatformCompat.h */, - 96C47A48B9284956BEE4DF952EE7A25D /* LOTPointInterpolator.h */, - FCB2083C762822A59B7E20DA0A27EA3B /* LOTPointInterpolator.m */, - EC8A90EFD8DDCE9FC7BA6FC5667DBB80 /* LOTPolygonAnimator.h */, - 9031037246EEE46EF31274BC4F0DF5F1 /* LOTPolygonAnimator.m */, - A16003B8D309F1F3C203F841D87483E6 /* LOTPolystarAnimator.h */, - 91DB995E8E92CECB468D53167ACBCCD9 /* LOTPolystarAnimator.m */, - FD22D4F340EC90356CFAC12730E333A6 /* LOTRadialGradientLayer.h */, - 6A5E4B6AD4C7EC4490BEA56E7F405239 /* LOTRadialGradientLayer.m */, - C9DB4641951A7C6E3B95425B87E5E804 /* LOTRenderGroup.h */, - 93503B39CC4A96F1B7E67FDD1DA59E70 /* LOTRenderGroup.m */, - D73C4B2EBBB27397A7421665A91E53D5 /* LOTRenderNode.h */, - 2F7C53C7FC6F1E08E3EE45E93A83F04A /* LOTRenderNode.m */, - C7E53F0CE5944091AD64E326573B4931 /* LOTRepeaterRenderer.h */, - 97AFA631E60B98301A7A83245DBDE327 /* LOTRepeaterRenderer.m */, - 0EB9C6C82C51CAA9857CF5D21339B821 /* LOTRoundedRectAnimator.h */, - 4EF7BE0063439F2E7B754090040D6090 /* LOTRoundedRectAnimator.m */, - E57A65FF584BA4798DC313AF595B5849 /* LOTShapeCircle.h */, - 514343934B9D0E0A6E8C07941A10D1F0 /* LOTShapeCircle.m */, - F28848F69D934234205D7F163A67AF87 /* LOTShapeFill.h */, - F817921DE6308E767CD4C75AB16FF8CF /* LOTShapeFill.m */, - D27C1B76808BD5D77AE9EF2830F6A6AC /* LOTShapeGradientFill.h */, - BC8D3647E2AE0D1225C39E4ADF5E85C6 /* LOTShapeGradientFill.m */, - D893C980107E5B33B9D20605B574531D /* LOTShapeGroup.h */, - 9435389B0DE732322ED79650ACF63E9E /* LOTShapeGroup.m */, - C9E4E16F5872E43E3A7C997788AB14BE /* LOTShapePath.h */, - B5E482E0BBB40A4BC1C53792528A4538 /* LOTShapePath.m */, - 9B35A17D547D38DF6F81BDD7BADD2B0B /* LOTShapeRectangle.h */, - D9F70B1344F7C3AC912BDCF11D462801 /* LOTShapeRectangle.m */, - 686DC854562D039C5B425D792B6E11BF /* LOTShapeRepeater.h */, - FEA91A3F41CA4BA1BA59E9793EC46AB4 /* LOTShapeRepeater.m */, - 5364CAEC527EEEC1DEEAB9B8DD9F5049 /* LOTShapeStar.h */, - 749A67AC6E14DE070565470E422604B1 /* LOTShapeStar.m */, - 62C38636F2D49770B1A78357EE331C23 /* LOTShapeStroke.h */, - 6BA32B2203C64904B0C7B357B7FF4480 /* LOTShapeStroke.m */, - 9FEDA919CCA6F527A46CAA827DE66B1B /* LOTShapeTransform.h */, - 7798E3F29C0D6F6F9BEC64F9B157C85C /* LOTShapeTransform.m */, - 9EEF03E486F33BB07BF53E5617E3FC8F /* LOTShapeTrimPath.h */, - 63A250ED9CF50C7BAB45AE9F4998BF68 /* LOTShapeTrimPath.m */, - 4D6772387D8B990199B8DC328F4B886D /* LOTSizeInterpolator.h */, - 0AF548D11E96AF1E95009082CE1415E9 /* LOTSizeInterpolator.m */, - E677BFC29DD705F961D34C6AE7CBF127 /* LOTStrokeRenderer.h */, - 23F9D1C890AF80AEC93D124A6A137364 /* LOTStrokeRenderer.m */, - 280F2FA353CE9C180D30F01F131553A5 /* Lottie.h */, - DF6C4295D97240E793C8143E7FA1BC7C /* LOTTransformInterpolator.h */, - 70F25435B3FD1356F35DC659617691A2 /* LOTTransformInterpolator.m */, - 5E9D73DBE32638FE50BE31D807F1BF79 /* LOTTrimPathNode.h */, - 9F83FEBCAE29B57F50BEB16C1F8B44B8 /* LOTTrimPathNode.m */, - 04ACEF3624F7EC02B897C81D5CD971B3 /* LOTValueInterpolator.h */, - A4656F406E002F587BF0B551B4173944 /* LOTValueInterpolator.m */, - 0F27E0E6A8AE9D6BD1F1C9957E72EF54 /* NSValue+Compat.h */, - A0319F125B765ADBDC90C9181D7E78E6 /* NSValue+Compat.m */, - 947ED7F639F845012BDB148AF8B0BD2F /* UIColor.h */, - 89F41CAE075546B34E66486842D26DA4 /* UIColor.m */, - C035E9355268E0E0EBE8832FE82593AC /* UIColor+Expanded.h */, - 06918280FB9DD225735F27A67699368D /* UIColor+Expanded.m */, - AD31789E6602D231BD21C1947A6C68D7 /* Support Files */, + 78818AAD40818C232044F3625FB52A41 /* AnyExtensions.swift */, + 0CBAAEE6A7AB4408C7EC85281D751F50 /* BuiltInBasicType.swift */, + C71F57EBE1CD27C7BCDCE28F20F23A14 /* BuiltInBridgeType.swift */, + A02B3D627DF866BACA28258430AFBF6E /* Configuration.swift */, + 4E8353411D931BAF23DAE40DFCA4BE7C /* CustomDateFormatTransform.swift */, + A131E6D890E33AFC4C124300457606A8 /* DataTransform.swift */, + 88CF19F31DDB49545E709E8EE726E1F5 /* DateFormatterTransform.swift */, + 6CAF593FB620DA5A557DDE1EE870010D /* DateTransform.swift */, + 1D860B007C033DC17EF168503BEC453A /* Deserializer.swift */, + EEA1B509F65E328E4FD61B556A1A5FEF /* EnumTransform.swift */, + 3DE89743DCE0C268E1C709C99A67F135 /* EnumType.swift */, + 6F2CC0D610B7CA66F0261DE581FF038F /* Export.swift */, + B684B30B0A9D54D625BE99F0E032E3FB /* ExtendCustomBasicType.swift */, + 67233E4C4624AC8CD58594D27490D881 /* ExtendCustomModelType.swift */, + 5AF18340F49745E7E660F686AA316192 /* HandyJSON.h */, + 66AC079DD8FF2AE721DAA514D228FA92 /* HelpingMapper.swift */, + E7A2D7BBA6272A6557A5944C9779F563 /* HexColorTransform.swift */, + E61752FCA2321DF96D101282EC441B17 /* ISO8601DateTransform.swift */, + 51E8DAD48CC72859126174EC5DE4AEDF /* Logger.swift */, + 43649EA63BC6AE01F1B9053E68C8583B /* Measuable.swift */, + 8563BB5EBB0FCDD4F16A435D9EB05A1A /* Metadata.swift */, + 309C2514ECE04AF163758EBEF04B05E1 /* NominalType.swift */, + C3082E7CD0DBB7CBA27011E265AB645D /* NSDecimalNumberTransform.swift */, + D0C72BACC58D732DB034490E255E72B5 /* OtherExtension.swift */, + 141660F7A04F7473EB4F2032A7BB1AA2 /* PointerType.swift */, + E4E17E9043F364553B7BCB6378A7ACE4 /* Properties.swift */, + 796C88A741D7170AA826E8AF513AF2CC /* PropertyInfo.swift */, + 309E6E713FA8B233A98FAB2020D8E5FF /* ReflectionHelper.swift */, + 823641CD18FC8E8E24BF00235E99058C /* Serializer.swift */, + D3B819CDBFD477675968C5D3A567B5F3 /* Transformable.swift */, + 440C90F3F5C301B9E904658C51B80654 /* TransformOf.swift */, + 2E058809C629DEA2F286F24E859734CE /* TransformType.swift */, + A12C1B06C09A900A9873B9242B08B88F /* URLTransform.swift */, + E625ED82087A229641A0BB1C7F33AA7F /* Support Files */, ); - name = "lottie-ios"; - path = "lottie-ios"; + path = HandyJSON; sourceTree = ""; }; - 679E40B0FF733C1C0A22AC84E0BE303E /* Pods */ = { + 5DC68B1374321BC625E81A6C915A84CF /* SVProgressHUD */ = { isa = PBXGroup; children = ( - CD7007B870A1842DFD58AE68D8A1A9BB /* Alamofire */, - A78D0B0A1C53984E2F53CDE549557CAC /* BMPlayer */, - F03014AC7D9BED719C74D66BA02D90F6 /* FDFullscreenPopGesture */, - 963855FEE666A06B5324CD1AB24ABCFC /* HandyJSON */, - 127435663088CADE746DA5983B064386 /* IBAnimatable */, - BB9B6ED7BEB8BEAB291F38376D3F2E48 /* Kingfisher */, - 603687D714A9976E6DB95BC65ADFAE35 /* lottie-ios */, - CC3C464CCBF2A45337E8A2E84F7173F8 /* MJRefresh */, - 89B030FF12074764358CE62BEB8BDDCE /* NVActivityIndicatorView */, - 2C0AB19055FB2D34831543D67878C93B /* RxCocoa */, - C86CF478C82CB569A5DD1A2647D0F4C7 /* RxSwift */, - 70D44010784D184C47B73D8C595D2964 /* SGPagingView */, - 80DA698D4A2C00FFAA5AD2AEEF59E1AC /* SnapKit */, - 1768E60C4B87C23CA86FB6FFC763FB19 /* SQLite.swift */, - 6F4CE3174C8E1B60175F9B30AB185544 /* SVProgressHUD */, - C02E1666A5A481D5291CD400A754F7ED /* SwiftTheme */, - 5DC4AAE960D1681ADFA5E58639DF2A1C /* SwiftyJSON */, + DB927BD1B59C77AF6E514C4E51F33E36 /* SVIndefiniteAnimatedView.h */, + 2656056F3D623926A160A2C6C636B30B /* SVIndefiniteAnimatedView.m */, + 846817132336D33D1A4E49618F11480F /* SVProgressAnimatedView.h */, + F75795D3EE42BA3C08F9DF9E5FF203CB /* SVProgressAnimatedView.m */, + 603CF9DB9C423BE610F3006EBE59497F /* SVProgressHUD.h */, + 53324584453C14CAD59217E3F62BAF2A /* SVProgressHUD.m */, + 27DA0D32B0211109EEA3009D54F4F3D6 /* SVRadialGradientLayer.h */, + F0847D1A3D3F9BCDCD3184083C4F76B0 /* SVRadialGradientLayer.m */, + D25144862E299036F896C3F7867542F3 /* Resources */, + 8F9F6788302129D159CF0AC8CB959E8A /* Support Files */, ); - name = Pods; + path = SVProgressHUD; sourceTree = ""; }; - 67C686DE3AD801E181EFB05B2BDD1A97 /* Support Files */ = { + 6227ABA13AF7A62C42F926051579DDB3 /* Support Files */ = { isa = PBXGroup; children = ( - 1477CF9575CB07A50A3FAF14BF8A68DB /* FDFullscreenPopGesture.modulemap */, - B083172486B0E380AECD401BDDB4C391 /* FDFullscreenPopGesture.xcconfig */, - F5A41076622E73D307D97BDD3F6B0486 /* FDFullscreenPopGesture-dummy.m */, - 554A82D74071B128F4B6AB9B2A51E401 /* FDFullscreenPopGesture-prefix.pch */, - 5E69D4A921F23C2B43D4581FA3EEBB96 /* FDFullscreenPopGesture-umbrella.h */, - 64E04BF3DD55CBF6BABCCE5F191B27EE /* Info.plist */, + F0F7CEA499C9C6BD597701AB43A7A750 /* Info.plist */, + 702D0C31E770BE07F3FAC3B69F398840 /* Kingfisher.modulemap */, + E24F1002471BDEE02229C94F4144D22E /* Kingfisher.xcconfig */, + 99164FD78DB46A6B885FFE395F197B3F /* Kingfisher-dummy.m */, + CAB5D9DD8FE2A374541B9B51CA462709 /* Kingfisher-prefix.pch */, + C9251C9B8F7530D153AAD8E9DF5CC420 /* Kingfisher-umbrella.h */, ); name = "Support Files"; - path = "../Target Support Files/FDFullscreenPopGesture"; + path = "../Target Support Files/Kingfisher"; sourceTree = ""; }; - 6F4CE3174C8E1B60175F9B30AB185544 /* SVProgressHUD */ = { + 6A0F8016960ACD6DBE2B0F31AFDC3E9C /* Pods-News */ = { isa = PBXGroup; children = ( - C3EE43F6AC6FC5DFAE9ABCDA73DEB1F3 /* SVIndefiniteAnimatedView.h */, - D778DA0D6AE56F1672C492E59B4F5197 /* SVIndefiniteAnimatedView.m */, - DD80F1AF8783480F27672DDACB78A0FA /* SVProgressAnimatedView.h */, - 9E1327ED356B10B0185703AF5219A078 /* SVProgressAnimatedView.m */, - 25BA3118BED66CB487D33E050F78FFC2 /* SVProgressHUD.h */, - 1DA38988DBA019F3A26551B2BED2B07A /* SVProgressHUD.m */, - 5AECF07F350A490627BD23C2B2423950 /* SVRadialGradientLayer.h */, - 1C67AD783E4542135BB06E7B8A2B8DE1 /* SVRadialGradientLayer.m */, - 9F4EDBC673A2EA14220F4D1E63F8B4ED /* Resources */, - 7CED813A73AB0E643D4D2255731D8C5B /* Support Files */, + 94685DE98C2059922885C517F03CE189 /* Info.plist */, + 7C02F254DBBC97F8DA4BE20486D7A641 /* Pods-News.modulemap */, + 7D7B050769C6EDB5B4B067E11950E0AA /* Pods-News-acknowledgements.markdown */, + 5B693EBDEA1F534536B8CAC711902BE8 /* Pods-News-acknowledgements.plist */, + BD468CA8BE15F90B688C6BFC41D05C20 /* Pods-News-dummy.m */, + 3DB546EED303EDD602A55E362946D30C /* Pods-News-frameworks.sh */, + E6C837F0BB7162A764EDC8CA98E5F999 /* Pods-News-resources.sh */, + CDBFAE6F259E1448099E16AA46388CFB /* Pods-News-umbrella.h */, + 332730E1D9F8907F06898C6963E536DB /* Pods-News.debug.xcconfig */, + 2F7779E8FE554C5620B3381406F2DBD5 /* Pods-News.release.xcconfig */, ); - name = SVProgressHUD; - path = SVProgressHUD; + name = "Pods-News"; + path = "Target Support Files/Pods-News"; sourceTree = ""; }; - 7061AC366D015B7831557BCC3DE4A785 /* Presenter */ = { + 7DB346D0F39D3F0E887471402A8071AB = { isa = PBXGroup; children = ( - 701A594B2C38DF07995B48AC29AD28FE /* NVActivityIndicatorAnimationAudioEqualizer.swift */, - 12EB1C12CFA00FDF440A413CF88FC5B2 /* NVActivityIndicatorAnimationBallBeat.swift */, - 4FD891EFE190D6845A7250AA6E9B5F10 /* NVActivityIndicatorAnimationBallClipRotate.swift */, - FEC2FF264705701AF916824A1FD3B011 /* NVActivityIndicatorAnimationBallClipRotateMultiple.swift */, - 3DE4B0EF0A30685BCB8F3779536AC77F /* NVActivityIndicatorAnimationBallClipRotatePulse.swift */, - BE7502BEC1CFDA2E3D6B36ED8E099C8D /* NVActivityIndicatorAnimationBallGridBeat.swift */, - 4CC32C89E413CF13A91937CDEB0E8CA2 /* NVActivityIndicatorAnimationBallGridPulse.swift */, - 7D3FA654DB0D17A27059DCFFA737919C /* NVActivityIndicatorAnimationBallPulse.swift */, - 9DA5AD53B95FCBF972B9EC671DF286F4 /* NVActivityIndicatorAnimationBallPulseRise.swift */, - A6DCD24A709B709BFBB4143022669DFA /* NVActivityIndicatorAnimationBallPulseSync.swift */, - BDA9107CA8C1B02C1D5302AD337AC8C1 /* NVActivityIndicatorAnimationBallRotate.swift */, - 3EB69C0D22027D5CB62727B0205DD459 /* NVActivityIndicatorAnimationBallRotateChase.swift */, - 73C313BA9F8EF7AC2ADB43F94ABBE860 /* NVActivityIndicatorAnimationBallScale.swift */, - 25E97FA92A9B3E12A89B8C18B47CEEF1 /* NVActivityIndicatorAnimationBallScaleMultiple.swift */, - 507BD2CC8311D4C4499664BC6B2AAE8A /* NVActivityIndicatorAnimationBallScaleRipple.swift */, - 433DD1FB552D99CCB858D3901575635F /* NVActivityIndicatorAnimationBallScaleRippleMultiple.swift */, - DAA8DBC4C805857503ADEDBBEC5E30A6 /* NVActivityIndicatorAnimationBallSpinFadeLoader.swift */, - 2BCF8AEA6BF2CD7A4734639961EBAE64 /* NVActivityIndicatorAnimationBallTrianglePath.swift */, - FDDF590463E1120098C37A6E511E0B9E /* NVActivityIndicatorAnimationBallZigZag.swift */, - 0ABBD4A0FD9D5A5318CC16789319A8E6 /* NVActivityIndicatorAnimationBallZigZagDeflect.swift */, - C5582981004D61AAE61CA9EF62895593 /* NVActivityIndicatorAnimationBlank.swift */, - FC50DAFF40940950B879CA17E98DF707 /* NVActivityIndicatorAnimationCubeTransition.swift */, - 9FA9D2DE6131AA534A042A688FB8DF27 /* NVActivityIndicatorAnimationDelegate.swift */, - CC3BAB9607A561F0F2786E73AA623FF6 /* NVActivityIndicatorAnimationLineScale.swift */, - 63AB2CFB827F1D3EF127D591656B4DEC /* NVActivityIndicatorAnimationLineScaleParty.swift */, - 855763F935A0CF731CAEB100ABD1EA0C /* NVActivityIndicatorAnimationLineScalePulseOut.swift */, - A43B3636C3F00E2C1EED0A22B2F47D73 /* NVActivityIndicatorAnimationLineScalePulseOutRapid.swift */, - 8C62285A96F51DDBA109778EC6462374 /* NVActivityIndicatorAnimationLineSpinFadeLoader.swift */, - 9757007F01F5B80B63B3FF588F8DAB47 /* NVActivityIndicatorAnimationOrbit.swift */, - 2C9C436C6D9A4EF106151917CEC31945 /* NVActivityIndicatorAnimationPacman.swift */, - D8DEEFE9E92D939909A2F85AC30F5D5E /* NVActivityIndicatorAnimationSemiCircleSpin.swift */, - 7A17C7910A923129DDFA85DD0109B20F /* NVActivityIndicatorAnimationSquareSpin.swift */, - 16DFE44A71BFE75E6AEC8A5A634A344F /* NVActivityIndicatorAnimationTriangleSkewSpin.swift */, - 0254A10083DCE5EA0FC7C103C4046A49 /* NVActivityIndicatorPresenter.swift */, - 0A526298B38F701CA729115DD8D4A50E /* NVActivityIndicatorShape.swift */, - BA95E4F30C56DB00B4BB8EAF869259D2 /* NVActivityIndicatorView.swift */, - B2E72BD7314CF94C10208EB7517A3D6B /* NVActivityIndicatorViewable.swift */, + 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */, + 333F511AD5C87D1B77A172B350D8B2FB /* Frameworks */, + E849780CBD63596CDBE298724417486D /* Pods */, + E5CC4BE86FB24C7C0EA1B0475B94FA84 /* Products */, + 20E5C7B256CC157464ADB7C080E72079 /* Targets Support Files */, ); - name = Presenter; sourceTree = ""; }; - 70D44010784D184C47B73D8C595D2964 /* SGPagingView */ = { + 85A9B2F9935757046D71108D8B9867AC /* Support Files */ = { isa = PBXGroup; children = ( - 2AB1C03EA1742C7139642D1C2E6F4B9B /* SGPageContentScrollView.h */, - 1D34B1C9BC775313499256BDC5AF99B2 /* SGPageContentScrollView.m */, - 99FFA7DF715A18F249CE01CCB861F407 /* SGPageContentView.h */, - 96ABFB58D44EDFB93EA7ACCF8A40B668 /* SGPageContentView.m */, - E601F1C0E2FA2ED1E8808DD07344E097 /* SGPageTitleView.h */, - D42B51BE1D674E619242DDF51955EA44 /* SGPageTitleView.m */, - A6D20FF3B8F1576447306969935E92D3 /* SGPageTitleViewConfigure.h */, - 7838CBF59299AC18B1178B2E9FD304ED /* SGPageTitleViewConfigure.m */, - 17090CC49F55E7722F956A4D71474149 /* SGPagingView.h */, - 867C85CEB5EE894A2C6301EAC2C52367 /* UIView+SGPagingView.h */, - 40D7470C8CF928FE04ED7A302D04691A /* UIView+SGPagingView.m */, - EE38B08C57808E1908A1776C2512510E /* Support Files */, + 40A055A29F50C838B3E05F6636F3F3CF /* Info.plist */, + 792258C5ED8D529F367DA02EB5E08606 /* lottie-ios.modulemap */, + 3EFE4549E78561A1AF80A0E64A8324AF /* lottie-ios.xcconfig */, + 13ABACD971570B78C43C6D9151DD855A /* lottie-ios-dummy.m */, + B71026703FE11B5487BF59265D98DA0E /* lottie-ios-prefix.pch */, + 7607AC2709BCEC0EE8288B8B8BD2E752 /* lottie-ios-umbrella.h */, ); - name = SGPagingView; - path = SGPagingView; + name = "Support Files"; + path = "../Target Support Files/lottie-ios"; sourceTree = ""; }; - 7CED813A73AB0E643D4D2255731D8C5B /* Support Files */ = { + 867EF1E119F435ED38B5519D7EC9808C /* Support Files */ = { isa = PBXGroup; children = ( - 83F222FD0D14119E2854454E19983A1A /* Info.plist */, - D47D04DCB4C40ACF7C7E56302DCB61B9 /* SVProgressHUD.modulemap */, - 307A0D460BCD2378C297F994AC8093C3 /* SVProgressHUD.xcconfig */, - 6C6AD493BF2A7D60E355DC7D2D205B37 /* SVProgressHUD-dummy.m */, - A892157B5A6986E3FE4541EABE2EF2FC /* SVProgressHUD-prefix.pch */, - 534772192649FA19C83ECC7A8C09371C /* SVProgressHUD-umbrella.h */, + 8CD2DE97FFF7F33677F71397C33E7B29 /* Info.plist */, + 4C8D8716F24497E2910CA7A9E41762B0 /* RxCocoa.modulemap */, + A550DFE215E1D587019921BBA2BBD6A7 /* RxCocoa.xcconfig */, + 12422A642FEFD2B092D5113762D836AA /* RxCocoa-dummy.m */, + EDDCCE448E8622073F1A75C9C0A2D7E6 /* RxCocoa-prefix.pch */, + 0462A13DE352D5015B7954FD0D091B28 /* RxCocoa-umbrella.h */, ); name = "Support Files"; - path = "../Target Support Files/SVProgressHUD"; + path = "../Target Support Files/RxCocoa"; sourceTree = ""; }; - 7DB346D0F39D3F0E887471402A8071AB = { + 8EB146C422D528F1DD87C41CC5C58F0C /* RxSwift */ = { isa = PBXGroup; children = ( - 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */, - 333F511AD5C87D1B77A172B350D8B2FB /* Frameworks */, - 679E40B0FF733C1C0A22AC84E0BE303E /* Pods */, - E5CC4BE86FB24C7C0EA1B0475B94FA84 /* Products */, - 20E5C7B256CC157464ADB7C080E72079 /* Targets Support Files */, + E6686F7D701F4F975E98A16F105A4EE6 /* AddRef.swift */, + D6D16246E8A7E3D9FF02C27DA28908EB /* Amb.swift */, + A4F7254AB48D7B9B24E1B28BF4E2846C /* AnonymousDisposable.swift */, + E3FABAE7925AF56A3142DC32DD2003A3 /* AnonymousObserver.swift */, + B3EFA2A70F6B791F41EFDF228E8EFA11 /* AnyObserver.swift */, + 03666BE69F668E66EFCA983101415022 /* AsMaybe.swift */, + F4E44D08231782839828CA80886D965F /* AsSingle.swift */, + 287D618687C3ACC728CF2313C8DE7FDB /* AsyncLock.swift */, + 8592DC1D681983C95B9362790655CD8C /* AsyncSubject.swift */, + A5DB46BC2AF8E6A05F695F5AED3E7D3E /* Bag.swift */, + 7448F81CF7C82E2FEF82A1E0E1EF0162 /* Bag+Rx.swift */, + C34EFD8E43DBB7865C840EEB0AF06DD3 /* BehaviorSubject.swift */, + 61C1C4477B40F13968866137AFF0B4B7 /* BinaryDisposable.swift */, + BE96AF21A51CF3D87BF07C96EA9CA45E /* BooleanDisposable.swift */, + 29FBB098364F1D9AE34F5E4E99C1813D /* Buffer.swift */, + 32DE2B698C33C2E775889B9020868597 /* Cancelable.swift */, + 461D2FB1F4204C8CA70D19FCBDF87196 /* Catch.swift */, + B0D25BD170AE8345AD4E8B51C1390807 /* CombineLatest.swift */, + A033B2177DA90822C85DC9B0440F6CAE /* CombineLatest+arity.swift */, + E99EBDAA8CBA4846F955B76836152FAA /* CombineLatest+Collection.swift */, + A9291FEF14513B3E7D18F1727DD5FCB1 /* Completable.swift */, + BE27955380EB9F1A04E6412A6DAEF144 /* Completable+AndThen.swift */, + 4E4DAF209E0D7516F0E460E0D17697DD /* CompositeDisposable.swift */, + 6AE868EA2541F35475745791C5F02448 /* Concat.swift */, + 485BAA3476101A16EC2D829E48443A0E /* ConcurrentDispatchQueueScheduler.swift */, + 3C12C851DEE7B4DC31AFED301A063E5C /* ConcurrentMainScheduler.swift */, + 4A89E26253C0892218B4CF62CD853131 /* ConnectableObservableType.swift */, + D51195C352B65F5AD9DBEE6EA8E7DE38 /* Create.swift */, + C28AD25BE02801A59054C2362C678CD2 /* CurrentThreadScheduler.swift */, + 022780496B95F0C1C8355D4644AA968D /* Debounce.swift */, + 93EF78E036A04A7EB12366A401661F43 /* Debug.swift */, + 579E6B368FBF8EE3FE5CA9A4281FDA4C /* DefaultIfEmpty.swift */, + 3A4D4DC02734A536B99D81F9FAF0933C /* Deferred.swift */, + 7AEE01A217B4FA1F38726D3C6A001340 /* Delay.swift */, + 05A5D4711A5A34E365F01EBDC2FF31A3 /* DelaySubscription.swift */, + DAA4D00361F83598FCF94AA1125DF7AB /* Dematerialize.swift */, + BA9958EE49FE10817A5797CE10F71B89 /* Deprecated.swift */, + 483523A5391A8463603A62F5EF91B281 /* DeprecationWarner.swift */, + 415372DB88A8802CD3B5C84816EAB3A0 /* DispatchQueue+Extensions.swift */, + 3C0DA2B0618170C960138363CD11C56D /* DispatchQueueConfiguration.swift */, + 4A8EB38A17F4B4A2B23A063D41A5C7D7 /* Disposable.swift */, + 466BBB2EFC03F9AB415017F8AB695336 /* Disposables.swift */, + 51C847E5B27092E9E1A1C64372FC9A82 /* DisposeBag.swift */, + 09E557D29F303635D9316E9E64BE0E3A /* DisposeBase.swift */, + 4733150742C5E01CBD29B6F6733A80CC /* DistinctUntilChanged.swift */, + C20702C69FC5F3B4495C9C940C6C676D /* Do.swift */, + 12EDE83890AFF6571CF34C7E58A4197A /* ElementAt.swift */, + F418AB4716FF41DD73BD2D759426BDAD /* Empty.swift */, + CAE2C317634A2E00BF12CF926C4D3513 /* Enumerated.swift */, + 9D6C93DBAE4C3923D340D06E65E189D0 /* Error.swift */, + B514A13E642052BDAB405C7FADEE7DF4 /* Errors.swift */, + F1B7166E2CD51AE193FED360043352B9 /* Event.swift */, + AFD7597FBA321E43D9724E61E9EC4A69 /* Filter.swift */, + 48F58C0344549D1796B71578341B834C /* First.swift */, + EB1C44ABDFE607388E49723574D41DA4 /* Generate.swift */, + 4BFAFF1C82F163C646075C6EE740D720 /* GroupBy.swift */, + 9D44C2040C0B5F5E80AC1AA3C589C894 /* GroupedObservable.swift */, + 5A4C50CDC05267F8428C2ECD9B85CD5D /* HistoricalScheduler.swift */, + BC441ACB4FAFE1BF35F614C219CC573E /* HistoricalSchedulerTimeConverter.swift */, + EFE5B57931DF488A8F50AEBA8530DA1C /* ImmediateSchedulerType.swift */, + DD5267A82FD4BE61785F026B5ADC929C /* InfiniteSequence.swift */, + 46D1699CD58B9FD876D75AA67B077C51 /* InvocableScheduledItem.swift */, + 7FC74EC0ED00239A07753D5266ADD918 /* InvocableType.swift */, + BC571C4E884EBD15CB35DF3A1A3A976D /* Just.swift */, + 9B061CB28DA161D993129B2294339A28 /* Lock.swift */, + 08AD1FD79D39507317F916202EF5E234 /* LockOwnerType.swift */, + 29A455405F6206958BE3C9B6F44DB3E0 /* MainScheduler.swift */, + 5B2DDEF53A6DEF4768F2F471881886C1 /* Map.swift */, + C5AFC9BE9793A15E7A9EB9AEB0C193B4 /* Materialize.swift */, + DBEFA276629C02C3A51646DAD2D15CD1 /* Maybe.swift */, + E77FC834BCDF5CE3B65FC7A50F51CDFA /* Merge.swift */, + 8702BA4496DC31704AC274B578663963 /* Multicast.swift */, + 43473D3D3CB2884BA931E100D146BAB7 /* Never.swift */, + C2027EBFFCD88D9A6C0F189E0C9B1704 /* NopDisposable.swift */, + 5D0F54C1F01547815ABBA97005DC89EC /* Observable.swift */, + 3E3C19C39F2F0BB15D78A73282106FFE /* ObservableConvertibleType.swift */, + E7A2A58721F0C7A27B9623F3138677F1 /* ObservableType.swift */, + 32E5D26492C74456A7D6B726C8B50F2D /* ObservableType+Extensions.swift */, + 6723B6EF3CFC6E7FA50031E11E703FA7 /* ObservableType+PrimitiveSequence.swift */, + 4FB888EF9FD58CC3B2F23EFBADA4D4E2 /* ObserveOn.swift */, + 61DFAE3C7E6F0D293FA6ADC673BE62E2 /* ObserverBase.swift */, + 92D8C0D953E982A1E687437C8758DA79 /* ObserverType.swift */, + CA526424757A73A701410EF5F9BA6BA9 /* OperationQueueScheduler.swift */, + 8028F709EBEC213EB44C7F37AE8DA771 /* Optional.swift */, + CBA8CC9A04E4007C24F63D9287928E84 /* Platform.Darwin.swift */, + 9229555094C9DF30B98F80BE40CFA3E0 /* Platform.Linux.swift */, + D28AC7EB11326868991A674C4E11E2C9 /* PrimitiveSequence.swift */, + 098CAAFEDB3E34D5B5FDF3817AF4151C /* PrimitiveSequence+Zip+arity.swift */, + AD1D682716FEC439DA12B6B93AB0BDF6 /* PriorityQueue.swift */, + 5C6A83961D876DB6B6D1189A8FE8E7DE /* Producer.swift */, + FC3FFB8147A0918D942B3140A44DD782 /* PublishSubject.swift */, + 2678875A28B2F2FE8C187B393AD058CC /* Queue.swift */, + 0A7DF293AD213C15C7A54A8C044E73D2 /* Range.swift */, + FF0AEEDC4E7F5D56B08807B42918FEF9 /* Reactive.swift */, + 93A80A1261D9C65B45A5300A2420D5F0 /* RecursiveLock.swift */, + 946ACE72873BEACC20CD8864CEB42EE1 /* RecursiveScheduler.swift */, + 1BB5E1E996EDB58160CA807FF5B3E68B /* Reduce.swift */, + D2DDA50E1D6894E8DEDEA47EB471C79A /* RefCountDisposable.swift */, + 15B3CBD39226136E02B85D74924A6F59 /* Repeat.swift */, + 262B8FEADE5DE373CA12B51363C5B9DA /* ReplaySubject.swift */, + 834D33569CB5B7D7A157208CC70D425B /* RetryWhen.swift */, + 6532AF9891126032BAA6C7EC838904F3 /* Rx.swift */, + 4F0D243DFC8F8A3CED9246A28DDA3C90 /* RxMutableBox.swift */, + 1C889C3FC97707D340D10F9027D9B27F /* Sample.swift */, + 1DE1EB39180D3DA48B62730459C8C9FC /* Scan.swift */, + A014C52ED0508D411FEEB953CE1384C8 /* ScheduledDisposable.swift */, + ADA1285BD863D775F13A275298E04339 /* ScheduledItem.swift */, + 49F31712D1386AE04219B86A821B3D28 /* ScheduledItemType.swift */, + B6C5A1F02DA98D4EC40E7C18CCB0F1CD /* SchedulerServices+Emulation.swift */, + 97D37362078B98B5A399399E3B5059D3 /* SchedulerType.swift */, + 7867E06345BDAC93973637103420FE00 /* Sequence.swift */, + 23D96781DC61730ADE96BC0BF5F6717B /* SerialDispatchQueueScheduler.swift */, + 9C58F07E97F286FF8891C3D85A129DFE /* SerialDisposable.swift */, + 657AA0B864645920811F0C6667463998 /* ShareReplayScope.swift */, + 73A6A64A96114CEA675C32C7872C4861 /* Single.swift */, + 204BB415F4D2C8FEF10B663E81DD2306 /* SingleAssignmentDisposable.swift */, + F03F46D3C7C09988742B5B28F3152848 /* SingleAsync.swift */, + B6F5CF61787B734093F2C110D88A6446 /* Sink.swift */, + FB810A36404AFE72D40B0D6C9FFEF5D8 /* Skip.swift */, + DDC887DB9EFA9F8E0AF663F7C9ECC989 /* SkipUntil.swift */, + A4B55BE96D63B45A713E70BDAD776585 /* SkipWhile.swift */, + D4CFDC741BEC9E7B5A9D17AFD0455498 /* StartWith.swift */, + 1C6E7F63F9B6B927CF3154BBAF69C250 /* String+Rx.swift */, + 75B8293378E075E3D63B9322D6042D8D /* SubjectType.swift */, + 819BA2D4DECA14751CA157FBCA754174 /* SubscribeOn.swift */, + 55391A5C722C43A35D14A8194356C21A /* SubscriptionDisposable.swift */, + B6FB95960B7FA4BE7A969A4BC668FF6F /* SwiftSupport.swift */, + 863A1F2A61765F876E4D3C34CA45CA07 /* Switch.swift */, + 885B480632C0E61B2C55788D67F29D22 /* SwitchIfEmpty.swift */, + 85AF85600350C53BC7604E1BC74FA755 /* SynchronizedDisposeType.swift */, + 258A91D2958638FE967E1286F561FD6D /* SynchronizedOnType.swift */, + 40E19E964245BE5852B4EE7A81A203BA /* SynchronizedUnsubscribeType.swift */, + 97903A7839517127E1375614ED31C679 /* TailRecursiveSink.swift */, + 7BCC94E816C4D27DEE888910AE743C32 /* Take.swift */, + BF30A8F23443A12C05AB33841751B4BF /* TakeLast.swift */, + 3B245374095CE44FE85EEB6A6EB13185 /* TakeUntil.swift */, + 10817844FD4A4FA273856C2A4FF1EA3B /* TakeWhile.swift */, + 168C7A8F85E51FBD98FA68775F6C4F4F /* Throttle.swift */, + B4F65965BB5A50FEA5CE198B88B6B552 /* Timeout.swift */, + 57608B6480E6449AA898BD44C0551808 /* Timer.swift */, + B74DD659B661E171DBE817A4CE023E66 /* ToArray.swift */, + DB79197EFE997C2C5B2306A547D31369 /* Using.swift */, + 53DFC8C8D220968BFDEB742AE5BE677B /* VirtualTimeConverterType.swift */, + 307DDF55BF62A28AEF0E4A554F1B5AB9 /* VirtualTimeScheduler.swift */, + B1210FAC80CD11D4E0A148DF9967286A /* Window.swift */, + 4AB6CA4430FBE192DE684AA97EA337B9 /* WithLatestFrom.swift */, + B53A6777013D9670B38008FB7C2C2D1C /* Zip.swift */, + D6620594EC614BE4E170472CDB8764C1 /* Zip+arity.swift */, + 8EB1FA2B60BC5740CAC36980E08E2A86 /* Zip+Collection.swift */, + CFC5253F71C10980DB28866B2A9389D5 /* Support Files */, ); + path = RxSwift; sourceTree = ""; }; - 7FAAD9CBB466E7A6064F04D870D00C27 /* Support Files */ = { + 8F9F6788302129D159CF0AC8CB959E8A /* Support Files */ = { isa = PBXGroup; children = ( - 543E8CEAEBE396FBF36D063EDD6EE3B8 /* Info.plist */, - C5DA3396D19118CB06E14D65B601BE4F /* SnapKit.modulemap */, - 1B8D0BC9B8877FF1903820BBECDE1085 /* SnapKit.xcconfig */, - BA4B4F81BACC7810D0A56625F99612A4 /* SnapKit-dummy.m */, - EA352D569869DE9C80D2B54A8334B841 /* SnapKit-prefix.pch */, - 00B5AD25079A623CB19EE4300FD7E482 /* SnapKit-umbrella.h */, + 28641FC03802BF5870823E6BA2B1C43B /* Info.plist */, + 30388CED6EFDB66DD646F0F647B4DB3A /* SVProgressHUD.modulemap */, + 658512D9B07170288E9EAD357608FFFD /* SVProgressHUD.xcconfig */, + 9A2329EC727D7B4F2EEA272FCC245F8C /* SVProgressHUD-dummy.m */, + F89E536C11CA09CBA1F90909EA372F2D /* SVProgressHUD-prefix.pch */, + 89FD1A24E1138643FCF79C38326FA19E /* SVProgressHUD-umbrella.h */, ); name = "Support Files"; - path = "../Target Support Files/SnapKit"; + path = "../Target Support Files/SVProgressHUD"; sourceTree = ""; }; - 80DA698D4A2C00FFAA5AD2AEEF59E1AC /* SnapKit */ = { + 93EE1EF12A6DF4252B480E5A326B0650 /* Support Files */ = { isa = PBXGroup; children = ( - 1FBA3B5AA789EAF5083DF4D34517D047 /* Constraint.swift */, - 7F6296EE937FC1B5C6857D1415A43D57 /* ConstraintAttributes.swift */, - 14A44AA8ADAB4952098BD99115015B04 /* ConstraintConfig.swift */, - 503B7CA27E9490D09693945D2EBD5563 /* ConstraintConstantTarget.swift */, - 5BCFCCB89C0EFDDB0353777EE9101C13 /* ConstraintDescription.swift */, - 42CB77F9E0915B6E20A3066D0012D508 /* ConstraintDSL.swift */, - 5AFAF9B98BC7DA3DC7B2EFB0DE2C167D /* ConstraintInsets.swift */, - C0D186AD449351E3F7DDAC9FF38A1D67 /* ConstraintInsetTarget.swift */, - 10D5724FBD15C6EC747828B2D3B4AB04 /* ConstraintItem.swift */, - 0F7CEE59118B6BF1A0FB749DC196C7D7 /* ConstraintLayoutGuide.swift */, - D028ABFE543979DCAB4FEDA8493382F2 /* ConstraintLayoutGuide+Extensions.swift */, - D79A2DED8E4833D59C143FCD2CF4F876 /* ConstraintLayoutGuideDSL.swift */, - F898697048D6C7183D3F617BC258C1AE /* ConstraintLayoutSupport.swift */, - E1A16DD4A706AF765B8EA0751EBF4E63 /* ConstraintLayoutSupportDSL.swift */, - 0DF95F092886036754BA55304A1C864B /* ConstraintMaker.swift */, - 5040E9BA39AEB77ABA9E7CBFEC3680BC /* ConstraintMakerEditable.swift */, - 785F9D56026FA287C5B82D17B4E79344 /* ConstraintMakerExtendable.swift */, - B5B4292A7167883AF83F46B82150BBCC /* ConstraintMakerFinalizable.swift */, - A080C464FDDDAC0A0C71D352FA69DA6C /* ConstraintMakerPriortizable.swift */, - 85C23CB62448ADB46A776DF49F3CE892 /* ConstraintMakerRelatable.swift */, - AF0AC7475C4FE9AF32AD2185590E457B /* ConstraintMultiplierTarget.swift */, - 1ABBE4FBC2BA053B1FD0EFF1FABE3D2A /* ConstraintOffsetTarget.swift */, - FB27ED8DA0AC4389EE59CBC0A50EE59A /* ConstraintPriority.swift */, - DFE5D5F55CCF711F270511F9C4C676C0 /* ConstraintPriorityTarget.swift */, - 5ABA31BFCDCDCAD234DC73AD4A25660A /* ConstraintRelatableTarget.swift */, - D5B098A28080D6F13F85C6FD76D13E4A /* ConstraintRelation.swift */, - 2FA7EB31E7506AC8B71C1AC5557E5EA5 /* ConstraintView.swift */, - 5F9EB7F0F4C0AD98B78CF12414D46F57 /* ConstraintView+Extensions.swift */, - D1C1F33C52FEA6CF7868E8DDAA90F6A3 /* ConstraintViewDSL.swift */, - 217558C4544B1F77AA5841C7A35D1B36 /* Debugging.swift */, - 496E06364454C8EB026E0EF3101190EC /* LayoutConstraint.swift */, - C9B856A978F2393E8D6F559FAA464258 /* LayoutConstraintItem.swift */, - 7CDA8FA3E6A6EF62B2AC8608EBB21875 /* Typealiases.swift */, - 64552828511783624379C226338C1235 /* UILayoutSupport+Extensions.swift */, - 7FAAD9CBB466E7A6064F04D870D00C27 /* Support Files */, + 0E4F47A650107BC0C1BEB709ED2AC24E /* Info.plist */, + FDF604883DADD82F2A3732456F149B3B /* SwiftyJSON.modulemap */, + 455469F99FEF6C9AFE95285F628325DD /* SwiftyJSON.xcconfig */, + 0C3E92227F0D4BC57D6208210DDA8460 /* SwiftyJSON-dummy.m */, + 41DFC0793478588F2636179F3BC6C93C /* SwiftyJSON-prefix.pch */, + 8DF98C1B10FCF083129E894C9DDFD9BD /* SwiftyJSON-umbrella.h */, ); - name = SnapKit; - path = SnapKit; + name = "Support Files"; + path = "../Target Support Files/SwiftyJSON"; sourceTree = ""; }; - 82C48BAFB421C931C69333463479A456 /* Support Files */ = { + 949E6A65FE2420545148878211729BFE /* NVActivityIndicatorView */ = { isa = PBXGroup; children = ( - ED86CA1046F18D33696C5B89A0C2FEA7 /* Info.plist */, - B58F6E4A235DEE467F0ACD31DEC8AB1F /* MJRefresh.modulemap */, - AF2A4E12788C6B76699BB45ADD58D2C3 /* MJRefresh.xcconfig */, - 8B1DCB2E0F64F2F92362AEC52C0483ED /* MJRefresh-dummy.m */, - A534D392C7F84BBC7A0895111CD7B2FC /* MJRefresh-prefix.pch */, - 39C37519761A51CE304B05AD3CE4D9D0 /* MJRefresh-umbrella.h */, + 56582A02197CE8839D436970E702E3EC /* Presenter */, + 4C455FF402F59733584D5A327B26D57A /* Support Files */, ); - name = "Support Files"; - path = "../Target Support Files/MJRefresh"; + path = NVActivityIndicatorView; sourceTree = ""; }; - 89B030FF12074764358CE62BEB8BDDCE /* NVActivityIndicatorView */ = { + 9549D37CC5D8CDC0DAF1D44DC8813EBD /* lottie-ios */ = { isa = PBXGroup; children = ( - 7061AC366D015B7831557BCC3DE4A785 /* Presenter */, - DE1991343D2A61206C5DF7976B96376A /* Support Files */, + EC14543D14A66DE8C8F90ACA629A7ECD /* CALayer+Compat.h */, + 7C9C6AE6B96B39435D0CAF4F3A015B33 /* CALayer+Compat.m */, + CD4CD83C0072AD2568E6AD4EB018EB27 /* CGGeometry+LOTAdditions.h */, + 61BE91569B66F4FEAA6E6B3690D64ADB /* CGGeometry+LOTAdditions.m */, + B54AD13D8803AD8D00070C71B1599A0D /* LOTAnimatedControl.h */, + 22D5BC745308F5411ED17E06D53E118C /* LOTAnimatedControl.m */, + 7037C7DD6C8C8FDCC83176ACE9F8EE85 /* LOTAnimatedSwitch.h */, + 95D5672C22E14D3C31706640B8D0044B /* LOTAnimatedSwitch.m */, + F6698A838437C6C569B60EB83737FF6E /* LOTAnimationCache.h */, + AB5EB9615015D55AA7C5B3429ED91C84 /* LOTAnimationCache.m */, + 4CF915B34E645E02A7C5565651CEDFE4 /* LOTAnimationTransitionController.h */, + C5367EBAA085E256AAFF13F949480AAE /* LOTAnimationTransitionController.m */, + 8234676B075F18379492484095EB46E0 /* LOTAnimationView.h */, + DA96BC7C8445BF9C096712E02645C813 /* LOTAnimationView.m */, + 959570B69E3D0CAAA1DA7FEBC10C143E /* LOTAnimationView_Compat.h */, + 5023D914ADE908BD09333AC1651F50C7 /* LOTAnimationView_Internal.h */, + B7AAB2720C1E80E869F58A8C2A6B4EF5 /* LOTAnimatorNode.h */, + 6A98CF39CDBA5939DACE3FC00D87DE0C /* LOTAnimatorNode.m */, + 56187865DCD290495F8521B2C5578CAE /* LOTArrayInterpolator.h */, + 169BDC417E3E8E68F93E89AF317708A7 /* LOTArrayInterpolator.m */, + 6D92C42BCBDF47945BEA017109BEFEA3 /* LOTAsset.h */, + 35C86A5B40D4274E45F77E2638A2D04A /* LOTAsset.m */, + C20BE273BDDBA6206C62B8CF6E5BEE36 /* LOTAssetGroup.h */, + 01ED90D1644D01C0F7A2766D7D759E2D /* LOTAssetGroup.m */, + F2F34060ECDD4BF42444A2B5C26D61D8 /* LOTBezierData.h */, + 89FFC303181387FDCA04EDCB597CCB4C /* LOTBezierData.m */, + 89C34A9D1BBDC3F65CF5B6B8EDFF2F17 /* LOTBezierPath.h */, + 76C397DA2C55E84AA4C076FECD82E63D /* LOTBezierPath.m */, + 308E8AF1CAD818F2AE6C77525DA8DB1B /* LOTBlockCallback.h */, + 33C72D183DB5C9B9DB91FE57FC626FDB /* LOTBlockCallback.m */, + EF661261D0DA5383378F9EE39C99BCA7 /* LOTCacheProvider.h */, + D60E49057918E38112715C0D39836BE2 /* LOTCacheProvider.m */, + 1E2880E8283E55FA4520EEE39CB7B376 /* LOTCircleAnimator.h */, + 0760A17DB776D9144244C60AF0BE67D1 /* LOTCircleAnimator.m */, + 8C762DB9C74DDF0CBE4285AA8731688D /* LOTColorInterpolator.h */, + AF6645E2F04BC8CCC086A528F8B6AE3F /* LOTColorInterpolator.m */, + BB5E7D2E64919C5C20CD375198A8AAAA /* LOTComposition.h */, + F396DC12D749CB5B14B2A1F76D9DE6ED /* LOTComposition.m */, + 226A5671D1A96ABE4CECB0B87D5506DB /* LOTCompositionContainer.h */, + E6E940C320CBCDC064BB78A7361BAB82 /* LOTCompositionContainer.m */, + 04DAAE74DF86DF1150A3304F46E679FA /* LOTFillRenderer.h */, + 9066E09A2CBD4D72B14316FB23020713 /* LOTFillRenderer.m */, + 2EF92139B818DD3662292A745CA29DFB /* LOTGradientFillRender.h */, + E22142EA8500938ACA5B95A186D926B9 /* LOTGradientFillRender.m */, + 11137643AE8FF51B5B06C48F40390BC1 /* LOTHelpers.h */, + B535FF67F3DE5894D6590DC38ACE08AD /* LOTInterpolatorCallback.h */, + BA157A544F7AE9E1A17266A231722213 /* LOTInterpolatorCallback.m */, + 07F65ACC3A3AECB45197FF0FDBE92F7A /* LOTKeyframe.h */, + 0873D918FC28C38DA186B6731642D4DC /* LOTKeyframe.m */, + FBAA1213FDA6BD46D5395E584B1A0D3C /* LOTKeypath.h */, + 1F75533BCB19C86129017345228A7FEF /* LOTKeypath.m */, + 4DBC92886CB3CB8533B34894F12681D5 /* LOTLayer.h */, + 26A43566805A037BFE51F4781135C90F /* LOTLayer.m */, + F64BDB79E6454620F0AECAAB151E7CD4 /* LOTLayerContainer.h */, + E130BD30325D3F77E33E64F720DB6A94 /* LOTLayerContainer.m */, + 0E676D570794FC439396F7E7C3F27474 /* LOTLayerGroup.h */, + CEAF5852931190B60FBE6D5DDCCA9AB2 /* LOTLayerGroup.m */, + 4E3FC4770FFBF9B423E38D3606FF17B9 /* LOTMask.h */, + 407B23110EC61A1182B9A7C213419762 /* LOTMask.m */, + 40641CC6A6B9CA54A50E4CEDA60A6F70 /* LOTMaskContainer.h */, + D2711EF03BAE14B079FD2EE6FF68C790 /* LOTMaskContainer.m */, + 2EED35113F404B2C340F1162274B3C3F /* LOTModels.h */, + 19CDB4CDFCC7F12B0A6CF0D31D29C03E /* LOTNumberInterpolator.h */, + CFBB2C7DEE1826F5F3378E3AE5ACF8C6 /* LOTNumberInterpolator.m */, + 4A0B7129B2E292278658D2C592E71D75 /* LOTPathAnimator.h */, + 6215770D71913087A29E3F886B80F3E4 /* LOTPathAnimator.m */, + 0583D968A57FDB5C589049A6953402C8 /* LOTPathInterpolator.h */, + 367ECBBE70BC4C1AF2ED73C22AB0189B /* LOTPathInterpolator.m */, + 11E9439664D7041E8C865EC2672AE26B /* LOTPlatformCompat.h */, + ABC8E6A208DBBC39291CB23593220FEC /* LOTPointInterpolator.h */, + 54C90FC1786ECDF380F0FDBA2111A15D /* LOTPointInterpolator.m */, + 3251503BBC78AD715F3F32159467C794 /* LOTPolygonAnimator.h */, + 8AF745DEA106858CFA1FAE608438FF12 /* LOTPolygonAnimator.m */, + 80224992DD9DD9E87D9E53F694E447F7 /* LOTPolystarAnimator.h */, + B804E6931E81A1E03DE7F65B926892A6 /* LOTPolystarAnimator.m */, + 033A896FFFA200730CD806B7341F86CF /* LOTRadialGradientLayer.h */, + FC0574AA48593FBAFB0C265B4628733C /* LOTRadialGradientLayer.m */, + F8452E11F8C102127FB0AAC7BDB34676 /* LOTRenderGroup.h */, + DB6089120197089E59CEBF3720C5423E /* LOTRenderGroup.m */, + B73956A0042D31E6C4F37104CDDD3A52 /* LOTRenderNode.h */, + 2728E710461EE5BAA5B123D4B2C436AE /* LOTRenderNode.m */, + D41747E9CEBE6E96143D7BCBF29B308C /* LOTRepeaterRenderer.h */, + C51CFAFFEF7C2C06682927CEDB7EFCA8 /* LOTRepeaterRenderer.m */, + B7934C0E81F43F17B6FA03585129D6C2 /* LOTRoundedRectAnimator.h */, + 34C0510DA5591B0A0AAF0324C35A3C47 /* LOTRoundedRectAnimator.m */, + E1647C1EF5CA7FA99A05527E22204928 /* LOTShapeCircle.h */, + 0FCCFD3DE226412E86843BDD7164CA5E /* LOTShapeCircle.m */, + 1918556AA41E49EDB97E9E1DD549B8A7 /* LOTShapeFill.h */, + 66CC5FF7B8F846295744B2C8757D58AD /* LOTShapeFill.m */, + F03FC1BE8D777ACCCD641F5F25860E54 /* LOTShapeGradientFill.h */, + A79B8FC3A02C8BDCA159A9DE9ACFBEEB /* LOTShapeGradientFill.m */, + 49475EA55F22572DD58F89ECDF8034D8 /* LOTShapeGroup.h */, + F35B09D5B9606D494C177E9C59C4B5FF /* LOTShapeGroup.m */, + 4000F3E90F1F086632650C84EB77EDC7 /* LOTShapePath.h */, + 426BEB1101A93738BCB670F7B19257AE /* LOTShapePath.m */, + D3A61B22A5F5F8A2DE1E308474922496 /* LOTShapeRectangle.h */, + F3A34EE1CD2DED6EECC4600260A66A63 /* LOTShapeRectangle.m */, + 93CA6699685808203553AD1690A375EE /* LOTShapeRepeater.h */, + 04896ED4BE5D6C38B9153E79C92E9591 /* LOTShapeRepeater.m */, + 10034189A51CD08F2A3DE044F9E908AE /* LOTShapeStar.h */, + EE1745E920F12C9FA580A11834A80556 /* LOTShapeStar.m */, + 7B0F2C2B4FC2ED6D39BAF5BB0859002D /* LOTShapeStroke.h */, + 6700D779DCE09A70C73648E531B43548 /* LOTShapeStroke.m */, + 2CF499307C3525026272724A4AF9D91F /* LOTShapeTransform.h */, + 3E7032294CFA4F12B748BC72186F2161 /* LOTShapeTransform.m */, + 91ED8C7990A52A78A8187ECEA5557260 /* LOTShapeTrimPath.h */, + 18B7011A94905143AEF447401F2F7825 /* LOTShapeTrimPath.m */, + 3BA7B602116D91F1691A1C1D17116FE9 /* LOTSizeInterpolator.h */, + 704E11B646BB5F26CF83EB2296FE1AB6 /* LOTSizeInterpolator.m */, + 41AF13E332AD0185C3BAE6F45B0B04C3 /* LOTStrokeRenderer.h */, + 18A5043C4B6871D75B9B7DCCC0651CEC /* LOTStrokeRenderer.m */, + 13064C4ADB4A857638D1EBEB7B5C74EE /* Lottie.h */, + A757CFB83E86528A10326485AA25BF6C /* LOTTransformInterpolator.h */, + 3AC807891205C6C7DB3B49729A4D9BA3 /* LOTTransformInterpolator.m */, + 335F14A562B950036768C583032735EF /* LOTTrimPathNode.h */, + D7F5EAFF9532CB02D31A2F0A786B6C8B /* LOTTrimPathNode.m */, + 6B3EBB8D8669EE976DF82A8EDD890B99 /* LOTValueCallback.h */, + C26BB9DBA4BD80CDCF5332DFD5443590 /* LOTValueCallback.m */, + BE97B2CA124018A6829DB0364924FCF1 /* LOTValueDelegate.h */, + C3CC6A40960E035A876DE307334D43AB /* LOTValueInterpolator.h */, + AC33A4ED0199ABAC70C4A5405E83E4CF /* LOTValueInterpolator.m */, + 6EB1BB77741876D211ABE8874D4BDBFC /* NSValue+Compat.h */, + 7B18C42AF7A11A0B20FE1CE1A6C84A6F /* NSValue+Compat.m */, + 90A4BFC65DF448B795AF128EA5F13C39 /* UIBezierPath.h */, + 16D9BD3C29DF7BB70825ED4E24BF2487 /* UIBezierPath.m */, + E38AA05CE8BF07C4F963F92794253E66 /* UIColor.h */, + 64678B91E6E52E05AF21CBFF3FBDDEF3 /* UIColor.m */, + BDA3906C794E408D169B933623886C0A /* UIColor+Expanded.h */, + BC2558E8F7C6F89D934A8D8C89C81758 /* UIColor+Expanded.m */, + 85A9B2F9935757046D71108D8B9867AC /* Support Files */, ); - name = NVActivityIndicatorView; - path = NVActivityIndicatorView; + path = "lottie-ios"; sourceTree = ""; }; - 8A058E69984D7146FF376F43F296E01A /* Support Files */ = { + 965579C5174537D309A6D5BB9532216D /* Alamofire */ = { isa = PBXGroup; children = ( - 862213A9B1495DCEFB4C0C64E9D7CF86 /* Info.plist */, - 0C2552321F77B96D77A48C55AD32D6BB /* SwiftyJSON.modulemap */, - F8EA9B6FD142E1F4F9B5FE84DC427011 /* SwiftyJSON.xcconfig */, - DFF735F3AD2C69D2DD0BD84D92419A6A /* SwiftyJSON-dummy.m */, - 30B3615E92EC71C3F1789A88CCB83BD5 /* SwiftyJSON-prefix.pch */, - 954D2F76DA9FD8DF196833EEE524C4B6 /* SwiftyJSON-umbrella.h */, + 1A2670B9E5881C22F21D8F0813B85CB8 /* AFError.swift */, + 8B06064F66FA35474BA3C50BF9FC51B1 /* Alamofire.swift */, + 8475BCDF71E9A3157F930A7C9994077F /* DispatchQueue+Alamofire.swift */, + 38E4C5C92A20E2A278898A98D8A983EB /* MultipartFormData.swift */, + D03ECC4E17076018BA84CF807A129013 /* NetworkReachabilityManager.swift */, + 35AACB35406F1B2AE414A4F6EC164F26 /* Notifications.swift */, + A10AED39392EE71F918A3184CA2574BF /* ParameterEncoding.swift */, + 46DF21C0EC88B52D36F4B93FC628C4AA /* Request.swift */, + 21BE0FD97575C4B8F8648F415702A7F4 /* Response.swift */, + 8BC2B09C216DB6FF1860CA79E45D7DF5 /* ResponseSerialization.swift */, + 40E27DA176745D0BD0BC456FFDDFCBF8 /* Result.swift */, + 71B917260447AF5987AB5F2EC8470684 /* ServerTrustPolicy.swift */, + 66B1D06E2BCCDC6DB01A0AD81F32CFA9 /* SessionDelegate.swift */, + E7605DC73E1A50C6C63052378E87AE85 /* SessionManager.swift */, + EC9328E15CC94F9C88956DA3D739F3A1 /* TaskDelegate.swift */, + 23E33F3DFB2801CC2832AAAC0ACC8B57 /* Timeline.swift */, + E9678F935ADB57CB7880CC8D604D4F49 /* Validation.swift */, + E35F41D8CE327DFDF2E966BE434CBF33 /* Support Files */, ); - name = "Support Files"; - path = "../Target Support Files/SwiftyJSON"; + path = Alamofire; sourceTree = ""; }; - 90D7661C8A40123E434D0A6C4EC9CE39 /* Core */ = { + AD7F391A22527E36AA6EDC69A7C6BF42 /* MJRefresh */ = { isa = PBXGroup; children = ( - 52E575055D33688C23C516E85A8EB7D7 /* BMPlayerLayerView.swift */, + D93693DA7A73075F51F45B1F759B2663 /* MJRefresh.h */, + A02630D1EE855AC15F1FF32C78279AAF /* MJRefreshAutoFooter.h */, + E18DFCCEDB29C948C2C5BED93C61DB8B /* MJRefreshAutoFooter.m */, + B92DEF68E0A287F427E9ED1EDCA1D054 /* MJRefreshAutoGifFooter.h */, + 930C38056D213D449AFAC8337EC29738 /* MJRefreshAutoGifFooter.m */, + 113756DE167A2362A92911AB0D74696C /* MJRefreshAutoNormalFooter.h */, + 68BE291526C36EE1D87ED4ECEB10B62F /* MJRefreshAutoNormalFooter.m */, + C0180C1B25451B7FC38E267AB16A3252 /* MJRefreshAutoStateFooter.h */, + EF30CF601F7AB0C59140900FFD222C26 /* MJRefreshAutoStateFooter.m */, + 210AD680E63F6D8E12725113F3D469EB /* MJRefreshBackFooter.h */, + 18A151E9D70A368FEB692F0678049554 /* MJRefreshBackFooter.m */, + 1F53A262726597D17901E9CE46012AAF /* MJRefreshBackGifFooter.h */, + 97230E044589100C70A38F26E27CEB51 /* MJRefreshBackGifFooter.m */, + 6F1F7CBE32DB497A50FCB1331208B807 /* MJRefreshBackNormalFooter.h */, + 881AD6EF51DC08EDB67AD42BCF3BD29D /* MJRefreshBackNormalFooter.m */, + D7AA86E30D8CABD18497E4D78505B4D6 /* MJRefreshBackStateFooter.h */, + CA5509805A53D9B9D6B5ECC927ABCBA2 /* MJRefreshBackStateFooter.m */, + A63F9220F72DF8C05C727233C3B6A858 /* MJRefreshComponent.h */, + D6543789722A7C3A2EA023CF3006F4D6 /* MJRefreshComponent.m */, + B6085B98FBB672FA51F7F0B80F594714 /* MJRefreshConst.h */, + 3503293B41437B20BCC213BAC329889A /* MJRefreshConst.m */, + C4C571C182394008BFA40E6C92F6CC69 /* MJRefreshFooter.h */, + 55C4B370871F8B45FFFA79D46F8BE59E /* MJRefreshFooter.m */, + E642BFB7B69C5A0D1BBFC55C072EBCD1 /* MJRefreshGifHeader.h */, + 6C0CE40DEBA0DD12A22BF841FAFA2614 /* MJRefreshGifHeader.m */, + 4ADF0F1211DAD349D2FB15B056B57272 /* MJRefreshHeader.h */, + 006D08C1B66811CB78C39539E06F0863 /* MJRefreshHeader.m */, + F910B70154A45819A1343C2B04759BCA /* MJRefreshNormalHeader.h */, + 39174E077D1B7E99D9AFCECAC1720680 /* MJRefreshNormalHeader.m */, + 69EE3A74BEDC1D5E819A308564221189 /* MJRefreshStateHeader.h */, + 6AF24E615320E73ABD5F76ECD64C9CE6 /* MJRefreshStateHeader.m */, + 812670303F5FE81D3C4C96ACBC932B0F /* NSBundle+MJRefresh.h */, + 0A4FDBA982D791203E1F2C786C6B0A7A /* NSBundle+MJRefresh.m */, + D50C291D45BC7E68898D97B93E61A225 /* UIScrollView+MJExtension.h */, + 29F9CBB44ABDA066C0E533B406A0FDA0 /* UIScrollView+MJExtension.m */, + A075BD3ABFB8756BFB2F44BE84120FA8 /* UIScrollView+MJRefresh.h */, + 3263DDCD1BBEE6C66FBAD07646B7B8D3 /* UIScrollView+MJRefresh.m */, + 270488D94A9D1CE214E4E634143D27A4 /* UIView+MJExtension.h */, + C37B9D00BC552455CC84403779DAD169 /* UIView+MJExtension.m */, + FBD8E2FD585FB4FD8F7EB233C6740DAB /* Resources */, + E596DA41881CA39F56575A6A263848D2 /* Support Files */, ); - name = Core; + path = MJRefresh; sourceTree = ""; }; - 92B400E5A7D9BD003BF61A97674FB420 /* Resources */ = { + B1CD82EAFEB7764E95844AB141BAC23C /* SGPagingView */ = { isa = PBXGroup; children = ( - 55B831F6AEE5934A25921E021939183B /* MJRefresh.bundle */, + 1B4F6566A265D9F59DB84FCABD28EA49 /* SGPageContentScrollView.h */, + B9869DBCD1EE81144646357A8BCB763D /* SGPageContentScrollView.m */, + 3C05201217EAB2256E2C4120AF221D21 /* SGPageContentView.h */, + AFB0D06E96DE48F7F382ED76A132C249 /* SGPageContentView.m */, + 68122DDE19B26DF805C32C4BBACB7FDD /* SGPageTitleView.h */, + 398B7859FA1ED9CE6B3A893DF92D2B3F /* SGPageTitleView.m */, + 572DAD287373D381E62FDD57C92C31AC /* SGPageTitleViewConfigure.h */, + C8501A5F6D699E9332279482BDF65DB2 /* SGPageTitleViewConfigure.m */, + 463130A67D3E4014611BEEFB8FCF12BA /* SGPagingView.h */, + 2CFA0E37FDAFEE10AF6F6EB7D906BDAB /* UIView+SGPagingView.h */, + 444420FB5FF99CF48641DD592FB7EF28 /* UIView+SGPagingView.m */, + 30EB3D12E83A9B9F929B5365E4F933C1 /* Support Files */, ); - name = Resources; + path = SGPagingView; sourceTree = ""; }; - 963855FEE666A06B5324CD1AB24ABCFC /* HandyJSON */ = { + B78A55C9D70A755459586A4C3772B153 /* Support Files */ = { isa = PBXGroup; children = ( - 59BD0E55F39B7AED73499EA0FC1EC457 /* AnyExtensions.swift */, - 4156FD87E027B3E933D077FFEF82422C /* BuiltInBasicType.swift */, - A5F6D72E418A50740D0AEA0D76E1AD70 /* BuiltInBridgeType.swift */, - 7B2E4E3D789CD87984E6D145BA1929D4 /* Configuration.swift */, - 640F24FC097E24F184AD7ED2BD0B953C /* CustomDateFormatTransform.swift */, - B8383879EDAC4DB4260E546371357F5D /* DataTransform.swift */, - 0091772621F2D2D616DB64C5605C70E7 /* DateFormatterTransform.swift */, - A502ACBEB9E2230805E26BC070F7A27F /* DateTransform.swift */, - 6FD7EB715389F632BBBE45A95ACC2ABD /* Deserializer.swift */, - 701E52A2A396BE62CEE4FFE14CD72B4D /* EnumTransform.swift */, - 25362B715E820CE4468C76AF3AE05360 /* EnumType.swift */, - A004BBE3EC72DE1AEEE77C3ACEB2D932 /* Export.swift */, - FBF18FE6972541AB0258433D0065A9E0 /* ExtendCustomBasicType.swift */, - AF1D6458A5DE801939E90475C79785A7 /* ExtendCustomModelType.swift */, - C417F8DCBC368EDBFB0B22AA954DCF17 /* HandyJSON.h */, - 1B09AE85829096D6E6DCB2C25910015B /* HelpingMapper.swift */, - F9D8896B72FA207034C116EAB8EDFA04 /* HexColorTransform.swift */, - 86BA55241DFAFF360706B7ACFDE8CBC0 /* ISO8601DateTransform.swift */, - 6134ABF753A3BE6C7233AFE6428F6470 /* Logger.swift */, - D3D11C75A4AFF814C8812077ADE53C13 /* Measuable.swift */, - F827EAE5B53C2BE580AB88161540C6B6 /* Metadata.swift */, - 7660AF1A7951DAC43C40D41426C55209 /* NominalType.swift */, - FCAB6A14AF92D727602C89E70266783E /* NSDecimalNumberTransform.swift */, - 10305D9ABD2DC366AD35EDC8CBF583BC /* OtherExtension.swift */, - 8F48D5E75AA04622212BEA429CB0FA67 /* PointerType.swift */, - 8ABEDDB5EF5CA74B99D9DF9261D9ED40 /* Properties.swift */, - B43B445460B045347B346A6D01946C43 /* PropertyInfo.swift */, - 9C962DB60D8CE32304F55FCA075AA101 /* ReflectionHelper.swift */, - ED3F8F82B8600E2BC79FFBD685F43506 /* Serializer.swift */, - AD12E503B92D7B6B0F0CD9ABC6AF35FC /* Transformable.swift */, - E477F9488C576ABC02A36A50F2BDBA13 /* TransformOf.swift */, - A55CEDF1D56F1E448CF6C0D02F5E6FCC /* TransformType.swift */, - 179F1E14E810B50D6AD1875238206208 /* URLTransform.swift */, - 1C6CA87EB4A792DEE1FCF51A81E80437 /* Support Files */, + 41CAEF0219DF297DB5C9C9893EB04A64 /* FDFullscreenPopGesture.modulemap */, + 47AA2746CC04D18AC86351AD7EA76A04 /* FDFullscreenPopGesture.xcconfig */, + 2E39F2424532AA525BA89C265894B9B5 /* FDFullscreenPopGesture-dummy.m */, + 328D920F45936F98E741396D68B016AA /* FDFullscreenPopGesture-prefix.pch */, + 4CDD148E7AE45BC20C1CB93A8C27A61E /* FDFullscreenPopGesture-umbrella.h */, + 0CE4BF46C69FD87A824E92326693828A /* Info.plist */, ); - name = HandyJSON; - path = HandyJSON; + name = "Support Files"; + path = "../Target Support Files/FDFullscreenPopGesture"; sourceTree = ""; }; - 9F4EDBC673A2EA14220F4D1E63F8B4ED /* Resources */ = { + BD924B5297C9C9957BCFE1474F9F7E20 /* SwiftTheme */ = { isa = PBXGroup; children = ( - 28738AB72A3811020BB17E146C4B9AA3 /* SVProgressHUD.bundle */, + AD8BB5F15D84FD8E7DC4690D6A285831 /* NSObject+Theme.swift */, + 75B1EB4E9E7392954C622C1E44E4C903 /* ThemeActivityIndicatorViewStylePicker.swift */, + A6E1709254E6C207F0A9D160F0337BAD /* ThemeBarStylePicker.swift */, + E4FF79063678FA89C91FBDE02A77E0FB /* ThemeCGColorPicker.swift */, + 432ACD5A62CBA88FFC9EF6B3DAECB3F8 /* ThemeCGFloatPicker.swift */, + 5F85CF5555D338AB6724D4601E9EF98C /* ThemeColorPicker.swift */, + 60E749D8A3027F5EEEAE197C7D39D0E1 /* ThemeDictionaryPicker.swift */, + E39AC8B24802B56A28805D0E6F284DC6 /* ThemeFontPicker.swift */, + 094AF28F5114A6B8FB8CFB544B3716EC /* ThemeImagePicker.swift */, + A39E3F8A84E81E962CB0FA50A9A463FA /* ThemeKeyboardAppearancePicker.swift */, + 0BE3C675564604EF8BE3491608F6AD00 /* ThemeManager.swift */, + 5845DC8F1C128150C5C38B55EEB11C72 /* ThemeManager+Index.swift */, + 43060279B561749EE198E8A67AABA928 /* ThemeManager+OC.swift */, + 98AB351201F939C9AC448E30AD6E0F54 /* ThemeManager+Plist.swift */, + 2441AECAC966A445BFE10002F09A0DC3 /* ThemePicker.swift */, + 5E85791BD46D073BEAC391FE812184C6 /* ThemeStatePicker.swift */, + 6667B70E1FC398161C0FA794405ED11D /* ThemeStatusBarStylePicker.swift */, + 592F1DEC765D7B4B31AC29E2408AC6B1 /* UIColorExtension.swift */, + E972C31E4CE1916277EEC507CEFCC1CE /* UIKit+Theme.swift */, + C5D106195894C8BE67D9FDC08595B525 /* Support Files */, ); - name = Resources; + path = SwiftTheme; sourceTree = ""; }; - A78D0B0A1C53984E2F53CDE549557CAC /* BMPlayer */ = { + BE4992A3E9BAAF6582B4EBF919BE70FC /* Resources */ = { isa = PBXGroup; children = ( - 90D7661C8A40123E434D0A6C4EC9CE39 /* Core */, - 53A765452AEC5BE48F3CD55A7F576238 /* Full */, - AD8D6D89897A5387684AC2C00EF14147 /* Support Files */, + A7486C86AE999BB415FF42399CE37A8A /* Pod_Asset_BMPlayer.xcassets */, ); - name = BMPlayer; - path = BMPlayer; + name = Resources; sourceTree = ""; }; - A8D1199847017664119D79860CA5967B /* standard */ = { + C1653B4E941E27C5DA1AA81984A9D6A9 /* Kingfisher */ = { isa = PBXGroup; children = ( - 22BFD17548A0D68024B39C47B8D99C31 /* AggregateFunctions.swift */, - CE3F454C50D97FF78FF5789943EEDD1B /* Blob.swift */, - 4DE5FB3C11805E3EED9E75FC2DC65D9A /* Coding.swift */, - 876E959AC74C7A9D9795BCC831E895BF /* Collation.swift */, - 2BE5FA1D8E2BECCDB2318A076F950F6D /* Connection.swift */, - C52DEF4E1C9B02F53DD65B973213D831 /* CoreFunctions.swift */, - 0775412FA8744446709B2C6F63CA3397 /* CustomFunctions.swift */, - DA0D618A4FC401F6AA7C474803ED3AD1 /* DateAndTimeFunctions.swift */, - C01DD4EBAD3CAF3B9CA8712114A7C4A8 /* Errors.swift */, - 6BFBF02B2FD6D21CD90A88F0831AD533 /* Expression.swift */, - 4EE3A9127234F0040983E2EC02B1F130 /* Foundation.swift */, - 709BABE45724E0A32318BE165B9968AB /* fts3_tokenizer.h */, - E1F467B0CFA31A46463162446F85652B /* FTS4.swift */, - 51F7890C7F1D6AD765CBAC0C0F11897E /* FTS5.swift */, - 396D1D2C395B05198A784BC925140FF0 /* Helpers.swift */, - A38A8F7E962BC4EE25BA8DD2AAF5B7BF /* Operators.swift */, - F6363B62D96F8F9967ADB09607281B97 /* Query.swift */, - 96E7F8C1E7119960E70A1A116543FC6D /* RTree.swift */, - 6D75091822982BA7479BB304118B93CC /* Schema.swift */, - 466139BBCB9AC40E9D142C9A5C4DB141 /* Setter.swift */, - 8699C09F715A641BC89BC4ADF1F4A9B6 /* SQLite.h */, - 991836F58640F387472B7B6614359C0B /* SQLite-Bridging.h */, - B8E2896FA619331595E7FCBF1F49315F /* SQLite-Bridging.m */, - 5E3DBB03DC2FD2A57DA6B443968FD381 /* Statement.swift */, - 5C22487B413EC26513D9199C383D877D /* Value.swift */, + 5758FA653685018C7D8607C4D8DC9A29 /* AnimatedImageView.swift */, + ADD8099291C751292C03028CA44A0204 /* Box.swift */, + EB806739F07C530FB4D4A6A09934568D /* CacheSerializer.swift */, + 99BF5E4F237B5ADB4C2DD3034746A82F /* Filter.swift */, + 9AD31AE7EB118AC4EFF6AF68994115CF /* FormatIndicatedCacheSerializer.swift */, + 999954E09AE3FF87F7EE93180238C781 /* Image.swift */, + 530105EF92484449C3EFD615FDBADD2F /* ImageCache.swift */, + D74EB5E76236AC5A76B7E5219B238847 /* ImageDownloader.swift */, + B3B15D606FD2026BBCBC38C6EA3EF810 /* ImageModifier.swift */, + FE48B347D405F232EEE6BB270F7ABBDF /* ImagePrefetcher.swift */, + B1BDBAB9B56F2E8F9C2D56237BB85FDF /* ImageProcessor.swift */, + ED3630171AB01CEBCD9014A5878C2D9E /* ImageTransition.swift */, + A8491638D221CA46DADADC2520D74D95 /* ImageView+Kingfisher.swift */, + 7453C4D418ADA0327E5DF087A0E41443 /* Indicator.swift */, + 88037A3F1F5B170AFF4A7BF4FFA40416 /* Kingfisher.h */, + F75D85395CFB1475689C2E8E0A4ABBFE /* Kingfisher.swift */, + A2C5125B50A24387FF7B3F51B3B95E73 /* KingfisherManager.swift */, + 8D56CFAF9082412B8010BB2EBE4AA42B /* KingfisherOptionsInfo.swift */, + CAE25BD299E8315FE7661454EA61092F /* Placeholder.swift */, + 416EA2ABAA912C2DFF4112C7E6B53757 /* RequestModifier.swift */, + 096ED65BA30877202082792141B97773 /* Resource.swift */, + 105CD321C127A6648D6C1E9145AF782E /* String+MD5.swift */, + B0638F98C185EAADFBECA7D84568C38A /* ThreadHelper.swift */, + 04E6A1714DA9F362583C70FFB2F95DFF /* UIButton+Kingfisher.swift */, + 6227ABA13AF7A62C42F926051579DDB3 /* Support Files */, ); - name = standard; + path = Kingfisher; sourceTree = ""; }; - AD31789E6602D231BD21C1947A6C68D7 /* Support Files */ = { + C5D106195894C8BE67D9FDC08595B525 /* Support Files */ = { isa = PBXGroup; children = ( - 7EF44E898E13DE028D976A03505C9705 /* Info.plist */, - 6A7FD03579105CC979FBB9B4A6D371E7 /* lottie-ios.modulemap */, - DD27B03334566028663D2FC09C5C2A8B /* lottie-ios.xcconfig */, - FAF5EE40838C21CFE75217CC0444F49A /* lottie-ios-dummy.m */, - 3A986271039859B1FCDA84B373B06D4D /* lottie-ios-prefix.pch */, - BFDD8B256B99FA51B9A5CC378ACF3212 /* lottie-ios-umbrella.h */, + DD3A9AE010B6602B375541B088F29FB0 /* Info.plist */, + 9756C849E849CAAAE0CD4C31365F01EB /* SwiftTheme.modulemap */, + C1383C2A1C4DDB15B4D8904185FAB90C /* SwiftTheme.xcconfig */, + 1A0FEA5F9843EADC4D4B73E71096FDF9 /* SwiftTheme-dummy.m */, + B7E809019A77CBA3EDCABD62EA6CD9F0 /* SwiftTheme-prefix.pch */, + 3CE8935D811FD62C8FA1CF6256AF37BA /* SwiftTheme-umbrella.h */, ); name = "Support Files"; - path = "../Target Support Files/lottie-ios"; + path = "../Target Support Files/SwiftTheme"; sourceTree = ""; }; - AD8D6D89897A5387684AC2C00EF14147 /* Support Files */ = { + C6517495CD5FC384C0568A8A599A902A /* SnapKit */ = { isa = PBXGroup; children = ( - 54A0F15813FE6291D7A9A6230C0E5D57 /* BMPlayer.modulemap */, - 503D2A56C7F31106F49E1FFEB1D8F18F /* BMPlayer.xcconfig */, - 86B6E2EB2A20EC3A39358FE69BF3C6FC /* BMPlayer-dummy.m */, - 1E4D332B367E54401BD33230AD29A953 /* BMPlayer-prefix.pch */, - B8926019ADDD1C67CB4EDB19F4450337 /* BMPlayer-umbrella.h */, - F5F9997224AECF909F02F45AD7B56DE9 /* Info.plist */, + 05708780DE05AF5DED1436B32CBD8B89 /* Constraint.swift */, + 3519F83688BAC79D81F96498C52D94AC /* ConstraintAttributes.swift */, + 50F995B916B8DF42E9C344A3D26113C7 /* ConstraintConfig.swift */, + DACEBF23DDE3154DDDC8CF6B36C81519 /* ConstraintConstantTarget.swift */, + E97B827A866105C835FD096380705CE7 /* ConstraintDescription.swift */, + CBC39D64DEF677071DC9B55294A35E07 /* ConstraintDSL.swift */, + C588B32D2F99FDE723482533438EC6F3 /* ConstraintInsets.swift */, + 7F8A40533ECA9BA5BF58C431221DCAA2 /* ConstraintInsetTarget.swift */, + 6967C164D7D75419611C4BBB99072379 /* ConstraintItem.swift */, + 9E64E7C4F7021F47558470A4FC51069B /* ConstraintLayoutGuide.swift */, + B810B1C430BA2E6F5FCD1C68AD10E812 /* ConstraintLayoutGuide+Extensions.swift */, + D3BD35AFC8FDC0617CC5D7E80767AF96 /* ConstraintLayoutGuideDSL.swift */, + B7EAD1B750089D06C1F60E218C238C7F /* ConstraintLayoutSupport.swift */, + A42598ADE287EBD5A63385CA70401CA0 /* ConstraintLayoutSupportDSL.swift */, + 5E7FDFB6FF222C20A7E47A1BC5B9DD6F /* ConstraintMaker.swift */, + 9E395C01DAD7667EB3F836923CF4620D /* ConstraintMakerEditable.swift */, + BC756AA74990BD8038ADE96C4914EF2D /* ConstraintMakerExtendable.swift */, + 7E3960071DEB42B7E1720302BAC6B443 /* ConstraintMakerFinalizable.swift */, + 75BC5B6669C6AD20FB5BEAD21C79982E /* ConstraintMakerPriortizable.swift */, + 55FB3D5208D8CBDD7803DDA5F636898B /* ConstraintMakerRelatable.swift */, + 01CA2ACBFBA9681986447CE4D3FA6076 /* ConstraintMultiplierTarget.swift */, + 30170E00E03894389F070F998564D575 /* ConstraintOffsetTarget.swift */, + 854CA1B5A251A220252626547D0D0328 /* ConstraintPriority.swift */, + F5AC6A66B088C5B2178F8231384D6EFC /* ConstraintPriorityTarget.swift */, + 81DEF3FD04E77212885257754C1BF937 /* ConstraintRelatableTarget.swift */, + 2C6A6449A73D512BE7E821CFB27999CC /* ConstraintRelation.swift */, + C9B545B7A152AD343D93F7CF0C41AC7C /* ConstraintView.swift */, + 0561DD43EAAD0FF1C41DF8A4C64BDFF1 /* ConstraintView+Extensions.swift */, + 90118A8FD60D89979B1461FE3C4D3B23 /* ConstraintViewDSL.swift */, + D31F70AD8ABA26FD491305AF773AB9A6 /* Debugging.swift */, + 50BCB5AAF2705CBCFA657E03B8F42746 /* LayoutConstraint.swift */, + 0A40DA1BD376E21A8B955044E6A837E3 /* LayoutConstraintItem.swift */, + D46CA2EE93DCC56202B291240EE10B0E /* Typealiases.swift */, + 345D5C0F59CB0D5CEAC3F66831227E22 /* UILayoutSupport+Extensions.swift */, + E4EF08CC811E3CA2F5FC92E6F3FA1FF8 /* Support Files */, ); - name = "Support Files"; - path = "../Target Support Files/BMPlayer"; + path = SnapKit; sourceTree = ""; }; - BB9B6ED7BEB8BEAB291F38376D3F2E48 /* Kingfisher */ = { + C78BCE261DC72F519F0A0CA56CD1B822 /* FDFullscreenPopGesture */ = { isa = PBXGroup; children = ( - E7DE4CD975C2B28EEC3FEC3879E0DFEB /* AnimatedImageView.swift */, - 93AD44753EA9D19284DDF9FAB5E4906B /* CacheSerializer.swift */, - F42D0FEC5A6CE394A8DB40B6770B6E04 /* Filter.swift */, - C617368E835CFF3AC1EE69A7FA9593BF /* FormatIndicatedCacheSerializer.swift */, - 9AADAE4E81050D53BB8968F84B257420 /* Image.swift */, - A493C56454669BD1F6AB1668787D9F35 /* ImageCache.swift */, - 00E2D1CF190C677489B8F7AB63480C8A /* ImageDownloader.swift */, - 7C9A7E4F141E41A9851EC7AF36D34EA5 /* ImageModifier.swift */, - 40B59B3E1D4C9440632B6ABACAFABC34 /* ImagePrefetcher.swift */, - ED59BE9A6874FAFADB08C3CDCB4CF61E /* ImageProcessor.swift */, - 54B23FAB5F2E33BFB7C67CE05AAB4300 /* ImageTransition.swift */, - A0B6434494D90B07C16E64B05DA0514C /* ImageView+Kingfisher.swift */, - DE6E99F86374C2067ADE5E13BC6B3197 /* Indicator.swift */, - 4DD9B230384B15B44E7EC5E792B52977 /* Kingfisher.h */, - 388184AD4C48733E83CB6051AE641421 /* Kingfisher.swift */, - 0FA9A0352B9FF0DCCACCCC9BD526E13B /* KingfisherManager.swift */, - 35218EEE27C3E69FC09FFB5757813893 /* KingfisherOptionsInfo.swift */, - E3693F58675AB909752C51A9129BADE3 /* Placeholder.swift */, - 6F5C4BFFDCBA16C84F74B6E39D87B199 /* RequestModifier.swift */, - FAFF2CE14AF6D4795A112A5779E1AABE /* Resource.swift */, - 740F848D4A36AA052A9EF6E9F89E49F2 /* String+MD5.swift */, - A9E446F6188BD52B41F15C02E54952C3 /* ThreadHelper.swift */, - 6AD4211DE3F25E72943D4BEF127AF795 /* UIButton+Kingfisher.swift */, - C756208B39B67DFA3A0AD1F71924B884 /* Support Files */, + 01F7DA439F38212DD0D8929346DEC6D5 /* UINavigationController+FDFullscreenPopGesture.h */, + 8BC40C9A083ACADE7648BC3F68984328 /* UINavigationController+FDFullscreenPopGesture.m */, + B78A55C9D70A755459586A4C3772B153 /* Support Files */, ); - name = Kingfisher; - path = Kingfisher; + path = FDFullscreenPopGesture; sourceTree = ""; }; - C02E1666A5A481D5291CD400A754F7ED /* SwiftTheme */ = { + C84714E22D56D8684F02019BD6A34516 /* BMPlayer */ = { isa = PBXGroup; children = ( - F5AF3695F0EE72094A95E128FD82CBCF /* NSObject+Theme.swift */, - FF9FB1B3F7CCB541FA0267781F83F6E5 /* ThemeActivityIndicatorViewStylePicker.swift */, - 6278DED1E5E256A728B4F22B1473CB3B /* ThemeBarStylePicker.swift */, - 86527B12A31E2ED4657C2C7B994F403B /* ThemeCGColorPicker.swift */, - 09ECCE2070D0AFFD99AFBDACFF1EC32E /* ThemeCGFloatPicker.swift */, - F1FD99C97DD722C593B72387D56F1825 /* ThemeColorPicker.swift */, - DC6D5887C9F3EEE88A9460695B1052BE /* ThemeDictionaryPicker.swift */, - 94FC52153FBD7722B7ECD262A438FF19 /* ThemeFontPicker.swift */, - 3438E278B2191E1C83A0F8A286F2ACFB /* ThemeImagePicker.swift */, - B693819641A41FA930CB97C57B7EA3E6 /* ThemeKeyboardAppearancePicker.swift */, - 9D3AEDA50A1CE92623516D405AF586A3 /* ThemeManager.swift */, - 031A0A98B751ADE6C79919ADE0ECCBAC /* ThemeManager+Index.swift */, - 02EF30EDB2722368674A603DCFC14E54 /* ThemeManager+OC.swift */, - E398685A65D0F7468D3D8E149AF036CE /* ThemeManager+Plist.swift */, - 58EBD2AC5E0CF287D7EEFFE55C14E777 /* ThemePicker.swift */, - E2C2E6633D236FB94145B6D77C6871B0 /* ThemeStatePicker.swift */, - E51685BF58FEF499CB22A9CE8DDB4213 /* ThemeStatusBarStylePicker.swift */, - 8EF6110A4D24FA9BA545361C9F94EE7B /* UIColorExtension.swift */, - E3DC5B93846D68FEAFEB9BA396458125 /* UIKit+Theme.swift */, - D1640B1C411283E1F4B48C1FD7632D16 /* Support Files */, + E9C1949FA84C0CF5EB4EADA4E44EF99E /* Core */, + E473BA1C85F9C366C9F7D98D4D3BE200 /* Full */, + 222E2694CD1CD5D75D1644DB9DDD6B58 /* Support Files */, ); - name = SwiftTheme; - path = SwiftTheme; + path = BMPlayer; sourceTree = ""; }; - C756208B39B67DFA3A0AD1F71924B884 /* Support Files */ = { + CFC5253F71C10980DB28866B2A9389D5 /* Support Files */ = { isa = PBXGroup; children = ( - 065759FD81B9F8A11BA8512935E5558A /* Info.plist */, - 4BBDDE62DB3D19ED3528D9B85A80A3D5 /* Kingfisher.modulemap */, - BC001E848546222EFF535823A8A70709 /* Kingfisher.xcconfig */, - 7C71DA4B3D5A8B1A6042DC9552B0DBAB /* Kingfisher-dummy.m */, - 511B743B9ED31717D6E543D3BE26720B /* Kingfisher-prefix.pch */, - 9070843CE20D7F3A369FE4E0335E08BE /* Kingfisher-umbrella.h */, + BA5FAE1000E1D609B97099172E10755C /* Info.plist */, + DA1E975D313D73E3D49F4D489EEF4AF9 /* RxSwift.modulemap */, + 8C4F1465D3C7B34C4A719DD19F0552A2 /* RxSwift.xcconfig */, + 6ABA735DF69F0869B44E5DBC5CFF4928 /* RxSwift-dummy.m */, + B27600F0D57A15913A4E8DC2804CCA1B /* RxSwift-prefix.pch */, + DD6C952F30AA030D278AAF15B0BDEC13 /* RxSwift-umbrella.h */, ); name = "Support Files"; - path = "../Target Support Files/Kingfisher"; + path = "../Target Support Files/RxSwift"; sourceTree = ""; }; - C7D4816A807938AD0CC022B0E3563DCC /* Support Files */ = { + D1F246A950E4FD418A67F0D7A3227628 /* IBAnimatable */ = { isa = PBXGroup; children = ( - BB2C056B3BCE57062636030390F85B3C /* Info.plist */, - 8002AD4FB360150E21916C41483BD549 /* RxSwift.modulemap */, - C02661120B6B034150C7D9F8F8A17144 /* RxSwift.xcconfig */, - 260F5F2ACC19C38EC2779233AFE3EEFD /* RxSwift-dummy.m */, - 1F37113383666D43DBF467A4B17C8B6F /* RxSwift-prefix.pch */, - 1A41B82129142670872F3A6F7FD0597F /* RxSwift-umbrella.h */, + 3ACB16ACA77EC7DC1DF6EC9F9CCE1CDF /* ActivityIndicatorAnimatable.swift */, + 43DD4975593170158E26400658C089FE /* ActivityIndicatorAnimating.swift */, + 3EE90EA0775691569CA23DCB7252334A /* ActivityIndicatorAnimationAudioEqualizer.swift */, + 87AFAC0DC05D8C4EEB92B53AF8B0B90A /* ActivityIndicatorAnimationBallBeat.swift */, + D5F4D28CB6F97F3B30023EFDB5BBD2EB /* ActivityIndicatorAnimationBallClipRotate.swift */, + 5115EDB5755D08D0D7744B4FE68D1231 /* ActivityIndicatorAnimationBallClipRotateMultiple.swift */, + F0DE86FBE737E5E95B6C0930F5737B23 /* ActivityIndicatorAnimationBallClipRotatePulse.swift */, + 5B99DFD72B1F0ABD76F9D3D6F6CB4DAD /* ActivityIndicatorAnimationBallGridBeat.swift */, + 8B38B0616450950F311D0BB8B741F16E /* ActivityIndicatorAnimationBallGridPulse.swift */, + AC60382F64D552E53E78EE7FE1D8ED67 /* ActivityIndicatorAnimationBallPulse.swift */, + D2AC5CAB2D863497E8BA212CDB3541B5 /* ActivityIndicatorAnimationBallPulseRise.swift */, + 5E40C11A8EFEB738DE424DD6DA74DA73 /* ActivityIndicatorAnimationBallPulseSync.swift */, + 17C2B7E4C3336222755DD7D00856BC9A /* ActivityIndicatorAnimationBallRotate.swift */, + 6DA4BA3E64A85A92723110D96BF08883 /* ActivityIndicatorAnimationBallRotateChase.swift */, + 6B01676BF4480669DB9E3452EC1CED74 /* ActivityIndicatorAnimationBallScale.swift */, + D58FBC05E2A58E7D049CC776D61FF76E /* ActivityIndicatorAnimationBallScaleMultiple.swift */, + 5E6F333E417C8EADCBB7A49026B86C6D /* ActivityIndicatorAnimationBallScaleRipple.swift */, + 33FF65ED3670D4AA434D31BDE271DEC0 /* ActivityIndicatorAnimationBallScaleRippleMultiple.swift */, + 05F2498B4C279CD4AAD2A1948234726F /* ActivityIndicatorAnimationBallSpinFadeLoader.swift */, + 9B10AD82E74DCE52A253046A71864C99 /* ActivityIndicatorAnimationBallTrianglePath.swift */, + 129C8B9834E29E580E09B4D586AEC546 /* ActivityIndicatorAnimationBallZigZag.swift */, + F7E24560CEF0970C4B696ECC807E7A8C /* ActivityIndicatorAnimationBallZigZagDeflect.swift */, + E483D167869BA92F5B30F61B9EBEFD2A /* ActivityIndicatorAnimationCubeTransition.swift */, + 2F0EC520578456B56E729B255213D7AE /* ActivityIndicatorAnimationLineScale.swift */, + 8760EF5A93A354EE67961E19434C3493 /* ActivityIndicatorAnimationLineScaleParty.swift */, + D868BEB0022E6C40008D053B2B38C2FF /* ActivityIndicatorAnimationLineScalePulseOut.swift */, + D07299D7B02F1283B84EAEA07498DBD3 /* ActivityIndicatorAnimationLineScalePulseOutRapid.swift */, + 17C9E7B67A2EE0FC46090B81A71B3FA7 /* ActivityIndicatorAnimationLineSpinFadeLoader.swift */, + D57541BEE868A68A15A87E2EE9C8E3EE /* ActivityIndicatorAnimationOrbit.swift */, + FAA7FE263028F91E75B5B1ECE17F7110 /* ActivityIndicatorAnimationPacman.swift */, + 8DF20C59F654534E595AD84A0C644F16 /* ActivityIndicatorAnimationSemiCircleSpin.swift */, + 79E794612E4F1AE2008DDE7216448CB8 /* ActivityIndicatorAnimationSquareSpin.swift */, + 0E95971092184128EB2C2753331D0436 /* ActivityIndicatorAnimationTriangleSkewSpin.swift */, + 68757E28F2CD15B1CB727F3A9B99EE28 /* ActivityIndicatorFactory.swift */, + 1CA5F8A15EBC2CFF54C945D571EAFB95 /* ActivityIndicatorShape.swift */, + 6FB1FBB4EC817CA9A8741BBED466B240 /* ActivityIndicatorType.swift */, + 19A07F2E53385E3AAAD8B284EC136D18 /* Animatable.swift */, + 17B022E3DEC0927DD8B9628D76EEF8C7 /* AnimatableActivityIndicatorView.swift */, + 3D70961927FBAEAE99C4A0BB9A0D93B5 /* AnimatableBarButtonItem.swift */, + AEE2D9D8ED0FBA802BF75B6DD451C277 /* AnimatableButton.swift */, + 140ACCCC61827B42E09980DDEEBCE5D8 /* AnimatableCheckBox.swift */, + 69BF92FC95CF33E07E808E437E4078B9 /* AnimatableCollectionViewCell.swift */, + DEA377172CD15DBC10F25B8B2D8B9E29 /* AnimatableImageView.swift */, + FB1B7FEAF6B9DBF10BD8E2992656630F /* AnimatableLabel.swift */, + F57DB022248EA02BA03929B8B69754DD /* AnimatableModalViewController.swift */, + C337AC08167594DB4AE2F93638A20230 /* AnimatableNavigationController.swift */, + 4BE5684ADFFBC44EF4630730D13BDE48 /* AnimatablePresentationController.swift */, + BEA555E87DFB3F807F5CE800D32CA485 /* AnimatableScrollView.swift */, + 4DD7A37BA0EAE534730B89DA53DA2093 /* AnimatableSlider.swift */, + F025481B57CD36B2A8A26D8F46A0E26A /* AnimatableStackView.swift */, + 0454AABCB7B80F307C522AB3E8ABC65D /* AnimatableTabBarController.swift */, + ABEE26B0134526D3FD148EBA26E9C26D /* AnimatableTableView.swift */, + 4015E96E76A4781A15D4733A97BAEE1B /* AnimatableTableViewCell.swift */, + 841C4BC21E9AECDDE37CB0EBE0BCCCE8 /* AnimatableTableViewController.swift */, + 46C2480D7415560767CD6198478C8EC5 /* AnimatableTextField.swift */, + 6E5DBF0FB6B864651193FB6078C4D55C /* AnimatableTextView.swift */, + F9F87A1AAC997B363BE129E8CCFEC71E /* AnimatableView.swift */, + D01C986FDF014864D7FB3C95725E59FE /* AnimatableViewController.swift */, + 0F19B157102AE66F7D465C28A91FDDCA /* AnimatedPresenting.swift */, + 7C30AA4805C805B9B7DF89C80F35E084 /* AnimatedTransitioning.swift */, + 425BE6B170368F7BF7632FFD5146C9BD /* AnimationChainable.swift */, + 5AF6CA7BBB015B276071840A36B65889 /* AnimationType.swift */, + D47DB34B894F1A462126AD1896534108 /* AnimatorFactory.swift */, + 561F965D3F0B38F15A19711A23EC769F /* BackgroundImageDesignable.swift */, + 21DB9DD726BC4891A280CCCDB387D234 /* BarButtonItemDesignable.swift */, + 0A6D034D6B9561C5D3847241097EC8BD /* BlurDesignable.swift */, + C59A2BD514134A1D93F286F2EDF692E3 /* BlurEffectStyle.swift */, + 717F030078D1EFCEAB156CAEAD87C3FC /* BorderDesignable.swift */, + 18BB05CCB1A9DED04A0CA7F42C89B868 /* BorderSide.swift */, + E1179D6431554D10179E1D97CF0276E1 /* BorderType.swift */, + 07CEBF2EFD8D339657EDAC9EC6375B2A /* CALayerExtension.swift */, + 997FB0859B92988AE2A5039602C56954 /* CardsAnimator.swift */, + 15CEB98B3C4079ED8B1F13BB265A8134 /* CheckBoxDesignable.swift */, + 007AB89F7C2377B642A9496D54176E48 /* ColorType.swift */, + 67257F0493C313AFB30213A477D40A25 /* Constants.swift */, + 1D2AD0BE3DDBBD5D4E5D9DAD293FF7FE /* ContainerTransition.swift */, + 71704ECF16D98E27F099E453EE881A48 /* CornerDesignable.swift */, + 7595EF44D5F8A16CCB4D3645C921FD5C /* CornerSide.swift */, + 79826CC0CAEF0A8D81E0235D0292CDD5 /* CoverAnimator.swift */, + 141CE0861745848B89970AACDC0A4476 /* DesignableNavigationBar.swift */, + CA572113D06B64454BE1A0F50BFBBAB5 /* DismissSegue.swift */, + C7BCB1BCB86175B5C80291408455A20D /* DropDownAnimator.swift */, + 1CFD2D2D7D2607D4ED17BFD2631E75BA /* ExplodeAnimator.swift */, + 757829DA2ED46B93B7A35FC27BAC4951 /* FadeAnimator.swift */, + E18DBDDA257BEA25E7A1E8BD9161465A /* FillDesignable.swift */, + EC87A36D1C173B54D3BE3649CBD0DF19 /* FlipAnimator.swift */, + 1BE1DE48E29CAE28AD0188B1748FD99C /* FoldAnimator.swift */, + 0B271A65B90855DB46E2EDD9AECCC475 /* GradientDesignable.swift */, + CF0FDC14F823023EEEC8DC01949BD3DA /* GradientStartPoint.swift */, + A7346BFE37010DBDA624BD7FBF75384F /* GradientType.swift */, + 90EBA0C7AFC48D2F884DC03B57E114FD /* IBEnum.swift */, + 38A06EA1567935F8EDAFC29DBF770E9B /* InteractiveAnimator.swift */, + C1D117DE5265E1F1E0C5F52A29AD42AD /* InteractiveAnimatorFactory.swift */, + 1B89F255263D22BF16059A33615AE081 /* InteractiveGestureType.swift */, + 8072F944BDD81CC42410A29EBCFCF844 /* MaskDesignable.swift */, + B255259B19B7008499A0DEF4DDAA7C04 /* MaskType.swift */, + 7306673949C7A4E3B6123476659E0A32 /* NatGeoAnimator.swift */, + 287E566DE7E6D91534C924B14B39212B /* NavigationBarDesginable.swift */, + 5293E62D6725229571CEA65DAC9B2DEC /* Navigator.swift */, + 9F53744899DC8FD76805AF2C4ADF2E6C /* PaddingDesignable.swift */, + 62BE7CD907AC6AB9BED4D0D08A9E10C1 /* PanInteractiveAnimator.swift */, + B9A0013892CECED728CF0E4D22656EDA /* PinchInteractiveAnimator.swift */, + 6330689B1BD22215D1DCCFF57DB35B33 /* PlaceholderDesignable.swift */, + 941B3775F774C72A22534641B9C336AF /* PortalAnimator.swift */, + E8C66F049DF0D127374FD3B26F90337F /* PresentationAnimationType.swift */, + 21F5B2CB19BDF9527AA1C48E583A8B47 /* PresentationBackgroundView.swift */, + 17413B60A0B63B4634313EA11B706DB4 /* PresentationDesignable.swift */, + 5808215369F555A801134C53C96D6AFD /* PresentationKeyboardTranslation.swift */, + EABF4075B14C3962DB5EA4AAC03D9958 /* PresentationModalPosition.swift */, + 31E29E0240B38CF460902B3D216B7E9C /* PresentationModalSize.swift */, + ACA550BBFD505276BE63CD6DBDF1277E /* PresentationPresenter.swift */, + 131A7015CD2D8E822B090F7ED38E49CC /* PresentationPresenterManager.swift */, + E6AF64320CEBE5513418E808F4D8389D /* PresentCardsSegue.swift */, + 5FF962425D66E1C93EEF823B01FF6DDD /* PresentExplodeSegue.swift */, + C587BD9729D445C81E6286C78980290A /* PresentFadeSegue.swift */, + B4E47D79C606D1F3C6E015DF8E1D947C /* PresentFadeWithDismissInteractionSegue.swift */, + 91793FC332F184B2765E9F1FE8B4439D /* PresentFlipSegue.swift */, + C6245E2826F891C6354598E64A54948B /* PresentFlipWithDismissInteractionSegue.swift */, + 99D12610F3C7E96184BB253381EAAE01 /* PresentFoldSegue.swift */, + 0B5957D4C538B58713FD05FA76DC9C0F /* PresentFoldWithDismissInteractionSegue.swift */, + 20B17F54B12ABE32630E630C2EA56A4D /* PresentNatGeoSegue.swift */, + 839868AFEDE8E91C3BF2557D02C50436 /* PresentOverCurrentContextSegue.swift */, + CCB079B5E568E137CA0A067C26BA991C /* PresentPortalSegue.swift */, + FAE8C74970A59FD814A41E08A793A686 /* PresentPortalWithDismissInteractionSegue.swift */, + D69C4F1A50378DD6B9FA5D1C531464E0 /* PresentSlideSegue.swift */, + DE83E0E889B42CC78E90CD7AB388A4B8 /* PresentSlideWithDismissInteractionSegue.swift */, + A851FBE705F9AB080C3ECF915A92EE62 /* PresentTurnSegue.swift */, + 4581A17B680D06A50A9EC4CFF34D28E1 /* PresentTurnWithDismissInteractionSegue.swift */, + 3A44D9762E0E55A39789A32A7145A705 /* RefreshControlerDesignable.swift */, + 25C7671E04155B1AFCE855D04E677867 /* RootWindowDesignable.swift */, + F03C45D2DFDD86741C0C2B75BF3C35F9 /* RotationDesignable.swift */, + 973F1A324396C0373E192520F04799B4 /* ScreenEdgePanInteractiveAnimator.swift */, + B8BF1382568A0736D5B4CFEC5796B31D /* ShadowDesignable.swift */, + F7033F2E9E72E978C29658DECE7C8DE3 /* SideImageDesignable.swift */, + FC4A60430077CBA5AEFE0482F9B30853 /* SlideAnimator.swift */, + 42252615449A9C5469554DF0149BB755 /* SliderImagesDesignable.swift */, + 5B44F2A3D41FF7BED212AD727067ACE9 /* StatusBarDesignable.swift */, + 8D2ED362A856D584608676D487B876F7 /* SystemTransitionAnimator.swift */, + 3A2B1DFB263B496B224B17EDFF64693E /* TableViewCellDesignable.swift */, + 34625535C08DB8F9C3473B20FC97058F /* TimingFunctionType.swift */, + 53945509DCAF51A8215B0FA83AB8558D /* TintDesignable.swift */, + 6D8D81CF5BB20DEC0CF783E5698D1197 /* TransitionAnimatable.swift */, + E23818E44BDBD1D7B3A42503AB64518B /* TransitionAnimationType.swift */, + D75C5A2211D6B3E7702112A325F1F24F /* TransitionPresenter.swift */, + 76BCD4841795F9DC12742094762007B9 /* TransitionPresenterManager.swift */, + 9D6A26F64EE137440C333FED75E6E318 /* TransitionType.swift */, + 3DC621FA7F983258288A19328BFCDA27 /* TurnAnimator.swift */, + 7173C5FAFE07F645AEF8375753D81F0A /* Typealias.swift */, + FF9F6384E3FA062166D15763888D4B8F /* UIColorExtension.swift */, + F022073EE604F8175D408FDF6C050806 /* UIViewControllerExtension.swift */, + D40E60FACB359347ECD9C41FE10F69AB /* Utils.swift */, + 3FE36C33D886EF7DC64E6ADE85C40356 /* ViewControllerAnimatedTransitioning.swift */, + 475FF71B4D6604579384D486E2AF42D1 /* ViewControllerDesignable.swift */, + A31C947DD35E792803019B4CC74B1F43 /* ZoomAnimator.swift */, + 2E565E04B4EE7D736A987329D0AA3387 /* Support Files */, ); - name = "Support Files"; - path = "../Target Support Files/RxSwift"; + path = IBAnimatable; sourceTree = ""; }; - C86CF478C82CB569A5DD1A2647D0F4C7 /* RxSwift */ = { + D25144862E299036F896C3F7867542F3 /* Resources */ = { isa = PBXGroup; children = ( - 43EEA8401C94C471A8D423EC9D32BA92 /* AddRef.swift */, - 87192F577D49B7A82D2E419B5F00784C /* Amb.swift */, - CD0C4CE0EE52AD17EEE43C4699EC7884 /* AnonymousDisposable.swift */, - FB75F725DFF3A6231C8B9E77685998E9 /* AnonymousObserver.swift */, - 7ECC4727E7FB790A52A8708A4CF3F155 /* AnyObserver.swift */, - 7EFA9638B0189D4C53B25E227B4C379F /* AsMaybe.swift */, - 8BE2D4D474E369DFF9ED04445DBB90EB /* AsSingle.swift */, - 4AD6EC31D3B7AFDF0FC1E67A7F1CB03E /* AsyncLock.swift */, - 08B55C15CBBE0AB6B7F15979EC69AD66 /* AsyncSubject.swift */, - 9157AA6EB606FADF0471ABE3A7F38911 /* Bag.swift */, - C8C345126330F18C9DBDCE398DACAE5D /* Bag+Rx.swift */, - 2274F70E10582AE3A72201560A86CE59 /* BehaviorSubject.swift */, - 7979AF77048894DDDDD59F629236A8CE /* BinaryDisposable.swift */, - 3D5A8F61419381F2EF65A37E479F82C9 /* BooleanDisposable.swift */, - 16DC0CF1E57DA05B343DE6FCB7BECD61 /* Buffer.swift */, - 6DB77932F17051F0479A6BA07E55E754 /* Cancelable.swift */, - AF2C63D11EF5A4F5C09DFA1C20A545EA /* Catch.swift */, - 56E12DA484D22A5F375B1142514DCBD4 /* CombineLatest.swift */, - 1DB1331BF63923BADAC8031A067902BD /* CombineLatest+arity.swift */, - 2C4C5A85A718955DA33F5062BE018BD3 /* CombineLatest+Collection.swift */, - 82B4A242E0BC3BC2581DD1C49FDA6479 /* Completable.swift */, - 768D7FC0C57A35F2913F51053BCCBE9F /* Completable+AndThen.swift */, - F6F7147C345C4CA26C4FDC711CE635E7 /* CompositeDisposable.swift */, - 0AF615DDEBA8A6F3F0601399A19D9315 /* Concat.swift */, - F3133B38DFE470FB97A355E3CB4FA392 /* ConcurrentDispatchQueueScheduler.swift */, - F1450C714ACBEFE5932AA2182729062D /* ConcurrentMainScheduler.swift */, - 8E8C24617A4A0AB8317147F312A9A608 /* ConnectableObservableType.swift */, - E927010B905FDFA7AEC0C40C6AF36853 /* Create.swift */, - 2B5FF2FAAACBBE7BB0DE875DCACA56BB /* CurrentThreadScheduler.swift */, - 42AC69E5CD8A27216BFAA3656E836C31 /* Debounce.swift */, - E1132FB530C9B74CB2E0E96C4F381359 /* Debug.swift */, - 299A2401484C06AFF142211737979A42 /* DefaultIfEmpty.swift */, - 90ADE8E36AF6EC123353DD73029503DB /* Deferred.swift */, - 2AFC82A05E8234A81CB1506B50376394 /* Delay.swift */, - 22CCF47BD82A4560E8CF79FA844D089E /* DelaySubscription.swift */, - E80708EB29EC2E9864E7AE514F4ADA44 /* Dematerialize.swift */, - 1B5AE7D2A4836410B4324A01AF4641B8 /* Deprecated.swift */, - 5D49DD312F1F3BDBAB5286D640AC318F /* DispatchQueue+Extensions.swift */, - 26F152EBEF092CABAADB6AF5258BB543 /* DispatchQueueConfiguration.swift */, - 101D654A5F60FDA6F2BE08E2C47D0359 /* Disposable.swift */, - 406E8D923A8950E30D0E0150CF7B121A /* Disposables.swift */, - 7F6015DAC6DDE41EEB853A84F76714F7 /* DisposeBag.swift */, - 04205A96B0B2EAC5C3854C4FF1DC0007 /* DisposeBase.swift */, - 3F7B15358A6A5A05D801B2BBE80DE087 /* DistinctUntilChanged.swift */, - B837FF1F46B736C372811088956EF18A /* Do.swift */, - 21E3024926AA632789C19CB55B902855 /* ElementAt.swift */, - A7D591588B99792FC84A1188B1B5489E /* Empty.swift */, - 38B7ECDFBCA53EAB96B521E626A78EF0 /* Enumerated.swift */, - BCF6B9ED3081CD0EC6497084A35600D8 /* Error.swift */, - D4A573215CC1819D2D36B2DF6E1B276E /* Errors.swift */, - CCB30807A687ABAD96D6B9D83E1515D1 /* Event.swift */, - 87A1D8342741643911F11578FD99C519 /* Filter.swift */, - CC25C6DA574314C3A91A633B92EF63B6 /* First.swift */, - 0933220A8D6CF0AE38A97800A6EFEC28 /* Generate.swift */, - B7C8FA9770B867603222E31A7C5DB2BA /* GroupBy.swift */, - E83F5E5CF4320121CC5183893D702D32 /* GroupedObservable.swift */, - 437D37DFFA27844DA2B3687557CECD74 /* HistoricalScheduler.swift */, - D6837FCD22ECA1C905F183779B674709 /* HistoricalSchedulerTimeConverter.swift */, - 02BA589C8AD7985615B4DAEF4077CEA7 /* ImmediateSchedulerType.swift */, - 1EA14736959AFCC5BFDF804CEF5A073B /* InfiniteSequence.swift */, - E8D60E910DB94C42FAD397343F767C24 /* InvocableScheduledItem.swift */, - 5311E03BBEEE0942F96678CCB316F9F3 /* InvocableType.swift */, - 0AA8637192A3593DEC13F6CF3D50E265 /* Just.swift */, - BD67C186437143A3B8FC2B851D4D3E10 /* Lock.swift */, - 52A7E25B50868C468EA88CECE97C1F03 /* LockOwnerType.swift */, - 8F73BCA8FEEA753D82D2791ADFAE12E5 /* MainScheduler.swift */, - 4B8EBE8451C20153E2B76BB56733BB1F /* Map.swift */, - 77513784EBB76DD7BE5E4F605570DEDB /* Materialize.swift */, - 0AAA17290F5B4BE76AB85EC5608DC32A /* Maybe.swift */, - 57332798F258CB8528427D41A4FE2DAB /* Merge.swift */, - 47B98CA8621FDE08EDCE55E633A25AB2 /* Multicast.swift */, - D4E9A63ED006B76CD22208FD5D63F76F /* Never.swift */, - 47476DB266A32FB1749C97AC6BE44FA8 /* NopDisposable.swift */, - 52B46C7703F663FC6C8378E170950863 /* Observable.swift */, - D5634F22DABB9AB09D3EAE269A156937 /* ObservableConvertibleType.swift */, - 135DC9A0ADFBB52E74BC80E4DAE986FA /* ObservableType.swift */, - 7A1CD3D434D6242B96BE95DD1D184A20 /* ObservableType+Extensions.swift */, - A0BF37807C32A030BA589DA4324E587F /* ObservableType+PrimitiveSequence.swift */, - 3E9B63B14CDD46F1A404BB7E47EDE9AB /* ObserveOn.swift */, - 317BAB3D75FB5200C7E8602471ECE78A /* ObserverBase.swift */, - E7C5DEEBD8C6947BAD24302EF9A9A3B0 /* ObserverType.swift */, - AB3268EAAB745230B087146F1237F481 /* OperationQueueScheduler.swift */, - 65FE41B91134454998CBBC6B6DB50F05 /* Optional.swift */, - 3A57027B3EE3ED1B6E002C39D6BDD06C /* Platform.Darwin.swift */, - E2A59B0131CD1F8E332B433E07921C38 /* Platform.Linux.swift */, - 624C71F2B840E89E387C38E67ADDDE69 /* PrimitiveSequence.swift */, - 61BCC1A5F825B4AC2FAAD97B49C40FFC /* PrimitiveSequence+Zip+arity.swift */, - F86094751E69A91F85F59402080EB223 /* PriorityQueue.swift */, - 97670459E9DFB20904A35F7E1F069F1B /* Producer.swift */, - 638E3C16C3DC057BDFCB188721ABE7C0 /* PublishSubject.swift */, - CBCEF0D603219AB54A528E03592FA29A /* Queue.swift */, - D1649D48534057ADC59CCB996A4874DB /* Range.swift */, - C6B404FAEA1EAC5043F1DCC920E1230D /* Reactive.swift */, - 51DBE9AA5DFA7FFF26979E0B30D441E7 /* RecursiveLock.swift */, - 8EB6D464697C64BAFFBADA07BF7123BA /* RecursiveScheduler.swift */, - 80B02574B0F8EDCEE7FB168E4A94848A /* Reduce.swift */, - E8FD528629AC282DD4C830341E6C8AF8 /* RefCountDisposable.swift */, - 8846D7B8A473E71D165FD9EA2EC1A17D /* Repeat.swift */, - 58487652BF1A5F3A76121187450C4F68 /* ReplaySubject.swift */, - 7EC4BE2323F5FEE5106974DD88365BA6 /* RetryWhen.swift */, - 9200F311ABA1304FEA2249A57D71FEEF /* Rx.swift */, - 6B99FA02819D274BCFEAE7B2E03CD24D /* RxMutableBox.swift */, - 647D055E65013850F96FEF42A8114945 /* Sample.swift */, - FABF9330BE574E17532AB13030810969 /* Scan.swift */, - AF8AFB5AD504E30CBDE0FD9E490F8EF5 /* ScheduledDisposable.swift */, - EB02CA62FA6DBC783EEC45DD6D40C5D1 /* ScheduledItem.swift */, - 5044484F325158003CF6DA89CC8D42BE /* ScheduledItemType.swift */, - BAEC6E29E295D399DE234A00C4DBD5ED /* SchedulerServices+Emulation.swift */, - 2FACF582BD3B542E1D7FD7965D01E3F3 /* SchedulerType.swift */, - A81251AACCC703824883C8DD0BA3440D /* Sequence.swift */, - 482515FE86647EED72DFB537C0644BD2 /* SerialDispatchQueueScheduler.swift */, - 102DF99F3A9757AD6973CC587516700F /* SerialDisposable.swift */, - 275E0B1A851A23390848AC14266605B6 /* ShareReplayScope.swift */, - 447837C60177C88B8817ED7F1415BE48 /* Single.swift */, - A2D6278CCEB5EE7774C228724F1123EA /* SingleAssignmentDisposable.swift */, - A3EC02F84505CE42A71B96A18AFFED5A /* SingleAsync.swift */, - F3E974CD94C306E0B2A3D8387B28538C /* Sink.swift */, - E9DD3AF0FE0BE9013DE02481B6D6F985 /* Skip.swift */, - 7E001C7667612713192AB3356937E824 /* SkipUntil.swift */, - D54057AA8F728F7E6837E00583DF553A /* SkipWhile.swift */, - 75F45229D339AC713D31EC67F9B1E175 /* StartWith.swift */, - 42B6B52B79F6ECB61721D453BD37CF3D /* String+Rx.swift */, - 40FD269B9433217D87364D90DC69EC5F /* SubjectType.swift */, - A198367C0EABC925993D409EDFC01E1D /* SubscribeOn.swift */, - 7CAEA730BE4995D03D18870CED2B53CE /* SubscriptionDisposable.swift */, - 68668091E8562051C29EEDA31619E2BB /* SwiftSupport.swift */, - 1E71E68BF7B1A461677910CE8E05513F /* Switch.swift */, - 5F98CF6D8514FFD75091F542D35D2D14 /* SwitchIfEmpty.swift */, - E5F8091E798CFE01A256AD2FD41E06AF /* SynchronizedDisposeType.swift */, - 47DE6827D1FBFCE9C5E240260B7DBE8A /* SynchronizedOnType.swift */, - 859BAB63BD39CCE1786554310C6CEBA2 /* SynchronizedUnsubscribeType.swift */, - 6A7A588536307F8A87DA5858B94E8499 /* TailRecursiveSink.swift */, - BCF4173AC5D07724CFAA6FDFD406E259 /* Take.swift */, - BCA3E9AB57C3991F5200992B838DF438 /* TakeLast.swift */, - D85526752632D4DEE57287A9FB8A0848 /* TakeUntil.swift */, - 21C40A2C11D30BB3BE186568CCC4E59C /* TakeWhile.swift */, - 51035AAE611450A0138CE254154955FD /* Throttle.swift */, - 91AAA32D0E73A00478831646174FFA42 /* Timeout.swift */, - 291EB4A7E6FB9B7DDB2D51067623A283 /* Timer.swift */, - 6734E71D944FC9D90BDD99936D771CF4 /* ToArray.swift */, - 55126916D81A175FA85248B5D4F8BD62 /* Using.swift */, - 51CC39B70ADEFC89ABDBFCB9BF3F9839 /* VirtualTimeConverterType.swift */, - E465122B574AC2F6F7D8F53A9A9CE196 /* VirtualTimeScheduler.swift */, - 29973CA06A0614EF8E6205D636A338DC /* Window.swift */, - 0BE0D2B0B8C0D20063ED146DCF1F23D0 /* WithLatestFrom.swift */, - 64B2A4D896157FFEC6EC759B4B79B08C /* Zip.swift */, - 29A76F0CA92615B2C22FBEE806BD58C2 /* Zip+arity.swift */, - ADF7B819AE89961BF1DF1A296E69BA82 /* Zip+Collection.swift */, - C7D4816A807938AD0CC022B0E3563DCC /* Support Files */, + 00B19D41B5B7644FBCDDEBD6C220699F /* SVProgressHUD.bundle */, ); - name = RxSwift; - path = RxSwift; + name = Resources; sourceTree = ""; }; - CC3C464CCBF2A45337E8A2E84F7173F8 /* MJRefresh */ = { + E35F41D8CE327DFDF2E966BE434CBF33 /* Support Files */ = { isa = PBXGroup; children = ( - 78CA669C149747E5167EF3CD7D3188A8 /* MJRefresh.h */, - C1AA7843A6BFD747DD9C1DC93E2042B3 /* MJRefreshAutoFooter.h */, - 204E8238FBB5A2AC371B8D67B1D16277 /* MJRefreshAutoFooter.m */, - CF53C9E3F67E2DA9E89651FED14543B4 /* MJRefreshAutoGifFooter.h */, - 2CDAB81BB64232C238ACE715AB244C11 /* MJRefreshAutoGifFooter.m */, - 37186F6EEBE8581A18482E4E97792E14 /* MJRefreshAutoNormalFooter.h */, - 030824B9D6A184F2A49F2064A02A2BE1 /* MJRefreshAutoNormalFooter.m */, - 7763FEF399E482413A4BF4014501EB2D /* MJRefreshAutoStateFooter.h */, - D8AB319F41741A2FCDA127717BF47999 /* MJRefreshAutoStateFooter.m */, - 86C06DF9D205B7E1B87CE1FA52D890F1 /* MJRefreshBackFooter.h */, - CDFDEBECF8E9E4A48CFB9FAABE187EB1 /* MJRefreshBackFooter.m */, - 43BEAD17B2D9A026AE6D316611C56C62 /* MJRefreshBackGifFooter.h */, - 7E1CBF52C0A0803B1A3494D396E0693C /* MJRefreshBackGifFooter.m */, - EABD61F45BF77349EAE19B84ED9D8FEC /* MJRefreshBackNormalFooter.h */, - C7FBE4E3AF2B856E401875C06CABB3FF /* MJRefreshBackNormalFooter.m */, - E7F07DC136F505E5A51FD912036A703F /* MJRefreshBackStateFooter.h */, - 8FDCE956F4A12C6B92D2309B71AFD544 /* MJRefreshBackStateFooter.m */, - 0A73D20F5EB6F948D6B01F94C372813F /* MJRefreshComponent.h */, - 81EBB1A8AA770DEF23561062C6C66A90 /* MJRefreshComponent.m */, - E95940F3C780FCD923D7EAC9C6829273 /* MJRefreshConst.h */, - 55416E53154761426E08029F47546F3D /* MJRefreshConst.m */, - 7DA24446C530A40CA1A86B34DF9FD5BB /* MJRefreshFooter.h */, - 352FED2A81FB0F84AC203D793E412999 /* MJRefreshFooter.m */, - 6957D16F9D310E2B2A1862A914B71665 /* MJRefreshGifHeader.h */, - 0336129454D6920F71BC61CB97C2A1D6 /* MJRefreshGifHeader.m */, - 840EA27332E1EF7A63B178BBD8E9670A /* MJRefreshHeader.h */, - 0AB6297C3CD6368F7998F7373B9FE811 /* MJRefreshHeader.m */, - CBE408A9BB827639C4CCBDFFE67AA29F /* MJRefreshNormalHeader.h */, - 79E49EB988BB0ECE3365051A6066B49B /* MJRefreshNormalHeader.m */, - C5D2741ED47BC7E864B634A4E34136E3 /* MJRefreshStateHeader.h */, - BCD4ABEE89BECAC34779DB4870B85803 /* MJRefreshStateHeader.m */, - 52452218F0459D0C675B71F7DA10C024 /* NSBundle+MJRefresh.h */, - BDA124F864070C9BB9F94579A16E9ED6 /* NSBundle+MJRefresh.m */, - 27DC22D76C20CC4C5E475D62860B40DE /* UIScrollView+MJExtension.h */, - C756760B5C2D6F888C93CD85E61697F3 /* UIScrollView+MJExtension.m */, - 10DADE548950E2183AEF492669FC6181 /* UIScrollView+MJRefresh.h */, - CB3D11915CFE3972D89790BC72CA9369 /* UIScrollView+MJRefresh.m */, - 0F808464614F916693212A4BEC639ECB /* UIView+MJExtension.h */, - 7341C47DB244C2DFD49E11E8136F4808 /* UIView+MJExtension.m */, - 92B400E5A7D9BD003BF61A97674FB420 /* Resources */, - 82C48BAFB421C931C69333463479A456 /* Support Files */, + 28215A90429D79A7B3B404E9E3AB1480 /* Alamofire.modulemap */, + C3DA16F081046738F248885655985925 /* Alamofire.xcconfig */, + 31A92956F26C885F85C5258C08B2EF09 /* Alamofire-dummy.m */, + 60DC533017B31DECB7905B4658CE0CF2 /* Alamofire-prefix.pch */, + 0DAFF40A47602A5811D9F3B3141BB1AD /* Alamofire-umbrella.h */, + 53C0DDFBCF0EBAD9F474621CAEF4D22B /* Info.plist */, ); - name = MJRefresh; - path = MJRefresh; + name = "Support Files"; + path = "../Target Support Files/Alamofire"; sourceTree = ""; }; - CD7007B870A1842DFD58AE68D8A1A9BB /* Alamofire */ = { + E473BA1C85F9C366C9F7D98D4D3BE200 /* Full */ = { isa = PBXGroup; children = ( - 2846EF1D28B3D42CC695C122178A8D49 /* AFError.swift */, - 20954A2A132601E2AA6FA9B24498E2B6 /* Alamofire.swift */, - 0126BA6163E7E8BA4860CDE3F78C076C /* DispatchQueue+Alamofire.swift */, - C913BB1D654F80BEB325758B15582342 /* MultipartFormData.swift */, - F0C5C16DDAAD7AE8636AEBF8FA5B86E5 /* NetworkReachabilityManager.swift */, - 52812876CB95A32785248E86FC655AA2 /* Notifications.swift */, - 302C9CB931107FA736A07AFFA69B6557 /* ParameterEncoding.swift */, - 78021542B45F3EBDAA75FFB4E7BB05E5 /* Request.swift */, - E7CA24D972359FACF129A945FF1B859F /* Response.swift */, - 0EC9F164835104089C7BEE1EC4C7514E /* ResponseSerialization.swift */, - 454A935A475C4A6A730872C89FABCDD7 /* Result.swift */, - 3877477BEBAAB3ADA84326F9E67632B4 /* ServerTrustPolicy.swift */, - 37B901B24F22F695A6CAD8C26E697C1A /* SessionDelegate.swift */, - A0415C81A30DC7D621C9CB879B95D55E /* SessionManager.swift */, - 878EC885E2E3E59A3C74784C5969010D /* TaskDelegate.swift */, - B5C63B9D7906C7F2C7AAF980FA108A01 /* Timeline.swift */, - 3A29FEB761990977E5822B67AF3FFD3D /* Validation.swift */, - 19CF389F282A6CCED0FDDBB317C441CC /* Support Files */, + F14854C584BB0398EF20718A916ECE72 /* BMPlayer.swift */, + 6F5D602D602576CAD1DC374D73E7EFC0 /* BMPlayerClearityChooseButton.swift */, + 844F6E5E3B9359B765F6A4EA2A245AEF /* BMPlayerControlView.swift */, + 7D79374615B0BF093C6D08CFD34EBFE8 /* BMPlayerItem.swift */, + F2471C04A5DA2272B1D25B6946AE24DE /* BMPlayerManager.swift */, + 23B28089F809F0B728758CE59814E7DC /* BMPlayerProtocols.swift */, + B9FB32392004653CDC6535856CEC20CE /* BMSubtitles.swift */, + 0BA4445A6DCA67F19DD6A515FF0F1D7E /* BMTimeSlider.swift */, + BE4992A3E9BAAF6582B4EBF919BE70FC /* Resources */, ); - name = Alamofire; - path = Alamofire; + name = Full; sourceTree = ""; }; - D1640B1C411283E1F4B48C1FD7632D16 /* Support Files */ = { + E4EF08CC811E3CA2F5FC92E6F3FA1FF8 /* Support Files */ = { isa = PBXGroup; children = ( - 30B675752025DDCD0A8457947C47405E /* Info.plist */, - 39CF9BC517E6F74E4B6EEC15F21172EC /* SwiftTheme.modulemap */, - 55A98612B6712DF92A37DA4B0FB6FD0A /* SwiftTheme.xcconfig */, - 36EA26B526A43F84F924E039924D80A6 /* SwiftTheme-dummy.m */, - 5B93CEA374DD308A53DC6C531914EE59 /* SwiftTheme-prefix.pch */, - 81DD2E35494B127C5FDBEE06E4808AD8 /* SwiftTheme-umbrella.h */, + 5B814FE2FD46F4613C62200E98370962 /* Info.plist */, + 4D46B138701178C1210B009825A7069C /* SnapKit.modulemap */, + 0AA55B1C8FCF414BC03A5E48A97EC080 /* SnapKit.xcconfig */, + 5671DB99E0F63C2BA3010E0AEC7427BC /* SnapKit-dummy.m */, + 4A3CFB2922C9124459A35855ABD1678F /* SnapKit-prefix.pch */, + A95468FE10B0A73180E3D6683EE16A83 /* SnapKit-umbrella.h */, ); name = "Support Files"; - path = "../Target Support Files/SwiftTheme"; + path = "../Target Support Files/SnapKit"; sourceTree = ""; }; - DE1991343D2A61206C5DF7976B96376A /* Support Files */ = { + E596DA41881CA39F56575A6A263848D2 /* Support Files */ = { isa = PBXGroup; children = ( - 36E45F67CABFC826D525B6293996BDE1 /* Info.plist */, - 706DE048E23761818983090ADC64E902 /* NVActivityIndicatorView.modulemap */, - 79C10F4F34358AF0A070BC4A46D6E743 /* NVActivityIndicatorView.xcconfig */, - CD3B0F25E6B3A9D0EAC3774E978653DF /* NVActivityIndicatorView-dummy.m */, - DDD89158EFA7F042DF943347A492739C /* NVActivityIndicatorView-prefix.pch */, - 36A7A1E146229A41D708BC7CCB9E4BD9 /* NVActivityIndicatorView-umbrella.h */, + BE124083000EDF9E04E29FED99791F72 /* Info.plist */, + 681E788E354A7A14B770B7B1C4F01CD5 /* MJRefresh.modulemap */, + B7F70E8EEBE22A9855A4B48EEAE25C38 /* MJRefresh.xcconfig */, + 4F6F2E000CA412D16AF5B5967ED5BB8E /* MJRefresh-dummy.m */, + 31160559A25673E5E29FE21ADA0F1FD9 /* MJRefresh-prefix.pch */, + B140FC6695CF01ED2D9FF1A7D15458F3 /* MJRefresh-umbrella.h */, ); name = "Support Files"; - path = "../Target Support Files/NVActivityIndicatorView"; + path = "../Target Support Files/MJRefresh"; sourceTree = ""; }; E5CC4BE86FB24C7C0EA1B0475B94FA84 /* Products */ = { @@ -3435,29 +3307,182 @@ name = Products; sourceTree = ""; }; - EE38B08C57808E1908A1776C2512510E /* Support Files */ = { + E625ED82087A229641A0BB1C7F33AA7F /* Support Files */ = { isa = PBXGroup; children = ( - 9E76D2FE93070778B76265EF99EA7002 /* Info.plist */, - 039F685C8466FCD9D44D4FCC726AFEC5 /* SGPagingView.modulemap */, - 9B092319D439180FAB85C4314E79AF87 /* SGPagingView.xcconfig */, - DB885D307B2E051CA8FD03A5B79A2E8F /* SGPagingView-dummy.m */, - 78EFCA3D7402E3F62133AF9A270450D7 /* SGPagingView-prefix.pch */, - 9FB0961156D170AA1576F127DA39EC42 /* SGPagingView-umbrella.h */, + 431AAE6755B94B57FBF7AB5DD02F4EBB /* HandyJSON.modulemap */, + 3CD132F82D4AFE584A00DCF06E017092 /* HandyJSON.xcconfig */, + C3EEB0E0797A0A9FC1198898E7CDCD72 /* HandyJSON-dummy.m */, + 936FD390217D34FA42115EC2565977C3 /* HandyJSON-prefix.pch */, + 0A4C13C688AA4A346BE889FCB58E9725 /* HandyJSON-umbrella.h */, + 5A10D391BE6986EE152E32EF062FE0E0 /* Info.plist */, ); name = "Support Files"; - path = "../Target Support Files/SGPagingView"; + path = "../Target Support Files/HandyJSON"; sourceTree = ""; }; - F03014AC7D9BED719C74D66BA02D90F6 /* FDFullscreenPopGesture */ = { + E849780CBD63596CDBE298724417486D /* Pods */ = { isa = PBXGroup; children = ( - 4CC76966C3C8173FD7C88EB5E6BBB430 /* UINavigationController+FDFullscreenPopGesture.h */, - 5B9DC9A4C337D4C46E19B60C1D6B23E1 /* UINavigationController+FDFullscreenPopGesture.m */, - 67C686DE3AD801E181EFB05B2BDD1A97 /* Support Files */, + 965579C5174537D309A6D5BB9532216D /* Alamofire */, + C84714E22D56D8684F02019BD6A34516 /* BMPlayer */, + C78BCE261DC72F519F0A0CA56CD1B822 /* FDFullscreenPopGesture */, + 5ACB39693C6A4D950FE7B966CF237C35 /* HandyJSON */, + D1F246A950E4FD418A67F0D7A3227628 /* IBAnimatable */, + C1653B4E941E27C5DA1AA81984A9D6A9 /* Kingfisher */, + 9549D37CC5D8CDC0DAF1D44DC8813EBD /* lottie-ios */, + AD7F391A22527E36AA6EDC69A7C6BF42 /* MJRefresh */, + 949E6A65FE2420545148878211729BFE /* NVActivityIndicatorView */, + F42213304ECAD775493786ACDC8354BE /* RxCocoa */, + 8EB146C422D528F1DD87C41CC5C58F0C /* RxSwift */, + B1CD82EAFEB7764E95844AB141BAC23C /* SGPagingView */, + C6517495CD5FC384C0568A8A599A902A /* SnapKit */, + 1CB06534BE5EA5FA3B07BFEDFD1D489E /* SQLite.swift */, + 5DC68B1374321BC625E81A6C915A84CF /* SVProgressHUD */, + BD924B5297C9C9957BCFE1474F9F7E20 /* SwiftTheme */, + 3D468C289FB5A18EF098A08E485AB8B4 /* SwiftyJSON */, ); - name = FDFullscreenPopGesture; - path = FDFullscreenPopGesture; + name = Pods; + sourceTree = ""; + }; + E9C1949FA84C0CF5EB4EADA4E44EF99E /* Core */ = { + isa = PBXGroup; + children = ( + D299F6C69F91D708A0C3B45B23F4FD9D /* BMPlayerLayerView.swift */, + ); + name = Core; + sourceTree = ""; + }; + F42213304ECAD775493786ACDC8354BE /* RxCocoa */ = { + isa = PBXGroup; + children = ( + 0C579F16C0E9F97B70201EC5FC8D54D1 /* _RX.h */, + 85ABB3468B54780079F7AA0678BD1E74 /* _RX.m */, + 745001BEBAC5DF68B75903A7AC04B1D8 /* _RXDelegateProxy.h */, + 4886C8E0A0725BD450275411EA70D641 /* _RXDelegateProxy.m */, + CFD740BE69880E1509F465B7AFD0D98E /* _RXKVOObserver.h */, + 022C6BDD4FD67F4C1B6EC83AB83DB4BB /* _RXKVOObserver.m */, + 3AEDB8211337E5F41E5AD7372C213775 /* _RXObjCRuntime.h */, + 8F5C13066481DD185C9F2F6C9F4F1729 /* _RXObjCRuntime.m */, + E3BEA82F00E245C215AFCB1A6E82D12E /* Bag.swift */, + 164E7A800E2619B528173C18B508DB6B /* BehaviorRelay.swift */, + 6E93A58C4C0571288BF9D5D983A548B3 /* BehaviorRelay+Driver.swift */, + 3F93A497410124C5DDCAEA05F0FDE2C6 /* Binder.swift */, + 8F94C4537F957EEC1178B0CA0492BE21 /* ControlEvent.swift */, + F6CA5ED369F2402A1F3644FC1A7F63E3 /* ControlEvent+Driver.swift */, + B1F99D13856265844D0FE7D429322E64 /* ControlEvent+Signal.swift */, + D08D11E7C1FE9922378882CC0903962A /* ControlProperty.swift */, + E17C970A7028942455405F43FB6DB2BE /* ControlProperty+Driver.swift */, + CEC25675A14F591C68DA8D99681C5763 /* ControlTarget.swift */, + 7956883A629B8CECE9E8D491C3EF6C88 /* DelegateProxy.swift */, + 23A6D21E34E26AECC8D241A405B30113 /* DelegateProxyType.swift */, + E42085A3945343C52BD98ADD537568FB /* Deprecated.swift */, + 43AB06A2D3BB07CE23629C9267BDFA5D /* DeprecationWarner.swift */, + 2F227C3811DF91B830F830474AE8779B /* DispatchQueue+Extensions.swift */, + AD930F5FF98C196D177C7ED1549E5D9A /* Driver.swift */, + EB26C58FBDB2D9D263156C73AE8AB827 /* Driver+Subscription.swift */, + 223B416987A24AEC24B0E6EA43E09A08 /* InfiniteSequence.swift */, + 0E2BCFFD36A09538CDBCEC8BA2CB3716 /* ItemEvents.swift */, + D262C25CD9555BF18521C8E05DCDC273 /* KVORepresentable.swift */, + 317DC0E62C640CEF5366FA274CAA82C6 /* KVORepresentable+CoreGraphics.swift */, + 8AEFC873A3685E350C454F767CFF45F4 /* KVORepresentable+Swift.swift */, + 7D406AB9C86DB49D2E63506AFEA9E1AA /* Logging.swift */, + 0222A154712DAC63DB71D6664E42E6A5 /* NotificationCenter+Rx.swift */, + F023E599536CD6FCEC210E56916CBB05 /* NSLayoutConstraint+Rx.swift */, + 22292FCC9C602EA61750E5D20D1607E3 /* NSObject+Rx.swift */, + AA2AE2DF46387FF3AAA7E8F455CADFD3 /* NSObject+Rx+KVORepresentable.swift */, + 1414A2B53C89102DA9E59FFABD5A27E8 /* NSObject+Rx+RawRepresentable.swift */, + DE435F1E8CAD3196E00800F4653C4601 /* NSTextStorage+Rx.swift */, + E2A94A21AB349568E85A1B395909A742 /* Observable+Bind.swift */, + 54BE5FDFFFBA1B7552E5F1DE4FF8A670 /* ObservableConvertibleType+Driver.swift */, + 855D31375AC89AAED40EC1BA94EBB6AB /* ObservableConvertibleType+SharedSequence.swift */, + 1B47CAA0F8F347E7C131B50195955F76 /* ObservableConvertibleType+Signal.swift */, + 6E335372A697A443893A255691E26A43 /* Platform.Darwin.swift */, + 819C9E5691F2AA1072DF787C16E7F5DD /* Platform.Linux.swift */, + 7EBCCEB0889B9BEDB1108D6A66C7E23B /* PriorityQueue.swift */, + 44F92EC984D7ED95518212A61FD1B8F0 /* PublishRelay.swift */, + 7739202509219F676C5741EB52E875F4 /* PublishRelay+Signal.swift */, + D2005CC26506D34304FF8EDD14779110 /* Queue.swift */, + E034BBDFE7DE02CEA5B58C3FC2EDBF99 /* RecursiveLock.swift */, + 268888B9FC2C4C2177CD5B4F319726EF /* RxCocoa.h */, + 4F1E23E810544CEBBEC861AEAE3F9206 /* RxCocoa.swift */, + BD92754BA1D0A3043CD36224E7B56DBA /* RxCocoaObjCRuntimeError+Extensions.swift */, + BD7313ED83DBC8FF0000AC61300E38FD /* RxCocoaRuntime.h */, + 2AA649C5DFFB153D26C6473B3E74CBBB /* RxCollectionViewDataSourceProxy.swift */, + AA538AD15782213B7C2F33D7246E0B68 /* RxCollectionViewDataSourceType.swift */, + B4179336D1D968D6E28FC64080FEDFE9 /* RxCollectionViewDelegateProxy.swift */, + DDE45B56F931BBEFB016DAFBF8558DC2 /* RxCollectionViewReactiveArrayDataSource.swift */, + 24E21DA249A61C4B72304A7846BA5B70 /* RxNavigationControllerDelegateProxy.swift */, + 7023245743305E4FAC34F7788584F96B /* RxPickerViewAdapter.swift */, + 0E649B38675E386F0660BB5FB9A50678 /* RxPickerViewDataSourceProxy.swift */, + F28B756A8F9FCCD3CECDB78EA6F8B74B /* RxPickerViewDataSourceType.swift */, + B7A86AABD45B222B9CE0E5EA3D76F8E2 /* RxPickerViewDelegateProxy.swift */, + 5ADC134716446177E187673A92B0C012 /* RxScrollViewDelegateProxy.swift */, + 9E52895F3AE524CA110F28AD14B0E12C /* RxSearchBarDelegateProxy.swift */, + 282A2038CFD0680C2FE07621E576F472 /* RxSearchControllerDelegateProxy.swift */, + 7989CCE5688F9DAEA50BAE695CEEC616 /* RxTabBarControllerDelegateProxy.swift */, + FB3FAEF3DE898473C1E1C24F89531D05 /* RxTabBarDelegateProxy.swift */, + 2EFC365D705166A37CB74082585C00D0 /* RxTableViewDataSourceProxy.swift */, + A080D8B68ECFBF08019B7FCA1F3E2D02 /* RxTableViewDataSourceType.swift */, + 71C9EE08CB072641FDDC0DFCA7370788 /* RxTableViewDelegateProxy.swift */, + 9F46C8592F6210E66F2C23CEAA329261 /* RxTableViewReactiveArrayDataSource.swift */, + 260C2AEFA097C8D34FC604A9352C73FE /* RxTarget.swift */, + 5E22E8E23ECEEB5CB946F07D0CA883AE /* RxTextStorageDelegateProxy.swift */, + CB9CA43A5386A5DCB42FB719B453ACB0 /* RxTextViewDelegateProxy.swift */, + 7A57625B2B7FDB9CE8A4BA7EA99F6C8D /* RxWebViewDelegateProxy.swift */, + 035563E120B2280513273C1FA0B42FB7 /* SchedulerType+SharedSequence.swift */, + 8E3E2710368F10F04EB56D1C1453A9E8 /* SectionedViewDataSourceType.swift */, + 7F72106675C0174F6366E0DEA0CF72BC /* SharedSequence.swift */, + 755FD33A78EF7C1B2DD7296DF7C92A62 /* SharedSequence+Operators.swift */, + B0F652903C37BAB247663B25388AB427 /* SharedSequence+Operators+arity.swift */, + 8F5F8D1CBD6BF9854F8A570F2D6253DA /* Signal.swift */, + 733862D09B02C560283CE9B632496A3F /* Signal+Subscription.swift */, + BCACCAF737C2865D9AA6460BBE8A1010 /* TextInput.swift */, + CE50B6C4290B2D5897AF9636CC0F7DDA /* UIActivityIndicatorView+Rx.swift */, + 4F279C04646721C352D3D2FD20FB3C38 /* UIAlertAction+Rx.swift */, + 23059ADD7F4D5BD124C1D1435019BB88 /* UIApplication+Rx.swift */, + 9A9BBC65DD6452F3985BC905DA010D3C /* UIBarButtonItem+Rx.swift */, + 9F4821A684BF67B4599A7530D1E3D80D /* UIButton+Rx.swift */, + F456DE8B97D5C6C4328F1D684BB688CF /* UICollectionView+Rx.swift */, + 7D924D9548DCBBE92ABCC28AD8018CD5 /* UIControl+Rx.swift */, + 063102306C5A4EF6E341D535CBF71013 /* UIDatePicker+Rx.swift */, + AA17110B5C1D9B3EB1B6588AD62C6753 /* UIGestureRecognizer+Rx.swift */, + B6D4FA927926E4BBF2C3399EE484F3D3 /* UIImageView+Rx.swift */, + F5AC5A5689E4BBB0E662D396D740556C /* UILabel+Rx.swift */, + 233DD7A36CEF398FC7D48CB1582A1CEC /* UINavigationController+Rx.swift */, + 82EF80C5AB66B574E38B1B205207BC1B /* UINavigationItem+Rx.swift */, + 01712A0A88100D4F47D388A4F4BD1E84 /* UIPageControl+Rx.swift */, + C68E1169CE66EFE6CF7024A3E96DDAF9 /* UIPickerView+Rx.swift */, + 3EA157A4DB7D8BC8E9ECD1951A56D10E /* UIProgressView+Rx.swift */, + 988C7BEE34D62AB4DFD185B09EACC0AC /* UIRefreshControl+Rx.swift */, + FC1778A71D7944300D2D96D8126F65BD /* UIScrollView+Rx.swift */, + 5942DDFA8BD22CE615E95823DE7482F1 /* UISearchBar+Rx.swift */, + F475FE7AFE8CF8A19F4962EEFCACD5D6 /* UISearchController+Rx.swift */, + 784C83A8020FE94F650B0E3A0B2EEBA3 /* UISegmentedControl+Rx.swift */, + A302E5AFEE67797A6942840A61A26FF7 /* UISlider+Rx.swift */, + 72A18F5C9AFFE4FAEFB3FF4A092F90AB /* UIStepper+Rx.swift */, + D8FC8EDC3476FD96EA790694C31E1E3A /* UISwitch+Rx.swift */, + 2DFA8ADEFF83EF6947BC0BF76C0D3EDD /* UITabBar+Rx.swift */, + CA8F7B7C2097E067BBB391A746E0BAF0 /* UITabBarController+Rx.swift */, + 80844F96601B91D555807E452FADF9D2 /* UITabBarItem+Rx.swift */, + 1F2530C1F6DC512D25385331D522483D /* UITableView+Rx.swift */, + A69F1A10DE7FF1DDCB0BF249051BA64F /* UITextField+Rx.swift */, + A09C6834F3E9B97A62243882B2A9C12E /* UITextView+Rx.swift */, + ABC4FE4E30C005F03BFFFD6B346A0C03 /* UIView+Rx.swift */, + CC9FA0674D3055F0C4F18066A315A3A3 /* UIViewController+Rx.swift */, + 31343B8A2EE4819BBA28362B03ACB7CA /* UIWebView+Rx.swift */, + D20E5F1F49E0D3B1E6025F09EF4ADF4D /* URLSession+Rx.swift */, + 867EF1E119F435ED38B5519D7EC9808C /* Support Files */, + ); + path = RxCocoa; + sourceTree = ""; + }; + FBD8E2FD585FB4FD8F7EB233C6740DAB /* Resources */ = { + isa = PBXGroup; + children = ( + C59483F02C223CB69CC1B68146D661E0 /* MJRefresh.bundle */, + ); + name = Resources; sourceTree = ""; }; /* End PBXGroup section */ @@ -3566,82 +3591,79 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 6FE54C86ED581AED3B92DF74F3C3023A /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 91924ACDF73CCB6136B791C3936445E2 /* CALayer+Compat.h in Headers */, - D9BFA0E9F0EB44F42BF61FD6157885BB /* CGGeometry+LOTAdditions.h in Headers */, - E9111BFC472A1A33F17CEB9EF152B290 /* LOTAnimatedControl.h in Headers */, - 59747A4EBE29DB7C7B57CCC0B461D1B6 /* LOTAnimatedSwitch.h in Headers */, - BC484424307BB2CA5BE0E243654B8076 /* LOTAnimationCache.h in Headers */, - 7CCF196AE3615A4240B00169E0878884 /* LOTAnimationTransitionController.h in Headers */, - CBEC0D4015828CB2A666C87675364162 /* LOTAnimationView.h in Headers */, - D89421B61B791BBE3D424FAA42A4123F /* LOTAnimationView_Compat.h in Headers */, - 02B3EE00639FF8B6565F4F95923D119B /* LOTAnimationView_Internal.h in Headers */, - 3A7A1D5495F61B2D9F9E2A051296C444 /* LOTAnimatorNode.h in Headers */, - F8F799D5F8E999CA47641097AF8EAE91 /* LOTArrayInterpolator.h in Headers */, - 9BCE2D885ED9F2DD3831C42D0CE3ED04 /* LOTAsset.h in Headers */, - 21FE6FC272351711F6BD23D07F668A48 /* LOTAssetGroup.h in Headers */, - 884591C67BA33E18986E0E086596BADA /* LOTBezierData.h in Headers */, - ACD485D97613CCE0100F2C3F4A0FBD99 /* LOTBezierPath.h in Headers */, - C7BE0E04F4B063BC73974603173A0A2D /* LOTCacheProvider.h in Headers */, - 19616D85F5FC39F8DEEFEB11F2059571 /* LOTCircleAnimator.h in Headers */, - 55E9B2E5FB410D981C2D88387244B104 /* LOTColorInterpolator.h in Headers */, - BB001AA03BDD627E1D252EFB48039858 /* LOTComposition.h in Headers */, - 30A74C42E2159C7D6E60BC896B0FEB22 /* LOTCompositionContainer.h in Headers */, - CD6F28A71FA93783603871182774FC1E /* LOTFillRenderer.h in Headers */, - E3DB89EAFACD5BB7C00B93877C8FFDEC /* LOTGradientFillRender.h in Headers */, - E47A151BDF5B4EEF144B9A0E68F075FE /* LOTHelpers.h in Headers */, - 7F8EBBCC4300A178D4843B4A8A761444 /* LOTKeyframe.h in Headers */, - FB3D7DD5E37D5CF0B1EE435993172320 /* LOTLayer.h in Headers */, - 5B3AECADE96E978314B3E363C423348B /* LOTLayerContainer.h in Headers */, - 8D61E77BDC7B2C07CF546ABADE403E6F /* LOTLayerGroup.h in Headers */, - C95E658459BD82B216E3E2AE0FA7F5C9 /* LOTMask.h in Headers */, - 72ABEA3F54441CFDCB85FBF92BF46079 /* LOTMaskContainer.h in Headers */, - 6E1A3EDA96C45237819E72289FBF416D /* LOTModels.h in Headers */, - A7B9DB186F43278B8DA46459207615D7 /* LOTNumberInterpolator.h in Headers */, - 685B9708A83A053492F99ECEAAE4DE73 /* LOTPathAnimator.h in Headers */, - EB5DF698B9A019BAE45B2EEAD53344CB /* LOTPathInterpolator.h in Headers */, - E8F50B0CCA5FCE2E3C71B4FF86187F74 /* LOTPlatformCompat.h in Headers */, - 0BA3B547B9BC864AD56950FD475613C2 /* LOTPointInterpolator.h in Headers */, - DD93F4DF40921DA721841D296E788EA8 /* LOTPolygonAnimator.h in Headers */, - C2AE98581F223D1252FAD56F3DD45468 /* LOTPolystarAnimator.h in Headers */, - BA5D7097D03F57874277478693105BCD /* LOTRadialGradientLayer.h in Headers */, - A2F66BD7B4C53D59D21C922E4F9C50B5 /* LOTRenderGroup.h in Headers */, - C0BCE451CA06562094215917677ABC99 /* LOTRenderNode.h in Headers */, - 7D98F4A293376159B5A8D50D17F7C28E /* LOTRepeaterRenderer.h in Headers */, - 23C3475EE992B3F31FEA2FC1E3F2ABCA /* LOTRoundedRectAnimator.h in Headers */, - 5091DC02D0E9676AA470A66008D6371B /* LOTShapeCircle.h in Headers */, - 4FE3DE7CBF0BE1318E7A1F6C4D400989 /* LOTShapeFill.h in Headers */, - B815D0B23813A33E7D11D667F56DE418 /* LOTShapeGradientFill.h in Headers */, - 2241163286FC8252861D5503BA2DAC40 /* LOTShapeGroup.h in Headers */, - EC88F5693A27CC25B5F5BC066C9A16D3 /* LOTShapePath.h in Headers */, - 035451EC8D0CF6A73D93AE9ED728139C /* LOTShapeRectangle.h in Headers */, - 46729CBFB75951B7D527F15EEBEE7D95 /* LOTShapeRepeater.h in Headers */, - 8FE0784E46EDF6C731751D34BBC42CAE /* LOTShapeStar.h in Headers */, - 74716BF0F25E59E08F216796503437A8 /* LOTShapeStroke.h in Headers */, - F5893864EC514482E3C406A49322F88E /* LOTShapeTransform.h in Headers */, - 8CE893339DCD0E9D5C5FE4BF6A82A550 /* LOTShapeTrimPath.h in Headers */, - 9D7920717E2929AAA839422298706E2D /* LOTSizeInterpolator.h in Headers */, - 3A7B05FB57419F3D6D70DC8EB5438CCC /* LOTStrokeRenderer.h in Headers */, - 3DF410B8E4E16AEFBFC0A6ABA0C97B4D /* lottie-ios-umbrella.h in Headers */, - B7A27DD3DF203035C4730EFAB58B499B /* Lottie.h in Headers */, - F9F10466111C437521082477EBB40777 /* LOTTransformInterpolator.h in Headers */, - 0AC33FD02B6E6714B6DDFC7593438C66 /* LOTTrimPathNode.h in Headers */, - 818E830D22B2DD5F3BF42F3B4B231885 /* LOTValueInterpolator.h in Headers */, - 7EB79CAC296B214B28FB39CC8AF61708 /* NSValue+Compat.h in Headers */, - EE917CD21C0C27CD5E30782B7E4E2F37 /* UIColor+Expanded.h in Headers */, - 923444274E9A7B560D63B3AA3754BCC7 /* UIColor.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 84676F7D46FF521291CDEB2AB04A454C /* Headers */ = { + 6693D3587020FD3F872343F99520E7EA /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 2F288ED3641B2B4775884C462AE377E6 /* Kingfisher-umbrella.h in Headers */, - 5B5D8AE167BD8E304CE474A9B8DBA2B4 /* Kingfisher.h in Headers */, + 98A6AC34960CFA66721BE2C3AF70F98C /* CALayer+Compat.h in Headers */, + 9D45AEF9A88138B09EEB95F29AD9EC90 /* CGGeometry+LOTAdditions.h in Headers */, + 17020EBA663C6AA107AD5A314EE4D9BB /* LOTAnimatedControl.h in Headers */, + AF91D96662870ACE941604B61926484D /* LOTAnimatedSwitch.h in Headers */, + 73DCF8F1CF29D78824ED9A1A1962809A /* LOTAnimationCache.h in Headers */, + 8852D366554FC109F36B3B4EC95B2153 /* LOTAnimationTransitionController.h in Headers */, + 57EB64D55E8EA79C8ADDEA1F1E856C90 /* LOTAnimationView.h in Headers */, + D5AF5C2BD150D436DECB7200A9BD8273 /* LOTAnimationView_Compat.h in Headers */, + DF1E2D12F4703786B8FA63F86A3CA6A4 /* LOTAnimationView_Internal.h in Headers */, + 062C1FC74BAFFC34232B79C71AA01C32 /* LOTAnimatorNode.h in Headers */, + CBC229DCC038B1527BA8D2109F5E30A8 /* LOTArrayInterpolator.h in Headers */, + 708E15A6C94145929916B187001D63D5 /* LOTAsset.h in Headers */, + 8048E72DC5A103EE6445E0878508678C /* LOTAssetGroup.h in Headers */, + CE327BA07437DBAF82E10EC41C382B91 /* LOTBezierData.h in Headers */, + DC3A67C98F1F6B68F7AC58AD8F44F37F /* LOTBezierPath.h in Headers */, + AA45A10812240E26A55FFDCEBD6AFC57 /* LOTBlockCallback.h in Headers */, + E308D0988094514B69CDC4C77C05FE57 /* LOTCacheProvider.h in Headers */, + A84BFE6F3AFE5C107EF920E6F14ADD91 /* LOTCircleAnimator.h in Headers */, + CEA0E9D7A6A05ED4DC4EE679A95A1E9A /* LOTColorInterpolator.h in Headers */, + 5BF9F6726D864C65BAE47CAB5D98C785 /* LOTComposition.h in Headers */, + 54A24C7632DAD08E4DC81388F7F900EA /* LOTCompositionContainer.h in Headers */, + 491955E1AAF7899722B127A2A53F073C /* LOTFillRenderer.h in Headers */, + DC59CFFC30438F570725F35985276425 /* LOTGradientFillRender.h in Headers */, + 0B17BEC84FED9E3EE990632483DC3E6A /* LOTHelpers.h in Headers */, + 26D8A5A8E6C8879AEAF1C4D192649551 /* LOTInterpolatorCallback.h in Headers */, + 0FCD971E8D1ADF47505F579AD27BC81B /* LOTKeyframe.h in Headers */, + 52667C5DBA87C7DD137E52692E3F3F2D /* LOTKeypath.h in Headers */, + 690749DB76A1B76605FE8E50259F4812 /* LOTLayer.h in Headers */, + D370BBE7013082C69F8E53F6241ADE25 /* LOTLayerContainer.h in Headers */, + 723E9D065E16BA1DF7F3968C5B6C1AD4 /* LOTLayerGroup.h in Headers */, + 722D558CFCF0ED4DC52EE3C79427DB04 /* LOTMask.h in Headers */, + CBC0BA91FCBC3C3000EF6C21D54F6E85 /* LOTMaskContainer.h in Headers */, + EA1FA53D69133CFCFA03F5DAA5A85583 /* LOTModels.h in Headers */, + 97A0F67C7E767DDF397659EBC7927855 /* LOTNumberInterpolator.h in Headers */, + D2154386A8B9560FA3FDE98F5162491E /* LOTPathAnimator.h in Headers */, + 0736E8EFFE0953BF427D7947E1A18A0C /* LOTPathInterpolator.h in Headers */, + 82B9554583D5ABE25AD46A7CA53863CA /* LOTPlatformCompat.h in Headers */, + E03C4E99C00481A7D694C34515651CED /* LOTPointInterpolator.h in Headers */, + C6CDC695057E837EABCE42EF79887683 /* LOTPolygonAnimator.h in Headers */, + 3D893D4EA8EFDDD8824D6333FE7D1ED4 /* LOTPolystarAnimator.h in Headers */, + 14E83AFDD337CE917003CB8224C110FE /* LOTRadialGradientLayer.h in Headers */, + 81B79CFBA2A608E149A5A16B60B06C4D /* LOTRenderGroup.h in Headers */, + 19A52FD5D998349290B654BFFD08E31B /* LOTRenderNode.h in Headers */, + 9FD8F558C02A4BC192447CD6E55E5768 /* LOTRepeaterRenderer.h in Headers */, + DD6CC832243EFDC8114FC940938F0A21 /* LOTRoundedRectAnimator.h in Headers */, + 22D210672129FD13CF593B4070F52589 /* LOTShapeCircle.h in Headers */, + 7765530D8102C02AF53866E1FD39470B /* LOTShapeFill.h in Headers */, + E0BC22E5BDBDD4389A1E22AEEB7993DF /* LOTShapeGradientFill.h in Headers */, + 71473232684A985B25D2D2969444150D /* LOTShapeGroup.h in Headers */, + 3ADD787A134CCF12CC9B27D0EACA7FAB /* LOTShapePath.h in Headers */, + 40CBDCF9E453EA48422844F2DECAEEAC /* LOTShapeRectangle.h in Headers */, + B3C731367226C0595C6E82CFB58C8AD1 /* LOTShapeRepeater.h in Headers */, + F6CF7E06B5C2D01BDF11172AFE18BA94 /* LOTShapeStar.h in Headers */, + 56F9F3C8D5B948ED4F70CCF7FE3DFF31 /* LOTShapeStroke.h in Headers */, + A3975877F5E2C7FBBD2A86E4F7315194 /* LOTShapeTransform.h in Headers */, + EAF42CB912DAB8F60EC2AAC8860BCD3C /* LOTShapeTrimPath.h in Headers */, + B65B1B07EC9467889F13988F01CB3904 /* LOTSizeInterpolator.h in Headers */, + 0A76F4166BC9DB8FBB633A9AA2F28463 /* LOTStrokeRenderer.h in Headers */, + 88ED3BEA3CB949797FE8DC62A9F92682 /* lottie-ios-umbrella.h in Headers */, + 7CCBF70ECD44AE8B4295043D8B80803E /* Lottie.h in Headers */, + 0878328AFCF26061F2D6337BD8655736 /* LOTTransformInterpolator.h in Headers */, + FA95EAC81DF7CC55478A812C5B353082 /* LOTTrimPathNode.h in Headers */, + B46008F24A684C78E03F541E7409DA2F /* LOTValueCallback.h in Headers */, + 43038E997AE22C5B4BD2ABC9ACADA277 /* LOTValueDelegate.h in Headers */, + FBD133A06AA02D4AADA1E1C24848B89D /* LOTValueInterpolator.h in Headers */, + 6F3AAE79ABAF98857CD33707A5052495 /* NSValue+Compat.h in Headers */, + BD350D684B10350A606C0A0BF7F098E9 /* UIBezierPath.h in Headers */, + BA81CD633443A2BAFE85E9E1D92239B8 /* UIColor+Expanded.h in Headers */, + F3CCD9DCB94A2157E0D07F957B68FD54 /* UIColor.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -3675,6 +3697,15 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + BADBBCEED9A9F8B15B7F98467EA6FB0E /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 509A5621DAB44B06929B30ACCA7CA598 /* Kingfisher-umbrella.h in Headers */, + BA4DF38E820FF6B40FFABF8B1BBCC615 /* Kingfisher.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; CDBDB07F8F94673E8001AA9D3C60062B /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; @@ -3817,13 +3848,13 @@ productReference = E3559DB2235F1314E09D3D12238A2DD1 /* SwiftyJSON.framework */; productType = "com.apple.product-type.framework"; }; - 6F712943B3C5592E82604940D11CE08A /* Kingfisher */ = { + 4F87037150ABE2C9238B54E8F6E33F36 /* Kingfisher */ = { isa = PBXNativeTarget; - buildConfigurationList = 8C1E4CEFB2390CBE75E70BAC20F44BBF /* Build configuration list for PBXNativeTarget "Kingfisher" */; + buildConfigurationList = 6E151CD202797E4A2B6521EE8BECB6DE /* Build configuration list for PBXNativeTarget "Kingfisher" */; buildPhases = ( - 028CF0EB906C10D636EC909AF25FA2CF /* Sources */, - C0B9722E352CF90C920286E6F029D3C0 /* Frameworks */, - 84676F7D46FF521291CDEB2AB04A454C /* Headers */, + 154F6D32400678B08A7CB2E5FD292972 /* Sources */, + A05AD251435FB24E096BBA193F9C99F0 /* Frameworks */, + BADBBCEED9A9F8B15B7F98467EA6FB0E /* Headers */, ); buildRules = ( ); @@ -3851,38 +3882,38 @@ productReference = A6548033B7DA17CB406512781C500ECB /* SQLite.framework */; productType = "com.apple.product-type.framework"; }; - 8386817F9A5E38AB99F1AA49CD86EB76 /* lottie-ios */ = { + 88E9EC28B8B46C3631E6B242B50F4442 /* Alamofire */ = { isa = PBXNativeTarget; - buildConfigurationList = 75867BDCEBA3936275BF5C1A0C267CBF /* Build configuration list for PBXNativeTarget "lottie-ios" */; + buildConfigurationList = 419E5D95491847CD79841B971A8A3277 /* Build configuration list for PBXNativeTarget "Alamofire" */; buildPhases = ( - A5389D3BC1BA4882B978106367C4ED17 /* Sources */, - 58EB4FC5917B5E6516F2E3626DA23FE0 /* Frameworks */, - 6FE54C86ED581AED3B92DF74F3C3023A /* Headers */, + 32B9974868188C4803318E36329C87FE /* Sources */, + 99195E4207764744AEC07ECCBCD550EB /* Frameworks */, + B4002B6E97835FDCCAA5963EFE09A3E0 /* Headers */, ); buildRules = ( ); dependencies = ( ); - name = "lottie-ios"; - productName = "lottie-ios"; - productReference = F1D2A1B53E686AB96751180E37FC4CB1 /* Lottie.framework */; + name = Alamofire; + productName = Alamofire; + productReference = CB2FC1A39C764FB9EF317B86B234EF1B /* Alamofire.framework */; productType = "com.apple.product-type.framework"; }; - 88E9EC28B8B46C3631E6B242B50F4442 /* Alamofire */ = { + 8EEA87EC20A241510DE48460AC208D2F /* lottie-ios */ = { isa = PBXNativeTarget; - buildConfigurationList = 419E5D95491847CD79841B971A8A3277 /* Build configuration list for PBXNativeTarget "Alamofire" */; + buildConfigurationList = 9BF648061093ADEA095776AF6B54C982 /* Build configuration list for PBXNativeTarget "lottie-ios" */; buildPhases = ( - 32B9974868188C4803318E36329C87FE /* Sources */, - 99195E4207764744AEC07ECCBCD550EB /* Frameworks */, - B4002B6E97835FDCCAA5963EFE09A3E0 /* Headers */, + D6B5E28133D32EA697B4748BC9E70775 /* Sources */, + 519CB568DC6CB4CB851A0EFCF2B0D828 /* Frameworks */, + 6693D3587020FD3F872343F99520E7EA /* Headers */, ); buildRules = ( ); dependencies = ( ); - name = Alamofire; - productName = Alamofire; - productReference = CB2FC1A39C764FB9EF317B86B234EF1B /* Alamofire.framework */; + name = "lottie-ios"; + productName = "lottie-ios"; + productReference = F1D2A1B53E686AB96751180E37FC4CB1 /* Lottie.framework */; productType = "com.apple.product-type.framework"; }; 9FB5CACA7D18690E40976D210ABC1D97 /* SwiftTheme */ = { @@ -3906,7 +3937,7 @@ isa = PBXNativeTarget; buildConfigurationList = C7A13EBD83D62B20CD9A10B7624D148B /* Build configuration list for PBXNativeTarget "RxSwift" */; buildPhases = ( - 6F9A58234193E3BE9C5EE75D4ADCE70F /* Sources */, + 36C4EE20938CE7BD4DDCF79947E2CDFD /* Sources */, BE86B8F532A7A77CCA6B2DB36CCE6F9B /* Frameworks */, 66182F25ECECEFF7F99690669C57A20F /* Headers */, ); @@ -3974,7 +4005,7 @@ isa = PBXNativeTarget; buildConfigurationList = FC7947DB2F3DA24B821DEAEE0507E191 /* Build configuration list for PBXNativeTarget "RxCocoa" */; buildPhases = ( - 56DBD817A5271051D6B118492123703A /* Sources */, + FFF8420172CA089E5302B783D643071A /* Sources */, 5AA3954C8699DEFABEFEF93773203303 /* Frameworks */, 0E0AC8296AD4587E8E428242E865516E /* Headers */, ); @@ -4049,8 +4080,8 @@ D41D8CD98F00B204E9800998ECF8427E /* Project object */ = { isa = PBXProject; attributes = { - LastSwiftUpdateCheck = 0830; - LastUpgradeCheck = 0700; + LastSwiftUpdateCheck = 0930; + LastUpgradeCheck = 0930; }; buildConfigurationList = 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */; compatibilityVersion = "Xcode 3.2"; @@ -4069,8 +4100,8 @@ 0F71FC248875B67F53494C44B17B40EB /* FDFullscreenPopGesture */, 1465651EBBC44AD3276DDE2476CDA450 /* HandyJSON */, B3C271CE6119E785525D3573D37D903D /* IBAnimatable */, - 6F712943B3C5592E82604940D11CE08A /* Kingfisher */, - 8386817F9A5E38AB99F1AA49CD86EB76 /* lottie-ios */, + 4F87037150ABE2C9238B54E8F6E33F36 /* Kingfisher */, + 8EEA87EC20A241510DE48460AC208D2F /* lottie-ios */, E14A62900910444707A5504D25EC98DC /* MJRefresh */, 007E1F352BBDCF79216810967474DAE6 /* NVActivityIndicatorView */, B20AE15F7C6CD610A0CD671D855C0D18 /* Pods-News */, @@ -4114,33 +4145,34 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - 028CF0EB906C10D636EC909AF25FA2CF /* Sources */ = { + 154F6D32400678B08A7CB2E5FD292972 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 09A0DDE1726C527699A0C0F53482505B /* AnimatedImageView.swift in Sources */, - AA276321E3A96169B102E2B4EFF4F02D /* CacheSerializer.swift in Sources */, - 5AC063843F5C822D8E0DAD049DB2172C /* Filter.swift in Sources */, - 171D92BAB767E217703001B86CAF5E9E /* FormatIndicatedCacheSerializer.swift in Sources */, - 11ECC5C9BE0D9AE6AE8079882CB5AF75 /* Image.swift in Sources */, - 270728363BC4B690C40E53B053710684 /* ImageCache.swift in Sources */, - 0F755ADCEAA8BF40FF7BECCBD8B5310B /* ImageDownloader.swift in Sources */, - 3DA9227F3FD83241A4D4BA9DBAE405AD /* ImageModifier.swift in Sources */, - D472B17C81637E5A348997920034CC8E /* ImagePrefetcher.swift in Sources */, - 923EB9487045D3297D9932193420D597 /* ImageProcessor.swift in Sources */, - 3845689DFB2BE4BFAD2D3C2733D7054A /* ImageTransition.swift in Sources */, - 047C4D945343F46AFF1273DE29F8A290 /* ImageView+Kingfisher.swift in Sources */, - A8096F51DB82ADD9F002809E064F98F9 /* Indicator.swift in Sources */, - BCDA6101487ADAF8CE25A92727B57C24 /* Kingfisher-dummy.m in Sources */, - F949B79CF0DE1A67721B764EC95D20AD /* Kingfisher.swift in Sources */, - 6AE8DA783077285DFA7F210F4E779A65 /* KingfisherManager.swift in Sources */, - 7F0B3111D41B314575EC5A957DAFF2BA /* KingfisherOptionsInfo.swift in Sources */, - E84966064FC1C0803BE923842202ACEF /* Placeholder.swift in Sources */, - D205E953E843C195D4D27A6960483863 /* RequestModifier.swift in Sources */, - 12CF563678704ED1369F793FA30AAEA9 /* Resource.swift in Sources */, - E0DC63E3FEA808360D265AC495098144 /* String+MD5.swift in Sources */, - D42E1C9C953771026150086BF7BEBD2B /* ThreadHelper.swift in Sources */, - 7AE672DC4B32AF19F80EF28AD5096EDE /* UIButton+Kingfisher.swift in Sources */, + 4074AA6F2557EF7970DEDE67B04433B6 /* AnimatedImageView.swift in Sources */, + D1575AAADDCEA395E3828EBAC2A772FA /* Box.swift in Sources */, + A9D2A6547EE5F6532EF8D1F1870BF158 /* CacheSerializer.swift in Sources */, + 114397DE4A2DC0204868A79F4BE13769 /* Filter.swift in Sources */, + 03E0A134F1DDF33EA16F004F1A230CA1 /* FormatIndicatedCacheSerializer.swift in Sources */, + B924069CD75769E22765912C66A87BF3 /* Image.swift in Sources */, + 6486781D756A9D71FE5C6E56CC9A343F /* ImageCache.swift in Sources */, + DA7A5ECA4C0B39776007BE89B99227EF /* ImageDownloader.swift in Sources */, + B564B930C3B6CCFCC109ABF374B21CE6 /* ImageModifier.swift in Sources */, + BE9FB5E8188E0B68DB277B09A06E79BA /* ImagePrefetcher.swift in Sources */, + 2283375C0C99789CF47EEDA0CE9D3D80 /* ImageProcessor.swift in Sources */, + 7B2A61E55C43E9B12E5B7DD852456AEE /* ImageTransition.swift in Sources */, + 0096C6816AC3D92834AB65C49518C177 /* ImageView+Kingfisher.swift in Sources */, + 103228D906B112AA75562E8B17179127 /* Indicator.swift in Sources */, + 95156987028D309F91AC55FBDFE01643 /* Kingfisher-dummy.m in Sources */, + E9E5F082818BE1AA4722E77DD066450F /* Kingfisher.swift in Sources */, + A8A79840E81BFA3D8DCC29BE71F1AEC4 /* KingfisherManager.swift in Sources */, + 2ABE0F8940C00BD429E33ED7F7C9EA1D /* KingfisherOptionsInfo.swift in Sources */, + 498DC29155467AC093701C1AF5EE3807 /* Placeholder.swift in Sources */, + C32C7FE70764DE37935F6A5D80CB17C7 /* RequestModifier.swift in Sources */, + 3464228E4F1F63DBCA803CC848A6A8C0 /* Resource.swift in Sources */, + CEEB7C897409C08DF53289E307AB987C /* String+MD5.swift in Sources */, + CE38861F1268294930C074FC3F807E55 /* ThreadHelper.swift in Sources */, + FED97351EC4705507DAB175106B819C8 /* UIButton+Kingfisher.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -4196,6 +4228,163 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 36C4EE20938CE7BD4DDCF79947E2CDFD /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 7CE1D5FA96C00589C68AA0B5AE03A616 /* AddRef.swift in Sources */, + CBBDF017E96AFFD3F9954E3EC8D4128B /* Amb.swift in Sources */, + 0A40D703EB925FE3F537742F9CEC10BE /* AnonymousDisposable.swift in Sources */, + 5FD7A79D31B226160C3EAD5B4B34DA74 /* AnonymousObserver.swift in Sources */, + B8C95A9B7B079B97F1BBECFB44AF4016 /* AnyObserver.swift in Sources */, + 1241AAB79DC7E4A5D15E3FBCB805B237 /* AsMaybe.swift in Sources */, + D61C5ED8788B4AAC32A238B09F278115 /* AsSingle.swift in Sources */, + 660B6806AE557FF7F2780188694C4893 /* AsyncLock.swift in Sources */, + B0764D19ED837A747ECBFFF82C74E30E /* AsyncSubject.swift in Sources */, + D1EDE84AFF0B391FFABB2AECA8928973 /* Bag+Rx.swift in Sources */, + 5D4307ED2752875DDA68E87304F94CCC /* Bag.swift in Sources */, + DF509C5997011821B9BD0593D18366FF /* BehaviorSubject.swift in Sources */, + 35622A486C86877DD1C58148E3271EAF /* BinaryDisposable.swift in Sources */, + 6AD2E8FAE47A7B0705CC85F54F5B4626 /* BooleanDisposable.swift in Sources */, + ACA588557A4DBCBD8465F14D7FCBABA1 /* Buffer.swift in Sources */, + 7F1000EBCFA501F91B5E9ED875F87929 /* Cancelable.swift in Sources */, + 581AECD6B95235143FFD45B7CD68553C /* Catch.swift in Sources */, + 481032F17C4BC2F5879FBB31871A7860 /* CombineLatest+arity.swift in Sources */, + 17714564F8B6F1C492F8D0CC23E00C9A /* CombineLatest+Collection.swift in Sources */, + 69F0437366A75B9A622694EDC8151B7A /* CombineLatest.swift in Sources */, + 371AF4BB84DC7BA59A0A7775AB309DAF /* Completable+AndThen.swift in Sources */, + 3DE9A617976F876BDD98D4865021B090 /* Completable.swift in Sources */, + 3E676AC64298B03F3B95C86E6203A704 /* CompositeDisposable.swift in Sources */, + FCE72DF8A3871D1B124F53560AD534C4 /* Concat.swift in Sources */, + ADD907F23482A8290A7104681292BC94 /* ConcurrentDispatchQueueScheduler.swift in Sources */, + B6880D8D4B883A5FE485D5089CE71D27 /* ConcurrentMainScheduler.swift in Sources */, + 05F6602182FB29B045715C0BD99A93B6 /* ConnectableObservableType.swift in Sources */, + A54451EAAFD30F0BFE73E2EA1849AEEF /* Create.swift in Sources */, + 4345BE86D4E7FE70BA597285257A5217 /* CurrentThreadScheduler.swift in Sources */, + E9575187BAC9155DF22D5308B0F848EF /* Debounce.swift in Sources */, + 85B89D18C0DA0E022ED77B00121061F3 /* Debug.swift in Sources */, + 050FAE9B242F64072741D502BE358065 /* DefaultIfEmpty.swift in Sources */, + 2E1D138DFAF77F38B4FEAD6D783C1D20 /* Deferred.swift in Sources */, + A1F001686DFF84AD5AB3294E903A00F2 /* Delay.swift in Sources */, + 44CD632F1C450CD1A7E2A38559EF4E64 /* DelaySubscription.swift in Sources */, + 44D592E581BD1EBB6DCFAE10AE47BEA6 /* Dematerialize.swift in Sources */, + F4064BE5CEB9005C57C4B38478C426D6 /* Deprecated.swift in Sources */, + 21D856441DF72F3A5061F18CBEDB75C7 /* DeprecationWarner.swift in Sources */, + CE9A0BF45D14F89F7D68D4E03F73A635 /* DispatchQueue+Extensions.swift in Sources */, + 7DACA12C231495E94E9329EA8642597E /* DispatchQueueConfiguration.swift in Sources */, + ECBA3A5C67BEDA4E12E56E5373E57C3A /* Disposable.swift in Sources */, + FAA600CE3C8EA4D94D51303BC34D1A4E /* Disposables.swift in Sources */, + 56719B7942F204F258BA0FE0A2095D0D /* DisposeBag.swift in Sources */, + 4E8577B8C44109443E0457AD2F8EEAB6 /* DisposeBase.swift in Sources */, + 64E18529B6439AC37CA9CD9441FAD6EE /* DistinctUntilChanged.swift in Sources */, + 133ACABA0C62C30E33A13420190DE417 /* Do.swift in Sources */, + E3D37E0917103BCA51D686E424095172 /* ElementAt.swift in Sources */, + 5AAB24C3EB186379F18EA6FFD7EA3324 /* Empty.swift in Sources */, + 3335F97EFD45B36BC53D29B646C7F362 /* Enumerated.swift in Sources */, + 212AE24D1CD234D3659BEEB18574D07D /* Error.swift in Sources */, + 48FC2D1DCD95288A839494A95158868F /* Errors.swift in Sources */, + 8CE93AB2A393CA01F40A7F383661935F /* Event.swift in Sources */, + D7603DD5E0EEDB2FD5B723EC34D6BB74 /* Filter.swift in Sources */, + BAE6F2F79E4AF8832F8E49CA6E5F8176 /* First.swift in Sources */, + 7074A7080F178D692E3BDE479FD1FBF9 /* Generate.swift in Sources */, + 3EEF1FE5BDDD4BFDCA697914E3BCD104 /* GroupBy.swift in Sources */, + AAC045EABB121D896418D0E048DDC2D2 /* GroupedObservable.swift in Sources */, + 168AF670EA18DBF52CD1B90EE50E6745 /* HistoricalScheduler.swift in Sources */, + 425165FAD7A1D389BF00780B37D5E3FA /* HistoricalSchedulerTimeConverter.swift in Sources */, + 8C5A18D201C48843974EBA28D2CD459A /* ImmediateSchedulerType.swift in Sources */, + 228878F8915FA75B7F2E64C1C763B0FE /* InfiniteSequence.swift in Sources */, + A3D3060E84392BD29E8F78383987EB0F /* InvocableScheduledItem.swift in Sources */, + 7D8B1EA36B6DCCAE537F375029138F0E /* InvocableType.swift in Sources */, + BC73F5A32167C162626B5FF06CF795DF /* Just.swift in Sources */, + 4D7F55C87BD58C6DD10AD87FB7C256A3 /* Lock.swift in Sources */, + 790377FA319D2EA3CF3C59BFCCF4C13E /* LockOwnerType.swift in Sources */, + 1DDB12A4E79615DA1D7BAC92FB33A5C1 /* MainScheduler.swift in Sources */, + E76B939BB95EF6A19C490CBA767C708E /* Map.swift in Sources */, + F5A71ABC5987129D47D27F66A6045FD4 /* Materialize.swift in Sources */, + F2B66221F41720F50BA0B656330FD7CB /* Maybe.swift in Sources */, + F2451FD62A81371DA2525F216BC7B84E /* Merge.swift in Sources */, + 95F27A798A23AC54E3C20FC849179E20 /* Multicast.swift in Sources */, + 801031D51FD40C500F171F4959268B0A /* Never.swift in Sources */, + 27F33BC8A21F47F556577418FFE9B0D1 /* NopDisposable.swift in Sources */, + 0D91898FC77A52865ABF6979C962099F /* Observable.swift in Sources */, + 61BAA605E14617B97978467ECFF58BCB /* ObservableConvertibleType.swift in Sources */, + EDD533993B66DEE6738B135725E1D31F /* ObservableType+Extensions.swift in Sources */, + B8EE95D52358A4734896DD6F35002878 /* ObservableType+PrimitiveSequence.swift in Sources */, + 2782D726D061077DEAF93E64497FBF77 /* ObservableType.swift in Sources */, + DEFD374E21759BEB36D8FE5606114288 /* ObserveOn.swift in Sources */, + D7AFBA8842E2619F77890605D90C33D0 /* ObserverBase.swift in Sources */, + 3E54C666A16FBD9D1047B751FC76BF39 /* ObserverType.swift in Sources */, + CEE5AC84BA9D08E7E1E808A6ADD28113 /* OperationQueueScheduler.swift in Sources */, + F0D6D48A57D43F5058C133235EC27BD1 /* Optional.swift in Sources */, + B21423E96DB6D8DAF9919CC6B94A19CE /* Platform.Darwin.swift in Sources */, + 1D2AF09B564CC6BF65FBA7B1C02248C8 /* Platform.Linux.swift in Sources */, + 5311A2BC13840CC9E226ECB0F8210E7D /* PrimitiveSequence+Zip+arity.swift in Sources */, + 5DB750A8130BA6D5C39E64E6E60BA732 /* PrimitiveSequence.swift in Sources */, + EBA1B2986248AE330A2C29217EDCAC0A /* PriorityQueue.swift in Sources */, + 158D2EE18D0F57A80C41CA80D1229FB5 /* Producer.swift in Sources */, + E473B8D19D1B2555C2C46759F3F08D63 /* PublishSubject.swift in Sources */, + 9B4A316F90CB941F1D64E26CCAA870EB /* Queue.swift in Sources */, + C7627C8AD2AE8C23DEA07A4A789F9FE1 /* Range.swift in Sources */, + 3679764338B3550A4065222F6ADD87A0 /* Reactive.swift in Sources */, + 582552449C94638159910AC80A96F865 /* RecursiveLock.swift in Sources */, + DBC1DBA90214C3CB5C5933538BABDCB1 /* RecursiveScheduler.swift in Sources */, + F4C40E17BB43A1501730A2F52A286036 /* Reduce.swift in Sources */, + B8D78F67C0AC4F6ED8687E7A51001762 /* RefCountDisposable.swift in Sources */, + BE4C8F8EFB182E044623E7ADEF85A655 /* Repeat.swift in Sources */, + 80AAC14EEE8DCDDFCD8410D65ED0A0AF /* ReplaySubject.swift in Sources */, + 423B0C9E725E47B20DF9F980DF8A2C1D /* RetryWhen.swift in Sources */, + 34FACE8FB517CC428CE303FDD9588B75 /* Rx.swift in Sources */, + 29964499AA3D1722C9C6BA443244A198 /* RxMutableBox.swift in Sources */, + 39CECC60331E8677967900440BA9EFE1 /* RxSwift-dummy.m in Sources */, + 6097045A8CB97C74497FDD9CA1B81D3C /* Sample.swift in Sources */, + 7641BF1488647A49950B344DE6FC28F0 /* Scan.swift in Sources */, + B6305F920BF1B01E8BC14B4ED387DF5E /* ScheduledDisposable.swift in Sources */, + 777B8596E27EE0B6CD13CB902B1046E0 /* ScheduledItem.swift in Sources */, + DDDAEC933286B9F03779A2632D490B22 /* ScheduledItemType.swift in Sources */, + F7A5AEDBDC5064C89EB168703F896194 /* SchedulerServices+Emulation.swift in Sources */, + 468F33C5C3BE7C3DEA0425AD4008B8EF /* SchedulerType.swift in Sources */, + 3DC66D0709F3034398E1B47F94C6B9F3 /* Sequence.swift in Sources */, + DA30EF892958D385D6261672018418EA /* SerialDispatchQueueScheduler.swift in Sources */, + 5D298985DAADDB128D9E57B283FD85E0 /* SerialDisposable.swift in Sources */, + 2C911E54DE4E4F5A75C195B8F8F627BC /* ShareReplayScope.swift in Sources */, + D8C722EF09453A6966962E3ADD513D05 /* Single.swift in Sources */, + A852866D9C1EF193F8663041990E0FA2 /* SingleAssignmentDisposable.swift in Sources */, + 5033864D075D23358E92C0B69BB4A129 /* SingleAsync.swift in Sources */, + 669CF43BC3D2CB55E6D090762B66AE11 /* Sink.swift in Sources */, + 7F174331151AE2D0FDFDEE5537E63A70 /* Skip.swift in Sources */, + 765A51E6C1DE42BFE2C47C1C466FE6F4 /* SkipUntil.swift in Sources */, + 49D3E4CA2AF664BE3F46EB1B7939C7E9 /* SkipWhile.swift in Sources */, + 6EEDF748577D25A3AF92ED28E097DD7B /* StartWith.swift in Sources */, + DD043F1C6B337C646F83C8D192838322 /* String+Rx.swift in Sources */, + 5222EAFA28D304DE1B8741B6F671FD97 /* SubjectType.swift in Sources */, + 5250EFA77BB9E7F092B7AE6420B28E6D /* SubscribeOn.swift in Sources */, + BC4D7A866CDB74B7E33AC4621523D50F /* SubscriptionDisposable.swift in Sources */, + 1D669F8A30B4E61F1BAAE396721520C9 /* SwiftSupport.swift in Sources */, + 5F802A7BA1B0EF84A30A5D83F255BAD9 /* Switch.swift in Sources */, + 50C6F524134374C84A8390CCAA832F13 /* SwitchIfEmpty.swift in Sources */, + 7DD32ECE3572EE3839FAD0469D13034A /* SynchronizedDisposeType.swift in Sources */, + 02B1A8D30DF83D01CCBA1F75DA997C4F /* SynchronizedOnType.swift in Sources */, + 31BFE2A9873440D319E49CEB1E9F8E0F /* SynchronizedUnsubscribeType.swift in Sources */, + D79E55C918926631C4F09B07FB7CF089 /* TailRecursiveSink.swift in Sources */, + EBA008FEDEF6A6703DAF99E9C3BD1F69 /* Take.swift in Sources */, + 283D9F8251D6B4C5B2719939849FC1D6 /* TakeLast.swift in Sources */, + 767DD2CB746C04531825922BF230DECA /* TakeUntil.swift in Sources */, + 6BEDABD3CB400E2C1894E37242CB9BCE /* TakeWhile.swift in Sources */, + 9AF653902173F85E6B9281E1CA866EAC /* Throttle.swift in Sources */, + 99B67E845264339CAEE35CF9E1A468A5 /* Timeout.swift in Sources */, + 7BDA5C41606F23C545BF6E1C2970A922 /* Timer.swift in Sources */, + 583FF774ADB452A898CCD24847BCE0F3 /* ToArray.swift in Sources */, + A43578D482A715701D3987325F6E4BA3 /* Using.swift in Sources */, + AF52E542235D6A0DB5B77772B58964E5 /* VirtualTimeConverterType.swift in Sources */, + 6A3A49FE4FD7A75B017BF8E29C2C57E0 /* VirtualTimeScheduler.swift in Sources */, + 21BB5C9441894755A88A87DD323F844A /* Window.swift in Sources */, + E7B09014C308B924BED50064DB7D33A5 /* WithLatestFrom.swift in Sources */, + 652D1D167643D83F2FB915171ED9D4F6 /* Zip+arity.swift in Sources */, + A6A84B3F78AA9BBDF6CA594ADACF6B12 /* Zip+Collection.swift in Sources */, + F0B9A279E37485637B0F6942932DAFFF /* Zip.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 414ED8B0B24E0A7FDAA91FBF16DEE32E /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -4276,123 +4465,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 56DBD817A5271051D6B118492123703A /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - AA352FD975A5AD37ADC6BBFDDA9A20BB /* _RX.m in Sources */, - 3A976938482AF47CD3451EB4E41FFCC0 /* _RXDelegateProxy.m in Sources */, - 90D44E848EFC89074E95370615D71983 /* _RXKVOObserver.m in Sources */, - 2F07A6185648FDF8E2E29F1895800DFB /* _RXObjCRuntime.m in Sources */, - D2A03FE9B797CE505AB494BB00108F9E /* Bag.swift in Sources */, - 59EB36E403C35C62A9401B7E634A358F /* BehaviorRelay+Driver.swift in Sources */, - 0439094C4F4EDBC4922BE4FF4673C92E /* BehaviorRelay.swift in Sources */, - DF755BB6949F6B51F50FE883BCEA5D54 /* Binder.swift in Sources */, - 3AF9EA208E27453B2DF2FA313E07EB13 /* ControlEvent+Driver.swift in Sources */, - A1BC06BD91E114E1C5B4DC24DE1B2C50 /* ControlEvent+Signal.swift in Sources */, - 8E834A9E897EB17A9F958070B4E66050 /* ControlEvent.swift in Sources */, - E3FA78E47A68EAD5577A6DF0FA2926D7 /* ControlProperty+Driver.swift in Sources */, - 7F706BD2B175AEDA923BFCB444599F64 /* ControlProperty.swift in Sources */, - 3D98152F2F56FA1FE7D09E76807A726C /* ControlTarget.swift in Sources */, - 416E3339B24362B8A32C6652444F6B0C /* DelegateProxy.swift in Sources */, - EABD512410F54CDD32037EBE5706C7D7 /* DelegateProxyType.swift in Sources */, - C76D1BF58C3682D052EC48C4E0342098 /* Deprecated.swift in Sources */, - E6FFB2EA81C85ED214CB9B8B1973930B /* DispatchQueue+Extensions.swift in Sources */, - 37A2A3BEA3BD651DC004977CA2299990 /* Driver+Subscription.swift in Sources */, - 2A2F73579F4471B904A9E1ABB7D78079 /* Driver.swift in Sources */, - 1739419279119EB3437BC73E5F4E0273 /* InfiniteSequence.swift in Sources */, - D99E0616262E0C7132EA6DCCF66F9624 /* ItemEvents.swift in Sources */, - D7A7EA0132EFBE9F869E9E28FD13F4A3 /* KVORepresentable+CoreGraphics.swift in Sources */, - F6E1AA76EBFF9E225E7998FE7127AE09 /* KVORepresentable+Swift.swift in Sources */, - C2FB21B79E055A614114312B2C403458 /* KVORepresentable.swift in Sources */, - 0BC36426CBF56A82FD50EB4E0D1EB444 /* Logging.swift in Sources */, - 2E619272CB81595DEE6C7E5314BCC65D /* NotificationCenter+Rx.swift in Sources */, - 426A260950A8CE106E101966993CA606 /* NSLayoutConstraint+Rx.swift in Sources */, - 0C40F6BB8157645D5C7D2979EFFC7F39 /* NSObject+Rx+KVORepresentable.swift in Sources */, - 1B727B18947459AA123840C5B41A351A /* NSObject+Rx+RawRepresentable.swift in Sources */, - 0AC6F180A051670E37F5B3439F79A061 /* NSObject+Rx.swift in Sources */, - 12B004AE0DE5C29CF9E945FB9D0A6EDF /* NSTextStorage+Rx.swift in Sources */, - 28CF8D37DA5664FBC9A326071AEED4A4 /* Observable+Bind.swift in Sources */, - 12E665F0A1CEA463E26E5B7F5F339A11 /* ObservableConvertibleType+Driver.swift in Sources */, - 0C0385083950B02A320C55FE3BE34669 /* ObservableConvertibleType+SharedSequence.swift in Sources */, - E486C961968E601AD28D111DE6554FD7 /* ObservableConvertibleType+Signal.swift in Sources */, - 77659A303E7B66692EA72023F889AEFD /* Platform.Darwin.swift in Sources */, - 4F85847E6899FE58D9451E26A766F8DA /* Platform.Linux.swift in Sources */, - FC34D8D22C5F8297F44E3823A39209FE /* PriorityQueue.swift in Sources */, - 1E7F65519376B6C7299BF784CB480616 /* PublishRelay+Signal.swift in Sources */, - 1CA4E543C5A0C9D3A8BE5956BBC5B247 /* PublishRelay.swift in Sources */, - 81A7561392BB967886282D977A383BF3 /* Queue.swift in Sources */, - 715636B3FBB18725B48AC09DB83A1087 /* RecursiveLock.swift in Sources */, - 41F8BAE2FACC28ECA28C9D573D8BB53B /* RxCocoa-dummy.m in Sources */, - 955AB89743D6297366381A60886F1FAF /* RxCocoa.swift in Sources */, - 5BE49CC3F5825090965A72A00C9D45C3 /* RxCocoaObjCRuntimeError+Extensions.swift in Sources */, - 186B284423D6DA8B48DCC9FEC1E28743 /* RxCollectionViewDataSourceProxy.swift in Sources */, - 63C8099D671A983EB3E5E2F6A3AB9325 /* RxCollectionViewDataSourceType.swift in Sources */, - A389251E37A9EE0DCF419C286667D997 /* RxCollectionViewDelegateProxy.swift in Sources */, - 9CD36564DC7853E5DD36DEEF631A7746 /* RxCollectionViewReactiveArrayDataSource.swift in Sources */, - 76603368E31DB17136DFDD48527F8375 /* RxNavigationControllerDelegateProxy.swift in Sources */, - FB1D53DE27A0944D85AD72CD53A51012 /* RxPickerViewAdapter.swift in Sources */, - A5CBD608F011C4C50F2EB66EF5CB7A0C /* RxPickerViewDataSourceProxy.swift in Sources */, - 6E86C58A27B3334570E49D26D4BB7D93 /* RxPickerViewDataSourceType.swift in Sources */, - 605C5C9B3E38735DE1F885AC6AC3AF22 /* RxPickerViewDelegateProxy.swift in Sources */, - 8E011CA1380B4E9661E6E36959E55B44 /* RxScrollViewDelegateProxy.swift in Sources */, - DA395CE8A619786AEC9F03D79CCEFBAF /* RxSearchBarDelegateProxy.swift in Sources */, - C5AA4281929215CC3E875E7704DE219A /* RxSearchControllerDelegateProxy.swift in Sources */, - 0047720EB7F5CEFAFBB82F52B0E9C14C /* RxTabBarControllerDelegateProxy.swift in Sources */, - 7DFF5442291B8CC21945C7B1177668D4 /* RxTabBarDelegateProxy.swift in Sources */, - 1E002E0EFC621A7BBAD43992714ED71E /* RxTableViewDataSourceProxy.swift in Sources */, - AC9AA18E72111EE95F72EAA56BF3E0C4 /* RxTableViewDataSourceType.swift in Sources */, - 7350CC152E221B0FEB694AA9111012E6 /* RxTableViewDelegateProxy.swift in Sources */, - EC26743A8BDDA3A7A61979566C9DAD65 /* RxTableViewReactiveArrayDataSource.swift in Sources */, - 5B0E0160BF228664582C617CAEBF83B4 /* RxTarget.swift in Sources */, - 634149FC87092AA640550128B34C1EAA /* RxTextStorageDelegateProxy.swift in Sources */, - 393BC791FEE05DA7359CCA9B778FDE8A /* RxTextViewDelegateProxy.swift in Sources */, - 97F6C5CDA5A62A24EBF825D08D72F3B3 /* RxWebViewDelegateProxy.swift in Sources */, - 7D9C177478F15224CB6E843ECDB8847B /* SchedulerType+SharedSequence.swift in Sources */, - BF23CCFB68329F34BCE94D0EBC447E53 /* SectionedViewDataSourceType.swift in Sources */, - C7BF8C5B399895D15607F4B887C2B1F6 /* SharedSequence+Operators+arity.swift in Sources */, - 0FE3E8AD7C52B1083B86ACD16BAC78CD /* SharedSequence+Operators.swift in Sources */, - 3B8EB35E8B3FAE88B8F2407618DCE8FE /* SharedSequence.swift in Sources */, - 414EAB5EDC85F42265F43C4EF5567498 /* Signal+Subscription.swift in Sources */, - D9C294ABCB47DC3E6FEFDAD0FA108D2A /* Signal.swift in Sources */, - 992D13BA80B02F0B4C46608426A284CF /* TextInput.swift in Sources */, - BC86ADAB0BACD331C61ABD0DA2398484 /* UIActivityIndicatorView+Rx.swift in Sources */, - F92BC2609473553EDBE3F9C30E867E2E /* UIAlertAction+Rx.swift in Sources */, - 101CFD36D449F31D99FEFDF6CB29878E /* UIApplication+Rx.swift in Sources */, - 3F8E8FAE94316CE1C18CF021B2D0105B /* UIBarButtonItem+Rx.swift in Sources */, - 66330F08995B46CC6E4B258B251837E6 /* UIButton+Rx.swift in Sources */, - 002BF5D301FE5BE051F64E7B485D1B00 /* UICollectionView+Rx.swift in Sources */, - 5FDB8AB6CB1FB16CD5DC912C0BE118C4 /* UIControl+Rx.swift in Sources */, - 2BFEE07862743BAF5ED3D7E6CC3CBA06 /* UIDatePicker+Rx.swift in Sources */, - EDE02880BD91D5EC519B4C889DFE7C0B /* UIGestureRecognizer+Rx.swift in Sources */, - 7F63EC213A1B0D93DDBEFFB7B32630F4 /* UIImageView+Rx.swift in Sources */, - 2F749CD01F85FE93294187294178C2B4 /* UILabel+Rx.swift in Sources */, - 5C52AB71421867CF6066EA2638EE8FB8 /* UINavigationController+Rx.swift in Sources */, - 40CD2B603EE44890BD900801CF790768 /* UINavigationItem+Rx.swift in Sources */, - 714373828414704106846352DA41D75B /* UIPageControl+Rx.swift in Sources */, - 5553AFEF9E55AA3DEA8D382000EAF532 /* UIPickerView+Rx.swift in Sources */, - 1D5BF7CB1E36440539B017C20E68E86B /* UIProgressView+Rx.swift in Sources */, - 42DF7B0F5BFBD02FDC920DC6C869EE8C /* UIRefreshControl+Rx.swift in Sources */, - 3F0FC27C5A2B9680C39CAD4A1BB32ACC /* UIScrollView+Rx.swift in Sources */, - 3A99826C88943BE4F02BB246BC07A835 /* UISearchBar+Rx.swift in Sources */, - 01E2BB31FE13C0A596B9F4EA164B9BF0 /* UISearchController+Rx.swift in Sources */, - 2E45601C0CD3509361BEBC4D82165DFC /* UISegmentedControl+Rx.swift in Sources */, - 4FE02BAA4546AC1733B4704AF97222FA /* UISlider+Rx.swift in Sources */, - B3DC901B2AF6F9BA28754F6B63BD8F23 /* UIStepper+Rx.swift in Sources */, - 86E87AE45D8DFBE416613F535CC8694C /* UISwitch+Rx.swift in Sources */, - 2D1A6CCDA592FF2830DD7B9C44EFD5F6 /* UITabBar+Rx.swift in Sources */, - 3FE38CE6A5B611699CDBB6812680683D /* UITabBarController+Rx.swift in Sources */, - B5D9784024C4A412A24F3F3E7515B5B8 /* UITabBarItem+Rx.swift in Sources */, - 11E6F3EC3B7ED04D32A5E7CEE192CF1A /* UITableView+Rx.swift in Sources */, - 57725668C2C2A8906167EAB9E6B70C33 /* UITextField+Rx.swift in Sources */, - 5F8135370ED925903BC224A65CD5143E /* UITextView+Rx.swift in Sources */, - D4F6716440C963444C46E0BB56D0C887 /* UIView+Rx.swift in Sources */, - EE5296BF6A6B39803F2872971DD8BC3B /* UIViewController+Rx.swift in Sources */, - 516F39BA0F75A4F183BC1E97285B2A29 /* UIWebView+Rx.swift in Sources */, - AC031EF6558722A5D153544B7FA0748A /* URLSession+Rx.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; 6D4ECE0A60E69F261AA10FE2CB90A0AC /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -4420,162 +4492,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 6F9A58234193E3BE9C5EE75D4ADCE70F /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - E5B4D701EB2CD914F23C1A35C30FE714 /* AddRef.swift in Sources */, - 6EE4086E0F1892124E3D762C8BB4F053 /* Amb.swift in Sources */, - A107312D9F3EC75A306D48657F449D18 /* AnonymousDisposable.swift in Sources */, - A816B845C58FFE14E247B46F42E281B4 /* AnonymousObserver.swift in Sources */, - F3839D076C1076DB5A08BA46B9DF8504 /* AnyObserver.swift in Sources */, - 61F14148103C42EA2DDBE580FDA84E71 /* AsMaybe.swift in Sources */, - 12364F9FD0A0D5FA66C23F3BA197560C /* AsSingle.swift in Sources */, - 31B06D14F7C90028A64B3097294C2AF9 /* AsyncLock.swift in Sources */, - D06C0BDAAB680463EAB6151976D97FDB /* AsyncSubject.swift in Sources */, - 92DB4698009EB81D9F3FC3E1AA52ACBA /* Bag+Rx.swift in Sources */, - CD3D1E29EC58784F3CA8014CDFF57C15 /* Bag.swift in Sources */, - EDBD4E7D36E36B28DD3CBDF0C47EBBEB /* BehaviorSubject.swift in Sources */, - E26341CE19A7AC4929FFD523201C0860 /* BinaryDisposable.swift in Sources */, - DB5EC53C26C440F826E5917C0CE3BC49 /* BooleanDisposable.swift in Sources */, - 86D8D59CE36C3F17FD6F0C33FBB2EEC2 /* Buffer.swift in Sources */, - 507C418706B1CB34A4AFDE0CE1958535 /* Cancelable.swift in Sources */, - 9D8E9B8151B7C6D3474994AA8A94D2E1 /* Catch.swift in Sources */, - E0B8D0ACC8156BB106AD064C23E85A91 /* CombineLatest+arity.swift in Sources */, - 44F9107433F905BB292E19007C869484 /* CombineLatest+Collection.swift in Sources */, - CD415CB2809DE0806F62A13C3A755D9A /* CombineLatest.swift in Sources */, - 2A7D2836096CD30596DD893929E4B366 /* Completable+AndThen.swift in Sources */, - ED39AF7EAC8DE72851E95C1C519A1C4B /* Completable.swift in Sources */, - D16017BC000DDD2D44D01DC575C3D889 /* CompositeDisposable.swift in Sources */, - FFC8063AA7ECC642A57F7857E5204C1F /* Concat.swift in Sources */, - E2B398A471EF327E365F49D2AED4B29F /* ConcurrentDispatchQueueScheduler.swift in Sources */, - 83CCFF8B4D091FAB8CE78274062481FE /* ConcurrentMainScheduler.swift in Sources */, - 9638F13BAD51C5CD62DB3FE15F0C7D6A /* ConnectableObservableType.swift in Sources */, - 3DAB3B598E2C07584BFF78DDEF47C43F /* Create.swift in Sources */, - 3B0AF679BEE2ECADF1B32E5E2699B12A /* CurrentThreadScheduler.swift in Sources */, - FD3AC269AE8FBB28BBF9B1A1ED8407D1 /* Debounce.swift in Sources */, - 63FA1FD301EC2014B87111ED004D8BF4 /* Debug.swift in Sources */, - 143B37879AC7F9803E42B9629228F952 /* DefaultIfEmpty.swift in Sources */, - FFF4232C3E4428AC19EB7C985D8E6ED3 /* Deferred.swift in Sources */, - 328AFD2E1098CFFB708CB312E3C9EF76 /* Delay.swift in Sources */, - 474BC65962980B6B00FC8C491161C167 /* DelaySubscription.swift in Sources */, - 382C2F8726687CEBCEFE900ABC19DE8B /* Dematerialize.swift in Sources */, - D73C710A3DCD3FC89E81F0714FA1D942 /* Deprecated.swift in Sources */, - 96932DE0DB40F145D5D7AD3999B3906A /* DispatchQueue+Extensions.swift in Sources */, - 529A0376ADFDE756400C51337262E135 /* DispatchQueueConfiguration.swift in Sources */, - 373E9176F5BEEBC1C17936DD87A59EF7 /* Disposable.swift in Sources */, - B72FD3EDFF1145E037BBC9CDD0CDE1B6 /* Disposables.swift in Sources */, - C8B32E1A519937AC1FEBDFADBFE99CFC /* DisposeBag.swift in Sources */, - EA7DD6E9933A9B5C6638651D33DDD25E /* DisposeBase.swift in Sources */, - 076F923B9297B01FA1ED088A9566DDAE /* DistinctUntilChanged.swift in Sources */, - B9252CB0294E3FC6C828F55366125372 /* Do.swift in Sources */, - E8252353BEE6CA9AFAC8DAC3557DA231 /* ElementAt.swift in Sources */, - D025397672083E6DB0B4AEEF4405E725 /* Empty.swift in Sources */, - 18919F4458D40A888696BB60E1EC02D8 /* Enumerated.swift in Sources */, - C59982C016F63B19E502AB37689A816F /* Error.swift in Sources */, - F88EE7A155ADEB81FE36400267110AD2 /* Errors.swift in Sources */, - 9D690BE2173C61F849665FC1454C85CA /* Event.swift in Sources */, - A0E7B2CA4F8F563C0D11B69C6A5F2523 /* Filter.swift in Sources */, - A1FC96D8A8B90BADF30FFBAC16FAE6E2 /* First.swift in Sources */, - 397EDB4456595E9DAD40A146B2B293D7 /* Generate.swift in Sources */, - 75EC22E0DE8D6CFA4208469C3440EA5E /* GroupBy.swift in Sources */, - 8F2F0D378DF90D6472CF2E2141D5AAC0 /* GroupedObservable.swift in Sources */, - 7C47AE25382B4212F7CC9A9985236DA2 /* HistoricalScheduler.swift in Sources */, - 980B001467D3AF2B1F97A86D1AE36297 /* HistoricalSchedulerTimeConverter.swift in Sources */, - A66E0BEA0EA1D0778BE9E821C5C365C7 /* ImmediateSchedulerType.swift in Sources */, - 5FAC4DB57193055C96C805DCC304A0DE /* InfiniteSequence.swift in Sources */, - ADD6016EE64A8CA19C432D86F2601340 /* InvocableScheduledItem.swift in Sources */, - E545FE85E147AB93353374CDF09262C0 /* InvocableType.swift in Sources */, - 66D6E3863C4A9E6CDD76F488A7454E01 /* Just.swift in Sources */, - 7D4370E1E175CACB927A99A4F370EC08 /* Lock.swift in Sources */, - BC20D85F8B9D3A28C06A753CE27F436F /* LockOwnerType.swift in Sources */, - F06619D65016EDB4D19DA68691DCDB6A /* MainScheduler.swift in Sources */, - D173C9E5A661A9BB52A89BEEC1A5FDDE /* Map.swift in Sources */, - D98E53D284B282523A70D9AB6A14567F /* Materialize.swift in Sources */, - B82E307CB6462A6D517B3BAC56E2E24B /* Maybe.swift in Sources */, - 8C7BEF5706101859A992D0901FE3D5CC /* Merge.swift in Sources */, - 77F99EB9101B90F52AAE75DF10879D9F /* Multicast.swift in Sources */, - A3AEA0E6331DAD6443529BB3DBBC49BB /* Never.swift in Sources */, - B43B2779531636A959003D1B4DF2FC04 /* NopDisposable.swift in Sources */, - 630CCD6FAD73F7C66CE9780DEEE9E326 /* Observable.swift in Sources */, - 91DB08BBAB7A54E946BC79F12D246DCF /* ObservableConvertibleType.swift in Sources */, - 14C15F8FF8A3D2115099F06B2B610FC6 /* ObservableType+Extensions.swift in Sources */, - 4BBAFC083190D12A8B4B95BF9006E98F /* ObservableType+PrimitiveSequence.swift in Sources */, - 8D40445412BE30C1BB34A8A926E2118A /* ObservableType.swift in Sources */, - E0EA69748F2390500374DFA5F5EEFAE3 /* ObserveOn.swift in Sources */, - 441E5FF0EAE0455187595BE7C86DA6A2 /* ObserverBase.swift in Sources */, - 40076004A45ACA34AF2F42F2B601BC1C /* ObserverType.swift in Sources */, - 9A3B42977DC0582DBE20D415B734A91D /* OperationQueueScheduler.swift in Sources */, - 7E57649F0B847A2B6B70ADB8873BF28B /* Optional.swift in Sources */, - 878485E300BBAC222A8DEBEA40598A8B /* Platform.Darwin.swift in Sources */, - B587DCD6CB09647A3D6EB3614A224F96 /* Platform.Linux.swift in Sources */, - 5FD6A35ACFA61C98BA8D9413E358EE00 /* PrimitiveSequence+Zip+arity.swift in Sources */, - D2D87CF1E07B2E4C9B767ED625BDD9A0 /* PrimitiveSequence.swift in Sources */, - 9E80DFE96C5C968CC46F21C4B1D911D7 /* PriorityQueue.swift in Sources */, - 023324C398EB2E472571B8508547E175 /* Producer.swift in Sources */, - 568D7F8874CCF32D41A6C22CA2079A72 /* PublishSubject.swift in Sources */, - 1E11CE5AE7F99C8E579EDF1A3A73D4B3 /* Queue.swift in Sources */, - 23D82543309C95EED389CEAD90C2F045 /* Range.swift in Sources */, - E0038C99D6584DC35E0B9105426C14AE /* Reactive.swift in Sources */, - F6979BB91E1F64A828FC375A1B109DBF /* RecursiveLock.swift in Sources */, - 05AE13A5446782A150DF1DC2F6740329 /* RecursiveScheduler.swift in Sources */, - 8723D72A776FB139F0A9BA89983676C4 /* Reduce.swift in Sources */, - 41BB26280DD3D8A9509E2FC56F093234 /* RefCountDisposable.swift in Sources */, - EF0BE1BACB15B4327C39153E84AF7019 /* Repeat.swift in Sources */, - 8A6316F83B00773B5473DC5F15F99B02 /* ReplaySubject.swift in Sources */, - E2999356E400C7E38B2D4424CFD9A9D9 /* RetryWhen.swift in Sources */, - 907EB0D3D618496EC04BFEF8AF93893F /* Rx.swift in Sources */, - 298864AE1F5356AF4C6EAE7027727CB5 /* RxMutableBox.swift in Sources */, - 67E49543190F443EA8FBF652189C4B33 /* RxSwift-dummy.m in Sources */, - 90E3A23EE7392EC4B75FE453B98A5330 /* Sample.swift in Sources */, - 84C0042FCA8B58402B7650BE3E33CAE0 /* Scan.swift in Sources */, - BA50BE46F45BC22683B41C03C0E70806 /* ScheduledDisposable.swift in Sources */, - 6B8469AA6E0BE9EB70EA415ED077B81C /* ScheduledItem.swift in Sources */, - 0A74D6AD28354E466076E681F328CC06 /* ScheduledItemType.swift in Sources */, - C36A3D74108F6DB97DC8025667D6E879 /* SchedulerServices+Emulation.swift in Sources */, - 89B58692619CBE5F7DC51F851FEF2D21 /* SchedulerType.swift in Sources */, - 3743F6FE1649C20D12E99F3B49BCCC75 /* Sequence.swift in Sources */, - AAEEAF64CE453540970FA5D4AA8EE462 /* SerialDispatchQueueScheduler.swift in Sources */, - 191E85E73C91CE3D4CDB1D6D17220B05 /* SerialDisposable.swift in Sources */, - 484F91517EBACA04A7A4BFBE36A826DD /* ShareReplayScope.swift in Sources */, - C38EB3A8E0F2EB619159BD859360E971 /* Single.swift in Sources */, - EF682831EC2884A01DCD954988095BF8 /* SingleAssignmentDisposable.swift in Sources */, - 944049A8EF6EB6EB01C7500CB7FC6645 /* SingleAsync.swift in Sources */, - D6A2C3F7275A8B58E4CDDE445A39676C /* Sink.swift in Sources */, - E7E430D9E163DEA968AB73F6481319C1 /* Skip.swift in Sources */, - 5BA226AF39BE06D3D012D53D59D3C90D /* SkipUntil.swift in Sources */, - 5816D7ABAEBCE501890CBF2AB71BE75A /* SkipWhile.swift in Sources */, - A32218FC91D1E36A77D0E2496E47AD86 /* StartWith.swift in Sources */, - 1E23F7590A8EC4A78B9A1AEEBD3DE5DA /* String+Rx.swift in Sources */, - 8D5789568BF75B4FA7A38806A01D6DEF /* SubjectType.swift in Sources */, - FC35D462D7F8823702E27875DCB8F1F8 /* SubscribeOn.swift in Sources */, - 2F52C7A1AC29BB5513B0F2AF797C02D0 /* SubscriptionDisposable.swift in Sources */, - 4993D2CB58938034B6F2AB0C9432F7A0 /* SwiftSupport.swift in Sources */, - 582E90A0DAF7315B9201DF147E461AAB /* Switch.swift in Sources */, - E8BAC033E647A5DB4525ACAB48B065DF /* SwitchIfEmpty.swift in Sources */, - 3B0D98EE5618194885C1A7509E8CCC7F /* SynchronizedDisposeType.swift in Sources */, - 30615636C9E87AB6326873D7E4F27A22 /* SynchronizedOnType.swift in Sources */, - AFEC50C554E8A34E79352643137037A5 /* SynchronizedUnsubscribeType.swift in Sources */, - 80984FC0D8D17C62F9096145F972018F /* TailRecursiveSink.swift in Sources */, - 3052DB50FF39D10DC6F1213719676A8D /* Take.swift in Sources */, - F78982EDF3C249FA49BBDD547EAD8519 /* TakeLast.swift in Sources */, - 85B6353194363C284DF7DD1D0C3F49F6 /* TakeUntil.swift in Sources */, - 13FBD60A9C08E40CFFA41948E7E596D5 /* TakeWhile.swift in Sources */, - A75D0E89A92721E1244155747219092F /* Throttle.swift in Sources */, - AB351AF74CA55E50BC98C6C2441E3825 /* Timeout.swift in Sources */, - A2CAA3EC29DAD34AF34B4ACD49E1F1F7 /* Timer.swift in Sources */, - 7D1399EFDCFF986A8591CDCE46782874 /* ToArray.swift in Sources */, - 1F35F2C56AAC0FADA6B06D1C1B35850C /* Using.swift in Sources */, - D2B4771EC165569D422C3C96AC42744D /* VirtualTimeConverterType.swift in Sources */, - B517995244D921513B6DD710747C9273 /* VirtualTimeScheduler.swift in Sources */, - DCC071E4BB76E3B4A94FA0AB25C79FE5 /* Window.swift in Sources */, - BDD90CA1E08AC76FEFA402DF30FE46DA /* WithLatestFrom.swift in Sources */, - 481FE6A7D2D17503ECE638D0FEAB0605 /* Zip+arity.swift in Sources */, - 8A1BE1819670B4A1482D8C53F086DF50 /* Zip+Collection.swift in Sources */, - 93FE186FE3A3FAE7E65A67CACE8BE9A7 /* Zip.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; 7134B5848A7295DEBB3B79661C0AFBC4 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -4832,76 +4748,81 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - A5389D3BC1BA4882B978106367C4ED17 /* Sources */ = { + CDFEDD02529F13E67D2EDAED8E5DB4EB /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - A05538B8137537D8796DE487158E091F /* CALayer+Compat.m in Sources */, - BDFEEA5B22AB61790B306441BCDA87C9 /* CGGeometry+LOTAdditions.m in Sources */, - F294A79644A1849257FD418D115A5614 /* LOTAnimatedControl.m in Sources */, - 2C71B27E7B936D2E3C8ABC11344D91FE /* LOTAnimatedSwitch.m in Sources */, - A155090870D03725E02D55DE1B9C2543 /* LOTAnimationCache.m in Sources */, - 49515127D3479D589D973BE9E2E8D4A7 /* LOTAnimationTransitionController.m in Sources */, - 1206DF61D24740E73467D986945A699C /* LOTAnimationView.m in Sources */, - 0A4BF3A639B77FEABC7E4064359DC02F /* LOTAnimatorNode.m in Sources */, - 0564D554B9FAA81ABCA512F534FB9C05 /* LOTArrayInterpolator.m in Sources */, - FC15179B19C902E9BA1A41664C6A9450 /* LOTAsset.m in Sources */, - DD2E948DA0BFD5F3892AC8C23BE85815 /* LOTAssetGroup.m in Sources */, - 2CDC8AF3D5533D9DE0C938558E3A6F68 /* LOTBezierData.m in Sources */, - FD529765BC5A2832BD4A2E0699D922AE /* LOTBezierPath.m in Sources */, - EB721DC4E2C76780BE41BA4DC77252CB /* LOTCacheProvider.m in Sources */, - 7E545559091ACED787D326817142FCE6 /* LOTCircleAnimator.m in Sources */, - 48C4DB94C08AB5793BBF9A29DF8F5DA4 /* LOTColorInterpolator.m in Sources */, - 03781D2A3A71180078B66012A3D16BD8 /* LOTComposition.m in Sources */, - 5C096AC0401F6A0EAE45DB005987D4A7 /* LOTCompositionContainer.m in Sources */, - 3DFF05585F855CC610E2D52A48F4E99D /* LOTFillRenderer.m in Sources */, - C4145BD6C3F873F9BBF22F79AC107E1C /* LOTGradientFillRender.m in Sources */, - 7BC934969D8AE6AE4BACABE0DF0A1248 /* LOTKeyframe.m in Sources */, - C82BF4F51C561E335ED8837C283F4EBF /* LOTLayer.m in Sources */, - 201A116F2A60DC7A1C2644DEB8C0D391 /* LOTLayerContainer.m in Sources */, - A0F1DDBEB875784716426F2DAC4E83A9 /* LOTLayerGroup.m in Sources */, - 57D0942F81417105242804C1D85354C9 /* LOTMask.m in Sources */, - A980CC83BB8DE7A87AD3688E3172043D /* LOTMaskContainer.m in Sources */, - 637DD60BF61E71AA4B73C7D4FE85EB1E /* LOTNumberInterpolator.m in Sources */, - D1464F741782BFBF5FFA6ED54936ED77 /* LOTPathAnimator.m in Sources */, - DEEB56C6BAD6CC965DB4998B5FC7E05B /* LOTPathInterpolator.m in Sources */, - 4C4610E685DA0B67086FD840B5E21639 /* LOTPointInterpolator.m in Sources */, - BE4169D1178C0286EEB37F39E24600B8 /* LOTPolygonAnimator.m in Sources */, - 38BCB710DF8A7DEB34240CB63520F7A0 /* LOTPolystarAnimator.m in Sources */, - B2D7659C17B67D73EE0B56A5746838FD /* LOTRadialGradientLayer.m in Sources */, - 6ACC4F1A2DA70C5BDA7C23C8AF947B2E /* LOTRenderGroup.m in Sources */, - 82588B562825EC4DEC679FA7E3AE3C43 /* LOTRenderNode.m in Sources */, - C2D2B9384B3BA4E2BA4E0A7B5C0E1D3B /* LOTRepeaterRenderer.m in Sources */, - 0C38854291BBA0B21B6015DB95BF02C1 /* LOTRoundedRectAnimator.m in Sources */, - DDE897A4E8AC2EE3A57732D7AD8E905E /* LOTShapeCircle.m in Sources */, - 6357CE34C0D71C54681010BCD12AC7E9 /* LOTShapeFill.m in Sources */, - 8B02F4B6A9FE81D0DDD1E497244B87E3 /* LOTShapeGradientFill.m in Sources */, - E3B9889995CDB3F3BD21F7FD8EB1A7C6 /* LOTShapeGroup.m in Sources */, - 43E8712679F19F06E3DA6ECBF64E48F4 /* LOTShapePath.m in Sources */, - E967F9E26E31C00B1EB8E93439E73757 /* LOTShapeRectangle.m in Sources */, - 6AE6E6EE5C769CEDFDA5A977A29B932E /* LOTShapeRepeater.m in Sources */, - EE8D1444BA83428D81BE50C346156A8E /* LOTShapeStar.m in Sources */, - AF5F728A93F983A61E6EAEAE1E355DA5 /* LOTShapeStroke.m in Sources */, - 6170DC244D83801A8600F442754684F0 /* LOTShapeTransform.m in Sources */, - 5ACBD4BD4E9CC583CA91F5D3ED82D58E /* LOTShapeTrimPath.m in Sources */, - E6D8BEF654D7BECC26CE6CCCD522A493 /* LOTSizeInterpolator.m in Sources */, - 12219EDD45C4279C52CCD6FE39D5F768 /* LOTStrokeRenderer.m in Sources */, - 4BECA03F4DA152A9B93EC4D87905B3B2 /* lottie-ios-dummy.m in Sources */, - 91964BECA2F0B463AD12E07A6479CF48 /* LOTTransformInterpolator.m in Sources */, - 33F05FEBE3315E7EDC174677A7AC2A70 /* LOTTrimPathNode.m in Sources */, - D489A082AF2ED7D4D5D4BF535640B6B6 /* LOTValueInterpolator.m in Sources */, - D476BEA9ADFA6306E851146B3BF0C777 /* NSValue+Compat.m in Sources */, - 8C5AD4D61937F1DF94E6DCDC672EB193 /* UIColor+Expanded.m in Sources */, - A547EE89F24A52928F7BC1992F867535 /* UIColor.m in Sources */, + E5D9851A41395BD8AA5E356D3E7B174E /* FDFullscreenPopGesture-dummy.m in Sources */, + B84F960E74AE7F8A67099072C643F17F /* UINavigationController+FDFullscreenPopGesture.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - CDFEDD02529F13E67D2EDAED8E5DB4EB /* Sources */ = { + D6B5E28133D32EA697B4748BC9E70775 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - E5D9851A41395BD8AA5E356D3E7B174E /* FDFullscreenPopGesture-dummy.m in Sources */, - B84F960E74AE7F8A67099072C643F17F /* UINavigationController+FDFullscreenPopGesture.m in Sources */, + 25E10864376427E1A50E7C2C71FDA233 /* CALayer+Compat.m in Sources */, + 2846572E7CA0528F8C82CBE89A42D765 /* CGGeometry+LOTAdditions.m in Sources */, + 72ED404ABFCF48754B2DFDB34886A64D /* LOTAnimatedControl.m in Sources */, + 7F4DCE03408063006E071CA441E94B93 /* LOTAnimatedSwitch.m in Sources */, + E6488FA576AB38A7AAC012CD94F69539 /* LOTAnimationCache.m in Sources */, + 470B2DF3AA4A4F2B9460AAD97CA09D60 /* LOTAnimationTransitionController.m in Sources */, + 7D604B57D8B5DDAA2C1D530B19D50703 /* LOTAnimationView.m in Sources */, + EBC6B1CD30D6771245E060BA764C9780 /* LOTAnimatorNode.m in Sources */, + 33F68C68D4A67265729F317D9B48593E /* LOTArrayInterpolator.m in Sources */, + 2B5D82D71860757B7C41D27A62800772 /* LOTAsset.m in Sources */, + 48944B52B1C4E109CB7547003577D4A0 /* LOTAssetGroup.m in Sources */, + B1472D8FD6CBDA59BAFF764AB1ED0962 /* LOTBezierData.m in Sources */, + 5DABACB1895E74A32A05AF4F6BB893EF /* LOTBezierPath.m in Sources */, + 392CE01E093C05C4343943A14FD1C1B9 /* LOTBlockCallback.m in Sources */, + 0CCD57BB05A842A16412A81909520927 /* LOTCacheProvider.m in Sources */, + BC9B94CA3E52193914D6300B63BC8822 /* LOTCircleAnimator.m in Sources */, + AFD86E32C8D67CDA7CFD30F5996ACAF1 /* LOTColorInterpolator.m in Sources */, + A7B424217D3D79BB6B77531BEF2436F0 /* LOTComposition.m in Sources */, + 6A143D2453DD533A3A9BE037C8200755 /* LOTCompositionContainer.m in Sources */, + 7DB0825E22CE571F6CC04E9826D69F6E /* LOTFillRenderer.m in Sources */, + 962A16A4390C8237DEF922CEDB6F92FD /* LOTGradientFillRender.m in Sources */, + E13CD6CEAABAB2DA56431299C71E67DA /* LOTInterpolatorCallback.m in Sources */, + 002F27B83A2647B53B60D6CF6A6CDFD3 /* LOTKeyframe.m in Sources */, + F86843C786C6C06BFA9322A4A0DEAAC1 /* LOTKeypath.m in Sources */, + 7DCFA9D51C0611C4C67A959D59275AC4 /* LOTLayer.m in Sources */, + 89F5E8DE44A394E43DB2D226AD273E23 /* LOTLayerContainer.m in Sources */, + 94DF95605D41F92BA19D968CFBCBAF3C /* LOTLayerGroup.m in Sources */, + 2CA1C6B17E72AD4FD0F1E79B4D8DC129 /* LOTMask.m in Sources */, + 48DE7864746CBC129C542FC964F0221E /* LOTMaskContainer.m in Sources */, + 2C89BB829F8EF648ECC6C384461BC592 /* LOTNumberInterpolator.m in Sources */, + EC7CF254B3756186F663B8012DFFD5DF /* LOTPathAnimator.m in Sources */, + 8FAA53D7C600935281B0FCF52F5EA104 /* LOTPathInterpolator.m in Sources */, + 407B1E039974F2703137195F4E771675 /* LOTPointInterpolator.m in Sources */, + 9887841C8070DF01D7C21A7F9BF438F7 /* LOTPolygonAnimator.m in Sources */, + 92DBB770C733441FEF2727149A0E918D /* LOTPolystarAnimator.m in Sources */, + 88F05BDDB1E70E8AF451BBB7B5836C3F /* LOTRadialGradientLayer.m in Sources */, + 9B8812B6DEA189870E2DBD5E0677128C /* LOTRenderGroup.m in Sources */, + 82DF81BB5D82EA6052AFA9FA1FD45CB3 /* LOTRenderNode.m in Sources */, + 8F573C95BAB4BB9BD33A921CB78B1C0D /* LOTRepeaterRenderer.m in Sources */, + B7FEA163D58168D7ECF5CE7B320795BF /* LOTRoundedRectAnimator.m in Sources */, + CA3D95E6FA70BF094CB2C8DF9CEFDB92 /* LOTShapeCircle.m in Sources */, + 8A283C8CC0CD5A358E689DC2E973282D /* LOTShapeFill.m in Sources */, + 0C13F284FF8C424B9ADA79E3A703C1BC /* LOTShapeGradientFill.m in Sources */, + 5FBEFB32B8A0D82C90FAA91E2854233F /* LOTShapeGroup.m in Sources */, + E408247571C64748ACC76BEDCAA0D74E /* LOTShapePath.m in Sources */, + 9CFC70B34E2DC7BAAF14583C3BDA709F /* LOTShapeRectangle.m in Sources */, + 95B8A915619301F8D9010BF56563FF5C /* LOTShapeRepeater.m in Sources */, + 460DC326DD17FBE43F014E4AD9668879 /* LOTShapeStar.m in Sources */, + DEA456ADF5787AAE28AC8E5C6ACA00DD /* LOTShapeStroke.m in Sources */, + F48A25BC786D3CA8438F42A75DB09265 /* LOTShapeTransform.m in Sources */, + EB4E1EE97A37A3471FC12B39AB5642C6 /* LOTShapeTrimPath.m in Sources */, + B60CD8C1987E92A071DD5870904D2F2E /* LOTSizeInterpolator.m in Sources */, + E5EEFAD6753F306A888B0977E6C13F9C /* LOTStrokeRenderer.m in Sources */, + 188864AE2B98B14692BA2947BADC11A0 /* lottie-ios-dummy.m in Sources */, + F1F92C366C3DC310792F9A00E0D53B59 /* LOTTransformInterpolator.m in Sources */, + 9529194AB681B193444109F0734BAD6A /* LOTTrimPathNode.m in Sources */, + 0E637E19DE1D0A81DF4F4E9FF59BCD23 /* LOTValueCallback.m in Sources */, + 77689D441A12F6F4EEC8F53C87EDFFE9 /* LOTValueInterpolator.m in Sources */, + 7FD5A8056A72CD2151158CBDDC7A069E /* NSValue+Compat.m in Sources */, + 0C88C75B71006F8791437E483E425526 /* UIBezierPath.m in Sources */, + 8993606408B6694FB19D4DA0169BAC5F /* UIColor+Expanded.m in Sources */, + 5AF8FCB5511FD4A4D4B238AA2BFFAA04 /* UIColor.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -4947,6 +4868,124 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + FFF8420172CA089E5302B783D643071A /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + C16BA54FCFE7FB5303C83630603CA1F9 /* _RX.m in Sources */, + D772AAB6C5E27CE42E178AC2840777F7 /* _RXDelegateProxy.m in Sources */, + D92B11727E2B508D10088412C3AD4248 /* _RXKVOObserver.m in Sources */, + F84259C1B09EB8BB5AFFB42B1FB57F06 /* _RXObjCRuntime.m in Sources */, + B73EC142DF7B5AA0172477C10BAB8A07 /* Bag.swift in Sources */, + C1C36D09D96BDD06D1BEF608EAAA8721 /* BehaviorRelay+Driver.swift in Sources */, + 8686A811088274AD89479F3C318FC9EF /* BehaviorRelay.swift in Sources */, + D74AC5DFCAC141A43E8806C6B7497904 /* Binder.swift in Sources */, + 4851CCE9EACB588A4FF9B4BECA02FBA4 /* ControlEvent+Driver.swift in Sources */, + AB471A2F518A686CD25965CA95C7E050 /* ControlEvent+Signal.swift in Sources */, + 4C2BC51AF1D9C015C8714E5FAFCE7138 /* ControlEvent.swift in Sources */, + 6E616903437F6D9BDC75B87DAE75013D /* ControlProperty+Driver.swift in Sources */, + F8A981199739999CD0AAEB6B202FF63F /* ControlProperty.swift in Sources */, + 7C95EC9EB605FEAB8EA58147402A7E9C /* ControlTarget.swift in Sources */, + E02BB658D552F1B5A17449C787E4ED15 /* DelegateProxy.swift in Sources */, + FA1397073A0C465B70330BA337924C85 /* DelegateProxyType.swift in Sources */, + D26B065E76236130A49CB67FB1E7C448 /* Deprecated.swift in Sources */, + 618BDCDB70D6B463BB6EB7FAAE8B98D1 /* DeprecationWarner.swift in Sources */, + A5B651DB6B01996672B030664F24B1E7 /* DispatchQueue+Extensions.swift in Sources */, + 09DB26ECCB21FD842D2DCF0623F9B318 /* Driver+Subscription.swift in Sources */, + E601C2A38908E4E975B756ADF720CB08 /* Driver.swift in Sources */, + 890494378E169BF4305ABE6DCBB3D982 /* InfiniteSequence.swift in Sources */, + 482C2D1A6E51CA461CA13DE648621ACF /* ItemEvents.swift in Sources */, + DA93B055F65C1E26535DE23DD9EED9C3 /* KVORepresentable+CoreGraphics.swift in Sources */, + BC7009F65CA46454AEBA22B6A6745C4E /* KVORepresentable+Swift.swift in Sources */, + D7AE0639DB83BF394029DB3E5F9268EA /* KVORepresentable.swift in Sources */, + 21E437B2584FD879EDE05C6F0029BB3A /* Logging.swift in Sources */, + 708D1353B3674D7E7F202309B3BE9AB0 /* NotificationCenter+Rx.swift in Sources */, + 3796DED7050BE4D67756871B2858A6E3 /* NSLayoutConstraint+Rx.swift in Sources */, + 2BE7838169097C3FC888BD7BC299D21A /* NSObject+Rx+KVORepresentable.swift in Sources */, + D8FFE946A45BB65CC1B64B211CB26E08 /* NSObject+Rx+RawRepresentable.swift in Sources */, + 4F9245549A41D287F5A01F8E32CC9830 /* NSObject+Rx.swift in Sources */, + DFDA7F6557BC0AB91805D6C050E661FC /* NSTextStorage+Rx.swift in Sources */, + 6F105F61BFB1AB706EF762084EB9EE02 /* Observable+Bind.swift in Sources */, + C4658469DAAE68B5183108D3000C1D28 /* ObservableConvertibleType+Driver.swift in Sources */, + F067F3E4950DE7BEE47752FFC6F680A4 /* ObservableConvertibleType+SharedSequence.swift in Sources */, + 45677FA3E0B908496AE3E7E085108F55 /* ObservableConvertibleType+Signal.swift in Sources */, + 06CD0DEA855D181BC470D41FDD0FC24A /* Platform.Darwin.swift in Sources */, + 58BF810456F78D685C4C7C4A2C2E3F08 /* Platform.Linux.swift in Sources */, + D5CF4A935E7AF9822B1FFA39B1162649 /* PriorityQueue.swift in Sources */, + 378B6216F42EA510A809E15A488C9C41 /* PublishRelay+Signal.swift in Sources */, + CA8DC2C5C1A4364B3D94EF28D742023F /* PublishRelay.swift in Sources */, + 6B003C8E7797343D1F5157FE0148567A /* Queue.swift in Sources */, + 017B054EAA54B0781C899ADB46BF48A2 /* RecursiveLock.swift in Sources */, + 9EA78787F3F856850BC0E6F773ADD448 /* RxCocoa-dummy.m in Sources */, + D14EED533A399A8946CD70A9C519CC9E /* RxCocoa.swift in Sources */, + D31135425A11DEBBF3DE068CA8B972C0 /* RxCocoaObjCRuntimeError+Extensions.swift in Sources */, + 183C3BB3DFC00FA2A46F42432D91180F /* RxCollectionViewDataSourceProxy.swift in Sources */, + B8081420F7D76C1506893935CA08E74D /* RxCollectionViewDataSourceType.swift in Sources */, + 459E1F512421D19A10E831340732838F /* RxCollectionViewDelegateProxy.swift in Sources */, + DF5C9EC8A41589B332977C2E2EF74161 /* RxCollectionViewReactiveArrayDataSource.swift in Sources */, + A19E1FA26E95CAB32744B1739065A152 /* RxNavigationControllerDelegateProxy.swift in Sources */, + C46843746C6C33A9407BFF57533AE948 /* RxPickerViewAdapter.swift in Sources */, + 11EE29712000C6A553D637803D088A2F /* RxPickerViewDataSourceProxy.swift in Sources */, + 0E24DB5D4C639CC444CFF22C10E0C843 /* RxPickerViewDataSourceType.swift in Sources */, + FCB53B6F4756CCD488CD2D114738DAD3 /* RxPickerViewDelegateProxy.swift in Sources */, + B80FF84492A0422C57505812C1163B79 /* RxScrollViewDelegateProxy.swift in Sources */, + 650F630F72149298F1243E9678501296 /* RxSearchBarDelegateProxy.swift in Sources */, + 3D90D81F4CA8F073F29B3C1BBA09FC30 /* RxSearchControllerDelegateProxy.swift in Sources */, + 809143E28BAA439FBECA69D141A344E6 /* RxTabBarControllerDelegateProxy.swift in Sources */, + B497FB01CBD8D80EF70DCEA175A9E0ED /* RxTabBarDelegateProxy.swift in Sources */, + 8CFCE2D20C1784F3CC4773E8AD33C9AD /* RxTableViewDataSourceProxy.swift in Sources */, + 2613644FF6D6DEAF789AF468A8614DF3 /* RxTableViewDataSourceType.swift in Sources */, + A33522CA75541BF9A527241A97912A42 /* RxTableViewDelegateProxy.swift in Sources */, + EBEF6D832A1004339C1A74469DD1FBF2 /* RxTableViewReactiveArrayDataSource.swift in Sources */, + 2D5A9397B0EB73E7367CDE4CE530BB65 /* RxTarget.swift in Sources */, + 12C4CBC65F95140215B08D14132C3100 /* RxTextStorageDelegateProxy.swift in Sources */, + 4CD1DBC3FEC89A3DF333433DCACD7233 /* RxTextViewDelegateProxy.swift in Sources */, + 3B686D3C5B6B85293CC881A5AE2AE304 /* RxWebViewDelegateProxy.swift in Sources */, + 2C870D34D576D8469624AC1EBFD744E8 /* SchedulerType+SharedSequence.swift in Sources */, + E7B345242CFD819EF5FA2F1682CE22AE /* SectionedViewDataSourceType.swift in Sources */, + 6D0B131D917F189AD072F48AC5AB41D7 /* SharedSequence+Operators+arity.swift in Sources */, + 45481DB9433D267337329718652BE62A /* SharedSequence+Operators.swift in Sources */, + F5827F59974BD6B3F1FAB9FF055C32D6 /* SharedSequence.swift in Sources */, + C3ED35A0CF7B3DB109146A7BA7BA3201 /* Signal+Subscription.swift in Sources */, + 5A6B595B6BD679162FBC94CD43AF7BB9 /* Signal.swift in Sources */, + FD7AC77B0A5FE3536FBD399D73ED1685 /* TextInput.swift in Sources */, + 00A56849FE50A9E1C5C4E28BD9BE5263 /* UIActivityIndicatorView+Rx.swift in Sources */, + 7B81180B584974277027DC69548A7092 /* UIAlertAction+Rx.swift in Sources */, + 57051C490E8DAB127EE44A7258CB6903 /* UIApplication+Rx.swift in Sources */, + 4D693FB72AC596312C5F126BF26F59AC /* UIBarButtonItem+Rx.swift in Sources */, + 1C57EEFDB7C6659A5AD629226DB911A7 /* UIButton+Rx.swift in Sources */, + 1ED2209AAB5099B77FB00E59C9C4B14E /* UICollectionView+Rx.swift in Sources */, + 52D3701C543FDE9B19161BF4B9A09956 /* UIControl+Rx.swift in Sources */, + E22A1B23E75105943EA0617003A1BD4B /* UIDatePicker+Rx.swift in Sources */, + 6424ACB64ADF3C88FA94BE2FAABEDEFB /* UIGestureRecognizer+Rx.swift in Sources */, + 8AE20879F2D3F8E3E4A687DA4912E572 /* UIImageView+Rx.swift in Sources */, + 1CD9306809BD7F489F9F065AE6FFD8D1 /* UILabel+Rx.swift in Sources */, + BDFFA964F8332581E13CF3FF5878DD86 /* UINavigationController+Rx.swift in Sources */, + EC52D51D35C0FD83256E43E22DBD6AEE /* UINavigationItem+Rx.swift in Sources */, + 83B859D5C195EF87369EB5A3E8C87886 /* UIPageControl+Rx.swift in Sources */, + 304397EE2199593A33A0FC2374DBECA3 /* UIPickerView+Rx.swift in Sources */, + 5D3CACE7CE914CFD2D4178BCF5CA2FD7 /* UIProgressView+Rx.swift in Sources */, + 49B6F05CDF7ACCC41DD231E3E5AD442D /* UIRefreshControl+Rx.swift in Sources */, + 2BAEA4C90EA90E2C5603EACA9953074E /* UIScrollView+Rx.swift in Sources */, + D23529A0CC3DB3BE78FF9F20708DE2C2 /* UISearchBar+Rx.swift in Sources */, + B3FE4512C4FAA3F3A94F7E3C5C84FF23 /* UISearchController+Rx.swift in Sources */, + 8B9290D5AA88C0B476CF69999EE2C8BA /* UISegmentedControl+Rx.swift in Sources */, + DDAA7FCE37A0B91BD6D6EEE3DD433E97 /* UISlider+Rx.swift in Sources */, + 57B67246EA9AD674811C023F6530AA47 /* UIStepper+Rx.swift in Sources */, + 19F3B28FFC0AFE8AE56BD08E114365FF /* UISwitch+Rx.swift in Sources */, + 2BF19445567CAB53166A191BBE791D19 /* UITabBar+Rx.swift in Sources */, + 93B2DBF0C33747E8551879C4BBA4EB3B /* UITabBarController+Rx.swift in Sources */, + F5927A9424A561921958D58CC043BA0A /* UITabBarItem+Rx.swift in Sources */, + E8D7400941BFC86840A3672098691896 /* UITableView+Rx.swift in Sources */, + 601F177F7E7B20C2A5E9D3C8BAAB8C9B /* UITextField+Rx.swift in Sources */, + BF83008EFF7E9FB730B9D709C42076B1 /* UITextView+Rx.swift in Sources */, + 5DAAC211BD4801B542F4526BBF4D7DFC /* UIView+Rx.swift in Sources */, + F933903AE3975869D9BDCC583215F87C /* UIViewController+Rx.swift in Sources */, + 0FA35D9EA664B6D9510795E7E6FAB54E /* UIWebView+Rx.swift in Sources */, + FFC2B5032E465E08261662839B601928 /* URLSession+Rx.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ @@ -4983,7 +5022,7 @@ 434E054BA93BA669BFFB05717EBD59EF /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = Kingfisher; - target = 6F712943B3C5592E82604940D11CE08A /* Kingfisher */; + target = 4F87037150ABE2C9238B54E8F6E33F36 /* Kingfisher */; targetProxy = 828D4BE848EE74A9C78ECE86D271959C /* PBXContainerItemProxy */; }; 52E4393DB80139C1EA132A27F1411289 /* PBXTargetDependency */ = { @@ -4995,7 +5034,7 @@ 5C704FBDE512C28E02282A941955D47E /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = "lottie-ios"; - target = 8386817F9A5E38AB99F1AA49CD86EB76 /* lottie-ios */; + target = 8EEA87EC20A241510DE48460AC208D2F /* lottie-ios */; targetProxy = 79CFE27E2A061E81652E171334FBE0C3 /* PBXContainerItemProxy */; }; 72D2AB1703D71E6B54B1493A668BFCA3 /* PBXTargetDependency */ = { @@ -5075,7 +5114,7 @@ /* Begin XCBuildConfiguration section */ 0913251664D9A93A32B5AE56D1A03986 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = AF2A4E12788C6B76699BB45ADD58D2C3 /* MJRefresh.xcconfig */; + baseConfigurationReference = B7F70E8EEBE22A9855A4B48EEAE25C38 /* MJRefresh.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -5105,7 +5144,7 @@ }; 0BFA77877E8CA8AB3457A2FE1D05C487 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B083172486B0E380AECD401BDDB4C391 /* FDFullscreenPopGesture.xcconfig */; + baseConfigurationReference = 47AA2746CC04D18AC86351AD7EA76A04 /* FDFullscreenPopGesture.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -5134,10 +5173,11 @@ }; name = Release; }; - 1849A20137348C0D76C07DB8747B76CC /* Release */ = { + 0FEA3EAEB9F21FCB6C9C5AC926CBEDAF /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 503D2A56C7F31106F49E1FFEB1D8F18F /* BMPlayer.xcconfig */; + baseConfigurationReference = 2F7779E8FE554C5620B3381406F2DBD5 /* Pods-News.release.xcconfig */; buildSettings = { + CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -5147,18 +5187,20 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/BMPlayer/BMPlayer-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/BMPlayer/Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-News/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/BMPlayer/BMPlayer.modulemap"; - PRODUCT_NAME = BMPlayer; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-News/Pods-News.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = Pods_News; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; @@ -5166,9 +5208,9 @@ }; name = Release; }; - 1FC2E06E7C57833222094F21234B44FE /* Debug */ = { + 1849A20137348C0D76C07DB8747B76CC /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 307A0D460BCD2378C297F994AC8093C3 /* SVProgressHUD.xcconfig */; + baseConfigurationReference = 08882D9E84728BB8CC325CCA274A7A2A /* BMPlayer.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -5179,26 +5221,28 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/SVProgressHUD/SVProgressHUD-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/SVProgressHUD/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/BMPlayer/BMPlayer-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/BMPlayer/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/SVProgressHUD/SVProgressHUD.modulemap"; - PRODUCT_NAME = SVProgressHUD; + MODULEMAP_FILE = "Target Support Files/BMPlayer/BMPlayer.modulemap"; + PRODUCT_NAME = BMPlayer; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; - 202C6890D5B3EB627904AE82F432E3B8 /* Debug */ = { + 1FC2E06E7C57833222094F21234B44FE /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = DD27B03334566028663D2FC09C5C2A8B /* lottie-ios.xcconfig */; + baseConfigurationReference = 658512D9B07170288E9EAD357608FFFD /* SVProgressHUD.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -5209,13 +5253,13 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/lottie-ios/lottie-ios-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/lottie-ios/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/SVProgressHUD/SVProgressHUD-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/SVProgressHUD/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/lottie-ios/lottie-ios.modulemap"; - PRODUCT_NAME = Lottie; + MODULEMAP_FILE = "Target Support Files/SVProgressHUD/SVProgressHUD.modulemap"; + PRODUCT_NAME = SVProgressHUD; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -5228,7 +5272,7 @@ }; 20DEBF9F4E2310CD340F97D7C90D8506 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E73AB822D87E12067FB47A291B9DA0C0 /* SQLite.swift.xcconfig */; + baseConfigurationReference = 0540F073BA5ECA990AEBA068B412C643 /* SQLite.swift.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -5260,7 +5304,7 @@ }; 24ABC0EEBF9D42A9C360DAB255C94047 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = F8EA9B6FD142E1F4F9B5FE84DC427011 /* SwiftyJSON.xcconfig */; + baseConfigurationReference = 455469F99FEF6C9AFE95285F628325DD /* SwiftyJSON.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -5292,7 +5336,7 @@ }; 2C049F260E10D2290FFC95D89A2D842F /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 307A0D460BCD2378C297F994AC8093C3 /* SVProgressHUD.xcconfig */; + baseConfigurationReference = 658512D9B07170288E9EAD357608FFFD /* SVProgressHUD.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -5323,7 +5367,7 @@ }; 2D22F97FD58171A0E5AB5842B03102B7 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 3BBD56D999D1373EE88659FE99CEE4E2 /* IBAnimatable.xcconfig */; + baseConfigurationReference = BD3DDF40E33F05CE88E3A977BA5ACF7F /* IBAnimatable.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -5355,7 +5399,7 @@ }; 34191108063C9D5973FFD59BEBDBFEB2 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 55A98612B6712DF92A37DA4B0FB6FD0A /* SwiftTheme.xcconfig */; + baseConfigurationReference = C1383C2A1C4DDB15B4D8904185FAB90C /* SwiftTheme.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -5387,7 +5431,7 @@ }; 3ACCD65DC1180EB50F2C40D905F8592B /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 1B8D0BC9B8877FF1903820BBECDE1085 /* SnapKit.xcconfig */; + baseConfigurationReference = 0AA55B1C8FCF414BC03A5E48A97EC080 /* SnapKit.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -5416,10 +5460,70 @@ }; name = Debug; }; - 3EB0831B1A3D17E661955BEDA36942FD /* Release */ = { + 49B5A78DBE571998053070754D3695E8 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGNING_REQUIRED = NO; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_PREPROCESSOR_DEFINITIONS = ( + "POD_CONFIGURATION_RELEASE=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; + MTL_ENABLE_DEBUG_INFO = NO; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = NO_SIGNING/; + STRIP_INSTALLED_PRODUCT = NO; + SWIFT_COMPILATION_MODE = wholemodule; + SYMROOT = "${SRCROOT}/../build"; + }; + name = Release; + }; + 4A91214750A6BC214EB4C56DC8DEA1C4 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 3AB600873B5BAFB0CF8BA1B87184D77D /* Pods-News.release.xcconfig */; + baseConfigurationReference = 332730E1D9F8907F06898C6963E536DB /* Pods-News.debug.xcconfig */; buildSettings = { + CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -5442,17 +5546,17 @@ PRODUCT_NAME = Pods_News; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; 4FF75B44F15BFAB6143925758E0B0EBE /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 503D2A56C7F31106F49E1FFEB1D8F18F /* BMPlayer.xcconfig */; + baseConfigurationReference = 08882D9E84728BB8CC325CCA274A7A2A /* BMPlayer.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -5483,7 +5587,7 @@ }; 53278B27463D8AD7FFAA9F1E221550E3 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 9B092319D439180FAB85C4314E79AF87 /* SGPagingView.xcconfig */; + baseConfigurationReference = 94B695514542659BCF17CA5A325BC508 /* SGPagingView.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -5511,9 +5615,9 @@ }; name = Debug; }; - 576C583E88A92DC2279EB3BFC2CA8A6C /* Debug */ = { + 5643E6E2AE8863750FABF84A1E278A25 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = BC001E848546222EFF535823A8A70709 /* Kingfisher.xcconfig */; + baseConfigurationReference = E24F1002471BDEE02229C94F4144D22E /* Kingfisher.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -5544,7 +5648,7 @@ }; 5C30C55CB914538417D165F55CEA68F9 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 3BBD56D999D1373EE88659FE99CEE4E2 /* IBAnimatable.xcconfig */; + baseConfigurationReference = BD3DDF40E33F05CE88E3A977BA5ACF7F /* IBAnimatable.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -5575,7 +5679,7 @@ }; 6B35A74A75A7D820F149D9D3BA23D475 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 79C10F4F34358AF0A070BC4A46D6E743 /* NVActivityIndicatorView.xcconfig */; + baseConfigurationReference = A264D4730065B34E9CD16540BA1559AE /* NVActivityIndicatorView.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -5605,9 +5709,9 @@ }; name = Release; }; - 71F600BACA319512468BEC3723251EFF /* Release */ = { + 6CEE85C4648B38EFFDE7A1386C6045FE /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = DD27B03334566028663D2FC09C5C2A8B /* lottie-ios.xcconfig */; + baseConfigurationReference = 3EFE4549E78561A1AF80A0E64A8324AF /* lottie-ios.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -5636,69 +5740,9 @@ }; name = Release; }; - 7C07ED8089F70A31B83996A8910D7F18 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGNING_REQUIRED = NO; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "POD_CONFIGURATION_DEBUG=1", - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = NO_SIGNING/; - STRIP_INSTALLED_PRODUCT = NO; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SYMROOT = "${SRCROOT}/../build"; - }; - name = Debug; - }; 7C8B51F4171724A1007F7B2009A00FBC /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = AF2A4E12788C6B76699BB45ADD58D2C3 /* MJRefresh.xcconfig */; + baseConfigurationReference = B7F70E8EEBE22A9855A4B48EEAE25C38 /* MJRefresh.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -5729,7 +5773,7 @@ }; 8DD9A29D4E98CDF25A90587AAE4E040A /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 55A98612B6712DF92A37DA4B0FB6FD0A /* SwiftTheme.xcconfig */; + baseConfigurationReference = C1383C2A1C4DDB15B4D8904185FAB90C /* SwiftTheme.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -5758,98 +5802,9 @@ }; name = Debug; }; - 98F29E7567052F62660DDD7069ADF73C /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGNING_REQUIRED = NO; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_PREPROCESSOR_DEFINITIONS = ( - "POD_CONFIGURATION_RELEASE=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; - MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = NO_SIGNING/; - STRIP_INSTALLED_PRODUCT = NO; - SYMROOT = "${SRCROOT}/../build"; - }; - name = Release; - }; - 9BCDF786C61C223F69EC181A0A6F1A70 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = E7EB15D84FC54B90B68CEB3838D58B8F /* Pods-News.debug.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-News/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-News/Pods-News.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = Pods_News; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; A0678342347EC174E0D9A24B2C1D4B27 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C02661120B6B034150C7D9F8F8A17144 /* RxSwift.xcconfig */; + baseConfigurationReference = 8C4F1465D3C7B34C4A719DD19F0552A2 /* RxSwift.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -5881,7 +5836,7 @@ }; AF676310933DA7C2E2983F4F6B298F49 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B083172486B0E380AECD401BDDB4C391 /* FDFullscreenPopGesture.xcconfig */; + baseConfigurationReference = 47AA2746CC04D18AC86351AD7EA76A04 /* FDFullscreenPopGesture.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -5911,7 +5866,7 @@ }; B0F5F1530D3F4E518BE2B1A52F98487A /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 19DBC2D37689D24C2C9C2DDF6DFB883C /* Alamofire.xcconfig */; + baseConfigurationReference = C3DA16F081046738F248885655985925 /* Alamofire.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -5942,7 +5897,7 @@ }; B8CA02655A4B738D82484691EE8CA58F /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 19DBC2D37689D24C2C9C2DDF6DFB883C /* Alamofire.xcconfig */; + baseConfigurationReference = C3DA16F081046738F248885655985925 /* Alamofire.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -5974,7 +5929,7 @@ }; C01937ABC437F4036CB7F0C56054F6A0 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 97C76A646F0260D7632F463FDF102E6C /* RxCocoa.xcconfig */; + baseConfigurationReference = A550DFE215E1D587019921BBA2BBD6A7 /* RxCocoa.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -6006,7 +5961,7 @@ }; C6B877BF3691C09CF3E7F16E5FA18454 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E73AB822D87E12067FB47A291B9DA0C0 /* SQLite.swift.xcconfig */; + baseConfigurationReference = 0540F073BA5ECA990AEBA068B412C643 /* SQLite.swift.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -6035,9 +5990,41 @@ }; name = Debug; }; + CC248524436A644DBEAF1DC4BC46B531 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = E24F1002471BDEE02229C94F4144D22E /* Kingfisher.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/Kingfisher/Kingfisher-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Kingfisher/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/Kingfisher/Kingfisher.modulemap"; + PRODUCT_NAME = Kingfisher; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_VERSION = 4.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; D2FFD19839BB69DA6D754E91575FD864 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 79C10F4F34358AF0A070BC4A46D6E743 /* NVActivityIndicatorView.xcconfig */; + baseConfigurationReference = A264D4730065B34E9CD16540BA1559AE /* NVActivityIndicatorView.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -6068,7 +6055,7 @@ }; D81A04E8907CA5C94CDBB76435064749 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 97C76A646F0260D7632F463FDF102E6C /* RxCocoa.xcconfig */; + baseConfigurationReference = A550DFE215E1D587019921BBA2BBD6A7 /* RxCocoa.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -6099,7 +6086,7 @@ }; DAE72FF2FFE8166FA938EB388ABBC2B5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = FAA983385C9A642378F27DB150BC3A24 /* HandyJSON.xcconfig */; + baseConfigurationReference = 3CD132F82D4AFE584A00DCF06E017092 /* HandyJSON.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -6128,9 +6115,72 @@ }; name = Debug; }; + DD369323FD85CB26347C0D75C75D837F /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGNING_REQUIRED = NO; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "POD_CONFIGURATION_DEBUG=1", + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = NO_SIGNING/; + STRIP_INSTALLED_PRODUCT = NO; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SYMROOT = "${SRCROOT}/../build"; + }; + name = Debug; + }; DD4C468A48B6AB6158B1A476586B0BFA /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C02661120B6B034150C7D9F8F8A17144 /* RxSwift.xcconfig */; + baseConfigurationReference = 8C4F1465D3C7B34C4A719DD19F0552A2 /* RxSwift.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -6159,9 +6209,9 @@ }; name = Debug; }; - E8652F35BF322A3957D0F62338910B79 /* Release */ = { + ECB5142D4DABB45B92371C51B3EB61F8 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = BC001E848546222EFF535823A8A70709 /* Kingfisher.xcconfig */; + baseConfigurationReference = 3CD132F82D4AFE584A00DCF06E017092 /* HandyJSON.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -6172,13 +6222,13 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/Kingfisher/Kingfisher-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Kingfisher/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/HandyJSON/HandyJSON-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/HandyJSON/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Kingfisher/Kingfisher.modulemap"; - PRODUCT_NAME = Kingfisher; + MODULEMAP_FILE = "Target Support Files/HandyJSON/HandyJSON.modulemap"; + PRODUCT_NAME = HandyJSON; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -6191,9 +6241,9 @@ }; name = Release; }; - ECB5142D4DABB45B92371C51B3EB61F8 /* Release */ = { + F16BEE452E5FA01116161E80B23144C9 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = FAA983385C9A642378F27DB150BC3A24 /* HandyJSON.xcconfig */; + baseConfigurationReference = 3EFE4549E78561A1AF80A0E64A8324AF /* lottie-ios.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -6204,28 +6254,26 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/HandyJSON/HandyJSON-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/HandyJSON/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/lottie-ios/lottie-ios-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/lottie-ios/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/HandyJSON/HandyJSON.modulemap"; - PRODUCT_NAME = HandyJSON; + MODULEMAP_FILE = "Target Support Files/lottie-ios/lottie-ios.modulemap"; + PRODUCT_NAME = Lottie; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; F2C1245144606020EC0F09E0A10CF018 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 9B092319D439180FAB85C4314E79AF87 /* SGPagingView.xcconfig */; + baseConfigurationReference = 94B695514542659BCF17CA5A325BC508 /* SGPagingView.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -6256,7 +6304,7 @@ }; FBA9BE7B3FFC854ACD52D896A7C2F67A /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 1B8D0BC9B8877FF1903820BBECDE1085 /* SnapKit.xcconfig */; + baseConfigurationReference = 0AA55B1C8FCF414BC03A5E48A97EC080 /* SnapKit.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -6288,7 +6336,7 @@ }; FD4E51F9B9A63DCE55BDB18AA320869E /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = F8EA9B6FD142E1F4F9B5FE84DC427011 /* SwiftyJSON.xcconfig */; + baseConfigurationReference = 455469F99FEF6C9AFE95285F628325DD /* SwiftyJSON.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -6323,8 +6371,8 @@ 03BB12A728A359975B938A74143503AD /* Build configuration list for PBXNativeTarget "Pods-News" */ = { isa = XCConfigurationList; buildConfigurations = ( - 9BCDF786C61C223F69EC181A0A6F1A70 /* Debug */, - 3EB0831B1A3D17E661955BEDA36942FD /* Release */, + 4A91214750A6BC214EB4C56DC8DEA1C4 /* Debug */, + 0FEA3EAEB9F21FCB6C9C5AC926CBEDAF /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -6350,8 +6398,8 @@ 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */ = { isa = XCConfigurationList; buildConfigurations = ( - 7C07ED8089F70A31B83996A8910D7F18 /* Debug */, - 98F29E7567052F62660DDD7069ADF73C /* Release */, + DD369323FD85CB26347C0D75C75D837F /* Debug */, + 49B5A78DBE571998053070754D3695E8 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -6392,38 +6440,38 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 6FD04D0DBA6414AAA06E21C9CD0C191D /* Build configuration list for PBXNativeTarget "BMPlayer" */ = { + 6E151CD202797E4A2B6521EE8BECB6DE /* Build configuration list for PBXNativeTarget "Kingfisher" */ = { isa = XCConfigurationList; buildConfigurations = ( - 4FF75B44F15BFAB6143925758E0B0EBE /* Debug */, - 1849A20137348C0D76C07DB8747B76CC /* Release */, + 5643E6E2AE8863750FABF84A1E278A25 /* Debug */, + CC248524436A644DBEAF1DC4BC46B531 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 75867BDCEBA3936275BF5C1A0C267CBF /* Build configuration list for PBXNativeTarget "lottie-ios" */ = { + 6FD04D0DBA6414AAA06E21C9CD0C191D /* Build configuration list for PBXNativeTarget "BMPlayer" */ = { isa = XCConfigurationList; buildConfigurations = ( - 202C6890D5B3EB627904AE82F432E3B8 /* Debug */, - 71F600BACA319512468BEC3723251EFF /* Release */, + 4FF75B44F15BFAB6143925758E0B0EBE /* Debug */, + 1849A20137348C0D76C07DB8747B76CC /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 8C1E4CEFB2390CBE75E70BAC20F44BBF /* Build configuration list for PBXNativeTarget "Kingfisher" */ = { + 904CE43638341B5EEDC5656C1B155F97 /* Build configuration list for PBXNativeTarget "SwiftyJSON" */ = { isa = XCConfigurationList; buildConfigurations = ( - 576C583E88A92DC2279EB3BFC2CA8A6C /* Debug */, - E8652F35BF322A3957D0F62338910B79 /* Release */, + FD4E51F9B9A63DCE55BDB18AA320869E /* Debug */, + 24ABC0EEBF9D42A9C360DAB255C94047 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 904CE43638341B5EEDC5656C1B155F97 /* Build configuration list for PBXNativeTarget "SwiftyJSON" */ = { + 9BF648061093ADEA095776AF6B54C982 /* Build configuration list for PBXNativeTarget "lottie-ios" */ = { isa = XCConfigurationList; buildConfigurations = ( - FD4E51F9B9A63DCE55BDB18AA320869E /* Debug */, - 24ABC0EEBF9D42A9C360DAB255C94047 /* Release */, + F16BEE452E5FA01116161E80B23144C9 /* Debug */, + 6CEE85C4648B38EFFDE7A1386C6045FE /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/News/Pods/RxCocoa/Platform/DeprecationWarner.swift b/News/Pods/RxCocoa/Platform/DeprecationWarner.swift new file mode 100644 index 00000000..863636b7 --- /dev/null +++ b/News/Pods/RxCocoa/Platform/DeprecationWarner.swift @@ -0,0 +1,43 @@ +// +// DeprecationWarner.swift +// Platform +// +// Created by Shai Mishali on 1/9/18. +// Copyright © 2018 Krunoslav Zaher. All rights reserved. +// + +import Foundation + +#if DEBUG + class DeprecationWarner { + private static var warned = Set() + private static var _lock = NSRecursiveLock() + + static func warnIfNeeded(_ kind: Kind) { + _lock.lock(); defer { _lock.unlock() } + guard !warned.contains(kind) else { return } + + warned.insert(kind) + print("ℹ️ [DEPRECATED] \(kind.message)") + } + } + + extension DeprecationWarner { + enum Kind { + case variable + case globalTestFunctionNext + case globalTestFunctionError + case globalTestFunctionCompleted + + var message: String { + switch self { + case .variable: return "`Variable` is planned for future deprecation. Please consider `BehaviorRelay` as a replacement. Read more at: https://git.io/vNqvx" + case .globalTestFunctionNext: return "The `next()` global function is planned for future deprecation. Please use `Recorded.next()` instead." + case .globalTestFunctionError: return "The `error()` global function is planned for future deprecation. Please use `Recorded.error()` instead." + case .globalTestFunctionCompleted: return "The `completed()` global function is planned for future deprecation. Please use `Recorded.completed()` instead." + } + } + } + } +#endif + diff --git a/News/Pods/RxCocoa/README.md b/News/Pods/RxCocoa/README.md index d8f00cfc..a423675a 100644 --- a/News/Pods/RxCocoa/README.md +++ b/News/Pods/RxCocoa/README.md @@ -41,7 +41,7 @@ KVO observing, async operations and streams are all unified under [abstraction o ###### ... interact -* All of this is great, but it would be nice to talk with other people using RxSwift and exchange experiences.
[![Slack channel](http://rxswift-slack.herokuapp.com/badge.svg)](http://rxswift-slack.herokuapp.com/) [Join Slack Channel](http://rxswift-slack.herokuapp.com) +* All of this is great, but it would be nice to talk with other people using RxSwift and exchange experiences.
[![Slack channel](http://rxswift-slack.herokuapp.com/badge.svg)](http://bit.ly/rxslack) [Join Slack Channel](http://bit.ly/rxslack) * Report a problem using the library. [Open an Issue With Bug Template](.github/ISSUE_TEMPLATE.md) * Request a new feature. [Open an Issue With Feature Request Template](Documentation/NewFeatureRequestTemplate.md) * Help out [Check out contribution guide](CONTRIBUTING.md) diff --git a/News/Pods/RxSwift/Platform/DeprecationWarner.swift b/News/Pods/RxSwift/Platform/DeprecationWarner.swift new file mode 100644 index 00000000..863636b7 --- /dev/null +++ b/News/Pods/RxSwift/Platform/DeprecationWarner.swift @@ -0,0 +1,43 @@ +// +// DeprecationWarner.swift +// Platform +// +// Created by Shai Mishali on 1/9/18. +// Copyright © 2018 Krunoslav Zaher. All rights reserved. +// + +import Foundation + +#if DEBUG + class DeprecationWarner { + private static var warned = Set() + private static var _lock = NSRecursiveLock() + + static func warnIfNeeded(_ kind: Kind) { + _lock.lock(); defer { _lock.unlock() } + guard !warned.contains(kind) else { return } + + warned.insert(kind) + print("ℹ️ [DEPRECATED] \(kind.message)") + } + } + + extension DeprecationWarner { + enum Kind { + case variable + case globalTestFunctionNext + case globalTestFunctionError + case globalTestFunctionCompleted + + var message: String { + switch self { + case .variable: return "`Variable` is planned for future deprecation. Please consider `BehaviorRelay` as a replacement. Read more at: https://git.io/vNqvx" + case .globalTestFunctionNext: return "The `next()` global function is planned for future deprecation. Please use `Recorded.next()` instead." + case .globalTestFunctionError: return "The `error()` global function is planned for future deprecation. Please use `Recorded.error()` instead." + case .globalTestFunctionCompleted: return "The `completed()` global function is planned for future deprecation. Please use `Recorded.completed()` instead." + } + } + } + } +#endif + diff --git a/News/Pods/RxSwift/README.md b/News/Pods/RxSwift/README.md index d8f00cfc..a423675a 100644 --- a/News/Pods/RxSwift/README.md +++ b/News/Pods/RxSwift/README.md @@ -41,7 +41,7 @@ KVO observing, async operations and streams are all unified under [abstraction o ###### ... interact -* All of this is great, but it would be nice to talk with other people using RxSwift and exchange experiences.
[![Slack channel](http://rxswift-slack.herokuapp.com/badge.svg)](http://rxswift-slack.herokuapp.com/) [Join Slack Channel](http://rxswift-slack.herokuapp.com) +* All of this is great, but it would be nice to talk with other people using RxSwift and exchange experiences.
[![Slack channel](http://rxswift-slack.herokuapp.com/badge.svg)](http://bit.ly/rxslack) [Join Slack Channel](http://bit.ly/rxslack) * Report a problem using the library. [Open an Issue With Bug Template](.github/ISSUE_TEMPLATE.md) * Request a new feature. [Open an Issue With Feature Request Template](Documentation/NewFeatureRequestTemplate.md) * Help out [Check out contribution guide](CONTRIBUTING.md) diff --git a/News/Pods/RxSwift/RxSwift/Deprecated.swift b/News/Pods/RxSwift/RxSwift/Deprecated.swift index e7c1cf80..cc673c70 100644 --- a/News/Pods/RxSwift/RxSwift/Deprecated.swift +++ b/News/Pods/RxSwift/RxSwift/Deprecated.swift @@ -209,6 +209,10 @@ public final class Variable { /// /// - parameter value: Initial variable value. public init(_ value: Element) { + #if DEBUG + DeprecationWarner.warnIfNeeded(.variable) + #endif + _value = value _subject = BehaviorSubject(value: value) } diff --git a/News/Pods/RxSwift/RxSwift/Traits/Single.swift b/News/Pods/RxSwift/RxSwift/Traits/Single.swift index 3a36eadc..423cf694 100644 --- a/News/Pods/RxSwift/RxSwift/Traits/Single.swift +++ b/News/Pods/RxSwift/RxSwift/Traits/Single.swift @@ -193,7 +193,7 @@ extension PrimitiveSequenceType where TraitType == SingleTrait { - returns: The source sequence with the side-effecting behavior applied. */ @available(*, deprecated, message: "Use do(onSuccess:onError:onSubscribe:onSubcribed:onDispose:) instead", renamed: "do(onSuccess:onError:onSubscribe:onSubcribed:onDispose:)") - public func `do`(onNext: ((ElementType) throws -> Void)? = nil, + public func `do`(onNext: ((ElementType) throws -> Void)?, onError: ((Swift.Error) throws -> Void)? = nil, onSubscribe: (() -> ())? = nil, onSubscribed: (() -> ())? = nil, diff --git a/News/Pods/SGPagingView/README.md b/News/Pods/SGPagingView/README.md index 5cfa8690..1916bcde 100644 --- a/News/Pods/SGPagingView/README.md +++ b/News/Pods/SGPagingView/README.md @@ -17,16 +17,12 @@ * [Concluding remarks](#Concluding-remarks) -* [简书介绍](http://www.jianshu.com/p/16b0356d6ac6) - ## 效果图 ![](https://github.com/kingsic/SGPagingView/raw/master/Gif/sorgle.gif) ![](https://github.com/kingsic/SGPagingView/raw/master/Gif/sorgle2.gif) ## 主要内容的介绍 -* `指示器长度自定义`
- * `指示器遮盖样式`
* `指示器固定样式`
@@ -35,15 +31,17 @@ * `指示器下划线样式`
-* `多种指示器滚动样式`
+* `指示器长度自定义`
+ +* `标题文字渐显效果`
-* `标题按钮文字渐显效果`
+* `标题文字缩放效果`
-* `标题按钮文字缩放效果`
+* `多种指示器滚动样式`
## SGPagingView 集成 -* 1、CocoaPods 导入 pod 'SGPagingView', '~> 1.3.5' +* 1、CocoaPods 导入 pod 'SGPagingView', '~> 1.3.6' * 2、下载、拖拽 “SGPagingView” 文件夹到工程中 @@ -95,7 +93,6 @@ |**indicatorCornerRadius**|遮盖样式下圆角属性,默认为 0.f;若圆角大于 1/2 指示器高度,则圆角大小为 1/2 指示器高度| |**indicatorScrollStyle**|指示器滚动样式| |**resetTitleWithIndex:newTitle:**|更改指定下标的标题| -|**initWithFrame:delegate:titleNames:titleFont:**|带有标题字号的初始化方法,与之对应一个类方法| ## 问题及解决方案 @@ -160,9 +157,11 @@ d. 实现 SGPageContentView 的 pageContentView:offsetX:代理方法或 SGPageCo * 2017-11-28 :v1.3.3 SGPageContentView 与 SGPageContentScrollView 新增代理方法,用来处理侧滑返回手势 -* 2017-12-07 :v1.3.4 新增指示器固定宽度样式以及代码优化 +* 2017-12-07 :v1.3.4 新增指示器固定样式 + +* 2017-12-28 :v1.3.5 新增指示器动态样式(仅在 SGIndicatorScrollStyleDefault 样式下支持) -* 2017-12-28 :v1.3.5 新增指示器动态样式 +* 2017-12-28 :v1.3.6 解决 SGPageTitleView 标题点击与 SGPageContentView 滚动问题 ## Concluding remarks diff --git a/News/Pods/SGPagingView/SGPagingView/SGPageContent/SGPageContentScrollView.h b/News/Pods/SGPagingView/SGPagingView/SGPageContent/SGPageContentScrollView.h index 6c411e08..f392dd9e 100755 --- a/News/Pods/SGPagingView/SGPagingView/SGPageContent/SGPageContentScrollView.h +++ b/News/Pods/SGPagingView/SGPagingView/SGPageContent/SGPageContentScrollView.h @@ -58,7 +58,7 @@ @property (nonatomic, assign) BOOL isScrollEnabled; /** 给外界提供的方法,获取 SGPageTitleView 选中按钮的下标 */ -- (void)setPageCententScrollViewCurrentIndex:(NSInteger)currentIndex; +- (void)setPageContentScrollViewCurrentIndex:(NSInteger)currentIndex; @end diff --git a/News/Pods/SGPagingView/SGPagingView/SGPageContent/SGPageContentScrollView.m b/News/Pods/SGPagingView/SGPagingView/SGPageContent/SGPageContentScrollView.m index a33cd28f..0c3633ae 100755 --- a/News/Pods/SGPagingView/SGPagingView/SGPageContent/SGPageContentScrollView.m +++ b/News/Pods/SGPagingView/SGPagingView/SGPageContent/SGPageContentScrollView.m @@ -103,6 +103,14 @@ - (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView { childVC.view.frame = CGRectMake(offsetX, 0, self.SG_width, self.SG_height); } +- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate { + CGFloat offsetX = scrollView.contentOffset.x; + // pageContentScrollView:offsetX: + if (self.delegatePageContentScrollView && [self.delegatePageContentScrollView respondsToSelector:@selector(pageContentScrollView:offsetX:)]) { + [self.delegatePageContentScrollView pageContentScrollView:self offsetX:offsetX]; + } +} + - (void)scrollViewDidScroll:(UIScrollView *)scrollView { if (self.isClickBtn == YES) { [self scrollViewDidEndDecelerating:scrollView]; @@ -149,7 +157,7 @@ - (void)scrollViewDidScroll:(UIScrollView *)scrollView { } #pragma mark - - - 给外界提供的方法,获取 SGPageTitleView 选中按钮的下标 -- (void)setPageCententScrollViewCurrentIndex:(NSInteger)currentIndex { +- (void)setPageContentScrollViewCurrentIndex:(NSInteger)currentIndex { self.isClickBtn = YES; CGFloat offsetX = currentIndex * self.SG_width; if (self.isFirstViewLoaded && currentIndex == 0) { diff --git a/News/Pods/SGPagingView/SGPagingView/SGPageContent/SGPageContentView.h b/News/Pods/SGPagingView/SGPagingView/SGPageContent/SGPageContentView.h index 1d6cf12a..73941249 100755 --- a/News/Pods/SGPagingView/SGPagingView/SGPageContent/SGPageContentView.h +++ b/News/Pods/SGPagingView/SGPagingView/SGPageContent/SGPageContentView.h @@ -58,6 +58,6 @@ @property (nonatomic, assign) BOOL isScrollEnabled; /** 给外界提供的方法,获取 SGPageTitleView 选中按钮的下标 */ -- (void)setPageCententViewCurrentIndex:(NSInteger)currentIndex; +- (void)setPageContentViewCurrentIndex:(NSInteger)currentIndex; @end diff --git a/News/Pods/SGPagingView/SGPagingView/SGPageContent/SGPageContentView.m b/News/Pods/SGPagingView/SGPagingView/SGPageContent/SGPageContentView.m index 1966219e..9f52bb05 100755 --- a/News/Pods/SGPagingView/SGPagingView/SGPageContent/SGPageContentView.m +++ b/News/Pods/SGPagingView/SGPagingView/SGPageContent/SGPageContentView.m @@ -121,10 +121,15 @@ - (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView { } } -- (void)scrollViewDidScroll:(UIScrollView *)scrollView { - if (self.isClickBtn == YES) { - return; +- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate { + CGFloat offsetX = scrollView.contentOffset.x; + // pageContentView:offsetX: + if (self.delegatePageContentView && [self.delegatePageContentView respondsToSelector:@selector(pageContentView:offsetX:)]) { + [self.delegatePageContentView pageContentView:self offsetX:offsetX]; } +} + +- (void)scrollViewDidScroll:(UIScrollView *)scrollView { // 1、定义获取需要的数据 CGFloat progress = 0; NSInteger originalIndex = 0; @@ -166,7 +171,7 @@ - (void)scrollViewDidScroll:(UIScrollView *)scrollView { } #pragma mark - - - 给外界提供的方法,获取 SGPageTitleView 选中按钮的下标 -- (void)setPageCententViewCurrentIndex:(NSInteger)currentIndex { +- (void)setPageContentViewCurrentIndex:(NSInteger)currentIndex { self.isClickBtn = YES; CGFloat offsetX = currentIndex * self.collectionView.SG_width; // 1、处理内容偏移 diff --git a/News/Pods/SGPagingView/SGPagingView/SGPageTitle/SGPageTitleView.h b/News/Pods/SGPagingView/SGPagingView/SGPageTitle/SGPageTitleView.h index a2c480f6..9bd86148 100755 --- a/News/Pods/SGPagingView/SGPagingView/SGPageTitle/SGPageTitleView.h +++ b/News/Pods/SGPagingView/SGPagingView/SGPageTitle/SGPageTitleView.h @@ -25,8 +25,6 @@ @end @interface SGPageTitleView : UIView -/// SGPageTitleView 配置信息 -@property (nonatomic, readonly, strong) SGPageTitleViewConfigure *configure; /** * 对象方法创建 SGPageTitleView * diff --git a/News/Pods/SGPagingView/SGPagingView/SGPageTitle/SGPageTitleView.m b/News/Pods/SGPagingView/SGPagingView/SGPageTitle/SGPageTitleView.m index fac01ef5..ff333d91 100755 --- a/News/Pods/SGPagingView/SGPagingView/SGPageTitle/SGPageTitleView.m +++ b/News/Pods/SGPagingView/SGPagingView/SGPageTitle/SGPageTitleView.m @@ -32,7 +32,7 @@ @interface SGPageTitleView () /// SGPageTitleViewDelegate @property (nonatomic, weak) id delegatePageTitleView; /// SGPageTitleView 配置信息 -@property (nonatomic, readwrite, strong) SGPageTitleViewConfigure *configure; +@property (nonatomic, strong) SGPageTitleViewConfigure *configure; /// scrollView @property (nonatomic, strong) UIScrollView *scrollView; /// 指示器 @@ -198,7 +198,7 @@ - (UIView *)bottomSeparator { CGFloat bottomSeparatorX = 0; CGFloat bottomSeparatorY = self.SG_height - bottomSeparatorH; _bottomSeparator.frame = CGRectMake(bottomSeparatorX, bottomSeparatorY, bottomSeparatorW, bottomSeparatorH); - _bottomSeparator.backgroundColor = [UIColor lightGrayColor]; + _bottomSeparator.backgroundColor = self.configure.bottomSeparatorColor; } return _bottomSeparator; } @@ -315,6 +315,15 @@ - (void)P_changeSelectedButton:(UIButton *)button { button.selected = YES; self.tempBtn = button; } + + // 此处处理避免滚动内容试图时手指不离开屏幕的前提下点击按钮后再次滚动内容试图导致按钮文字由于文字渐变导致未选中按钮文字的不标准化处理 + if (self.isTitleGradientEffect == YES) { + [self.btnMArr enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { + UIButton *btn = obj; + btn.titleLabel.textColor = self.configure.titleColor; + }]; + } + // 标题文字缩放属性 if (self.isOpenTitleTextZoom) { [self.btnMArr enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { diff --git a/News/Pods/SGPagingView/SGPagingView/SGPageTitle/SGPageTitleViewConfigure.h b/News/Pods/SGPagingView/SGPagingView/SGPageTitle/SGPageTitleViewConfigure.h index 0634c230..292b72e4 100755 --- a/News/Pods/SGPagingView/SGPagingView/SGPageTitle/SGPageTitleViewConfigure.h +++ b/News/Pods/SGPagingView/SGPagingView/SGPageTitle/SGPageTitleViewConfigure.h @@ -37,6 +37,8 @@ typedef enum : NSUInteger { @interface SGPageTitleViewConfigure : NSObject /** 类方法创建 */ + (instancetype)pageTitleViewConfigure; +/* SGPageTitleView 底部分割线颜色,默认为 lightGrayColor */ +@property (nonatomic, strong) UIColor *bottomSeparatorColor; /** 按钮之间的间距,默认为 20.0f */ @property (nonatomic, assign) CGFloat spacingBetweenButtons; /** 标题文字字号大小,默认 15 号字体 */ diff --git a/News/Pods/SGPagingView/SGPagingView/SGPageTitle/SGPageTitleViewConfigure.m b/News/Pods/SGPagingView/SGPagingView/SGPageTitle/SGPageTitleViewConfigure.m index cfc7b740..4a7811a2 100755 --- a/News/Pods/SGPagingView/SGPagingView/SGPageTitle/SGPageTitleViewConfigure.m +++ b/News/Pods/SGPagingView/SGPagingView/SGPageTitle/SGPageTitleViewConfigure.m @@ -19,6 +19,13 @@ + (instancetype)pageTitleViewConfigure { return [[self alloc] init]; } +- (UIColor *)bottomSeparatorColor { + if (!_bottomSeparatorColor) { + _bottomSeparatorColor = [UIColor lightGrayColor]; + } + return _bottomSeparatorColor; +} + - (CGFloat)spacingBetweenButtons { if (_spacingBetweenButtons <= 0) { _spacingBetweenButtons = 20; diff --git a/News/Pods/SGPagingView/SGPagingView/SGPagingView.h b/News/Pods/SGPagingView/SGPagingView/SGPagingView.h index d88780bf..818f63d6 100755 --- a/News/Pods/SGPagingView/SGPagingView/SGPagingView.h +++ b/News/Pods/SGPagingView/SGPagingView/SGPagingView.h @@ -5,7 +5,7 @@ // GitHub:https://github.com/kingsic // // SGPagingView.h -// Version 1.3.5 +// Version 1.3.6 // // Created by kingsic on 2016/10/6. // Copyright © 2016年 kingsic. All rights reserved. diff --git a/News/Pods/SVProgressHUD/LICENSE b/News/Pods/SVProgressHUD/LICENSE new file mode 100644 index 00000000..f8c911ba --- /dev/null +++ b/News/Pods/SVProgressHUD/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2011-2018 Sam Vermette, Tobias Tiemerding and contributors. + +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. diff --git a/News/Pods/SVProgressHUD/LICENSE.txt b/News/Pods/SVProgressHUD/LICENSE.txt deleted file mode 100644 index ef855c59..00000000 --- a/News/Pods/SVProgressHUD/LICENSE.txt +++ /dev/null @@ -1,9 +0,0 @@ -Copyright (c) 2011-2017 Sam Vermette, Tobias Tiemerding and contributors. - -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. - -A different license may apply to other resources included in this package, including Freepik Icons. Please consult their respective headers for the terms of their individual licenses. diff --git a/News/Pods/SVProgressHUD/README.md b/News/Pods/SVProgressHUD/README.md index 4d592357..a9ce9e0d 100644 --- a/News/Pods/SVProgressHUD/README.md +++ b/News/Pods/SVProgressHUD/README.md @@ -3,7 +3,8 @@ ![Pod Version](https://img.shields.io/cocoapods/v/SVProgressHUD.svg?style=flat) ![Pod Platform](https://img.shields.io/cocoapods/p/SVProgressHUD.svg?style=flat) ![Pod License](https://img.shields.io/cocoapods/l/SVProgressHUD.svg?style=flat) -[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) +[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-green.svg?style=flat)](https://github.com/Carthage/Carthage) +[![CocoaPods compatible](https://img.shields.io/badge/CocoaPods-compatible-green.svg?style=flat)](https://cocoapods.org) `SVProgressHUD` is a clean and easy-to-use HUD meant to display the progress of an ongoing task on iOS and tvOS. @@ -37,7 +38,7 @@ Second, install `SVProgressHUD` into your project: pod install ``` -### Carthage +### Carthage [Carthage](https://github.com/Carthage/Carthage) is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks. To integrate `SVProgressHUD` into your Xcode project using Carthage, specify it in your `Cartfile`: @@ -45,8 +46,7 @@ pod install github "SVProgressHUD/SVProgressHUD" ``` -Run `carthage update` to build the framework and drag the built `SVProgressHUD.framework` (in Carthage/Build/iOS folder) into your Xcode project (Linked Frameworks and Libraries in `Targets`). - +Run `carthage bootstrap` to build the framework in your repository's Carthage directory. You can then include it in your target's `carthage copy-frameworks` build phase. For more information on this, please see [Carthage's documentation](https://github.com/carthage/carthage#if-youre-building-for-ios-tvos-or-watchos). ### Manually @@ -62,7 +62,7 @@ Even though `SVProgressHUD` is written in Objective-C, it can be used in Swift w use_frameworks! ``` -If you added `SVProgressHUD` manually, just add a [bridging header](https://developer.apple.com/library/content/documentation/Swift/Conceptual/BuildingCocoaApps/MixandMatch.html) file to your project with the `SVProgressHUD` header included. +If you added `SVProgressHUD` manually, just add a [bridging header](https://developer.apple.com/library/content/documentation/Swift/Conceptual/BuildingCocoaApps/MixandMatch.html) file to your project with the `SVProgressHUD` header included. ## Usage @@ -147,6 +147,7 @@ Or show a confirmation glyph before before getting dismissed a little bit later. + (void)setBackgroundColor:(UIColor*)color; // default is [UIColor whiteColor], only used for SVProgressHUDStyleCustom + (void)setBackgroundLayerColor:(UIColor*)color; // default is [UIColor colorWithWhite:0 alpha:0.4], only used for SVProgressHUDMaskTypeCustom + (void)setImageViewSize:(CGSize)size; // default is 28x28 pt ++ (void)setShouldTintImages:(BOOL)shouldTintImages; // default is YES + (void)setInfoImage:(UIImage*)image; // default is the bundled info image provided by Freepik + (void)setSuccessImage:(UIImage*)image; // default is bundled success image from Freepik + (void)setErrorImage:(UIImage*)image; // default is bundled error image from Freepik @@ -157,7 +158,7 @@ Or show a confirmation glyph before before getting dismissed a little bit later. + (void)setFadeInAnimationDuration:(NSTimeInterval)duration; // default is 0.15 seconds + (void)setFadeOutAnimationDuration:(NSTimeInterval)duration; // default is 0.15 seconds + (void)setMaxSupportedWindowLevel:(UIWindowLevel)windowLevel; // default is UIWindowLevelNormal -+ (void)setHapticsEnabled:(BOOL)hapticsEnabled; // default is NO ++ (void)setHapticsEnabled:(BOOL)hapticsEnabled; // default is NO ``` Additionally `SVProgressHUD` supports the `UIAppearance` protocol for most of the above methods. @@ -169,7 +170,7 @@ As standard `SVProgressHUD` offers two preconfigured styles: * `SVProgressHUDStyleLight`: White background with black spinner and text * `SVProgressHUDStyleDark`: Black background with white spinner and text -If you want to use custom colors use `setForegroundColor` and `setBackgroundColor:`. These implicity set the HUD's style to `SVProgressHUDStyleCustom`. +If you want to use custom colors use `setForegroundColor` and `setBackgroundColor:`. These implicitly set the HUD's style to `SVProgressHUDStyleCustom`. ## Haptic Feedback @@ -210,7 +211,7 @@ review the guidelines written by [Nicolas Gallagher](https://github.com/necolas) ## License -`SVProgressHUD` is distributed under the terms and conditions of the [MIT license](https://github.com/SVProgressHUD/SVProgressHUD/blob/master/LICENSE.txt). The success, error and info icons are made by [Freepik](http://www.freepik.com) from [Flaticon](http://www.flaticon.com) and are licensed under [Creative Commons BY 3.0](http://creativecommons.org/licenses/by/3.0/). +`SVProgressHUD` is distributed under the terms and conditions of the [MIT license](https://github.com/SVProgressHUD/SVProgressHUD/blob/master/LICENSE.txt). The success, error and info icons are made by [Freepik](http://www.freepik.com) from [Flaticon](http://www.flaticon.com) and are licensed under [Creative Commons BY 3.0](http://creativecommons.org/licenses/by/3.0/). ## Credits diff --git a/News/Pods/SVProgressHUD/SVProgressHUD/SVIndefiniteAnimatedView.h b/News/Pods/SVProgressHUD/SVProgressHUD/SVIndefiniteAnimatedView.h index 30141e37..b624dd0b 100644 --- a/News/Pods/SVProgressHUD/SVProgressHUD/SVIndefiniteAnimatedView.h +++ b/News/Pods/SVProgressHUD/SVProgressHUD/SVIndefiniteAnimatedView.h @@ -2,7 +2,7 @@ // SVIndefiniteAnimatedView.h // SVProgressHUD, https://github.com/SVProgressHUD/SVProgressHUD // -// Copyright (c) 2014-2017 Guillaume Campagna. All rights reserved. +// Copyright (c) 2014-2018 Guillaume Campagna. All rights reserved. // #import diff --git a/News/Pods/SVProgressHUD/SVProgressHUD/SVIndefiniteAnimatedView.m b/News/Pods/SVProgressHUD/SVProgressHUD/SVIndefiniteAnimatedView.m index 064533d5..09a38d0b 100644 --- a/News/Pods/SVProgressHUD/SVProgressHUD/SVIndefiniteAnimatedView.m +++ b/News/Pods/SVProgressHUD/SVProgressHUD/SVIndefiniteAnimatedView.m @@ -2,7 +2,7 @@ // SVIndefiniteAnimatedView.m // SVProgressHUD, https://github.com/SVProgressHUD/SVProgressHUD // -// Copyright (c) 2014-2017 Guillaume Campagna. All rights reserved. +// Copyright (c) 2014-2018 Guillaume Campagna. All rights reserved. // #import "SVIndefiniteAnimatedView.h" diff --git a/News/Pods/SVProgressHUD/SVProgressHUD/SVProgressAnimatedView.h b/News/Pods/SVProgressHUD/SVProgressHUD/SVProgressAnimatedView.h index 5c02a823..6de23b43 100644 --- a/News/Pods/SVProgressHUD/SVProgressHUD/SVProgressAnimatedView.h +++ b/News/Pods/SVProgressHUD/SVProgressHUD/SVProgressAnimatedView.h @@ -2,7 +2,7 @@ // SVProgressAnimatedView.h // SVProgressHUD, https://github.com/SVProgressHUD/SVProgressHUD // -// Copyright (c) 2017 Tobias Tiemerding. All rights reserved. +// Copyright (c) 2017-2018 Tobias Tiemerding. All rights reserved. // #import diff --git a/News/Pods/SVProgressHUD/SVProgressHUD/SVProgressAnimatedView.m b/News/Pods/SVProgressHUD/SVProgressHUD/SVProgressAnimatedView.m index 0e11c933..a347c85d 100644 --- a/News/Pods/SVProgressHUD/SVProgressHUD/SVProgressAnimatedView.m +++ b/News/Pods/SVProgressHUD/SVProgressHUD/SVProgressAnimatedView.m @@ -2,7 +2,7 @@ // SVProgressAnimatedView.m // SVProgressHUD, https://github.com/SVProgressHUD/SVProgressHUD // -// Copyright (c) 2017 Tobias Tiemerding. All rights reserved. +// Copyright (c) 2017-2018 Tobias Tiemerding. All rights reserved. // #import "SVProgressAnimatedView.h" diff --git a/News/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.h b/News/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.h index d0269815..6aa935c0 100644 --- a/News/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.h +++ b/News/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.h @@ -2,18 +2,12 @@ // SVProgressHUD.h // SVProgressHUD, https://github.com/SVProgressHUD/SVProgressHUD // -// Copyright (c) 2011-2017 Sam Vermette and contributors. All rights reserved. +// Copyright (c) 2011-2018 Sam Vermette and contributors. All rights reserved. // #import #import -#if __IPHONE_OS_VERSION_MAX_ALLOWED < 70000 - -#define UI_APPEARANCE_SELECTOR - -#endif - extern NSString * _Nonnull const SVProgressHUDDidReceiveTouchEventNotification; extern NSString * _Nonnull const SVProgressHUDDidTouchDownInsideNotification; extern NSString * _Nonnull const SVProgressHUDWillDisappearNotification; @@ -63,6 +57,7 @@ typedef void (^SVProgressHUDDismissCompletion)(void); @property (strong, nonatomic, nonnull) UIColor *foregroundColor UI_APPEARANCE_SELECTOR; // default is [UIColor blackColor] @property (strong, nonatomic, nonnull) UIColor *backgroundLayerColor UI_APPEARANCE_SELECTOR;// default is [UIColor colorWithWhite:0 alpha:0.4] @property (assign, nonatomic) CGSize imageViewSize UI_APPEARANCE_SELECTOR; // default is 28x28 pt +@property (assign, nonatomic) BOOL shouldTintImages UI_APPEARANCE_SELECTOR; // default is YES @property (strong, nonatomic, nonnull) UIImage *infoImage UI_APPEARANCE_SELECTOR; // default is the bundled info image provided by Freepik @property (strong, nonatomic, nonnull) UIImage *successImage UI_APPEARANCE_SELECTOR; // default is the bundled success image provided by Freepik @property (strong, nonatomic, nonnull) UIImage *errorImage UI_APPEARANCE_SELECTOR; // default is the bundled error image provided by Freepik @@ -96,6 +91,7 @@ typedef void (^SVProgressHUDDismissCompletion)(void); + (void)setBackgroundColor:(nonnull UIColor*)color; // default is [UIColor whiteColor], only used for SVProgressHUDStyleCustom + (void)setBackgroundLayerColor:(nonnull UIColor*)color; // default is [UIColor colorWithWhite:0 alpha:0.5], only used for SVProgressHUDMaskTypeCustom + (void)setImageViewSize:(CGSize)size; // default is 28x28 pt ++ (void)setShouldTintImages:(BOOL)shouldTintImages; // default is YES + (void)setInfoImage:(nonnull UIImage*)image; // default is the bundled info image provided by Freepik + (void)setSuccessImage:(nonnull UIImage*)image; // default is the bundled success image provided by Freepik + (void)setErrorImage:(nonnull UIImage*)image; // default is the bundled error image provided by Freepik diff --git a/News/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.m b/News/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.m index 342ee3e6..2b669920 100644 --- a/News/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.m +++ b/News/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.m @@ -2,7 +2,7 @@ // SVProgressHUD.h // SVProgressHUD, https://github.com/SVProgressHUD/SVProgressHUD // -// Copyright (c) 2011-2017 Sam Vermette and contributors. All rights reserved. +// Copyright (c) 2011-2018 Sam Vermette and contributors. All rights reserved. // #if !__has_feature(objc_arc) @@ -39,11 +39,7 @@ @interface SVProgressHUD () @property (nonatomic, strong) UIControl *controlView; @property (nonatomic, strong) UIView *backgroundView; @property (nonatomic, strong) SVRadialGradientLayer *backgroundRadialGradientLayer; -#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 80000 @property (nonatomic, strong) UIVisualEffectView *hudView; -#else -@property (nonatomic, strong) UIView *hudView; -#endif @property (nonatomic, strong) UILabel *statusLabel; @property (nonatomic, strong) UIImageView *imageView; @@ -58,7 +54,7 @@ @interface SVProgressHUD () @property (nonatomic, readonly) UIWindow *frontWindow; #if TARGET_OS_IOS && __IPHONE_OS_VERSION_MAX_ALLOWED >= 100000 -@property (nonatomic, strong) UINotificationFeedbackGenerator *hapticGenerator; +@property (nonatomic, strong) UINotificationFeedbackGenerator *hapticGenerator NS_AVAILABLE_IOS(10_0); #endif @end @@ -149,7 +145,11 @@ + (void)setBackgroundLayerColor:(UIColor*)color { } + (void)setImageViewSize:(CGSize)size { - [self sharedView].imageViewSize = size; + [self sharedView].imageViewSize = size; +} + ++ (void)setShouldTintImages:(BOOL)shouldTintImages { + [self sharedView].shouldTintImages = shouldTintImages; } + (void)setInfoImage:(UIImage*)image { @@ -249,9 +249,11 @@ + (void)showInfoWithStatus:(NSString*)status { [self showImage:[self sharedView].infoImage status:status]; #if TARGET_OS_IOS && __IPHONE_OS_VERSION_MAX_ALLOWED >= 100000 - dispatch_async(dispatch_get_main_queue(), ^{ - [[self sharedView].hapticGenerator notificationOccurred:UINotificationFeedbackTypeWarning]; - }); + if (@available(iOS 10.0, *)) { + dispatch_async(dispatch_get_main_queue(), ^{ + [[self sharedView].hapticGenerator notificationOccurred:UINotificationFeedbackTypeWarning]; + }); + } #endif } @@ -266,9 +268,11 @@ + (void)showSuccessWithStatus:(NSString*)status { [self showImage:[self sharedView].successImage status:status]; #if TARGET_OS_IOS && __IPHONE_OS_VERSION_MAX_ALLOWED >= 100000 - dispatch_async(dispatch_get_main_queue(), ^{ - [[self sharedView].hapticGenerator notificationOccurred:UINotificationFeedbackTypeSuccess]; - }); + if (@available(iOS 10, *)) { + dispatch_async(dispatch_get_main_queue(), ^{ + [[self sharedView].hapticGenerator notificationOccurred:UINotificationFeedbackTypeSuccess]; + }); + } #endif } @@ -279,9 +283,11 @@ + (void)showSuccessWithStatus:(NSString*)status maskType:(SVProgressHUDMaskType) [self setDefaultMaskType:existingMaskType]; #if TARGET_OS_IOS && __IPHONE_OS_VERSION_MAX_ALLOWED >= 100000 - dispatch_async(dispatch_get_main_queue(), ^{ - [[self sharedView].hapticGenerator notificationOccurred:UINotificationFeedbackTypeSuccess]; - }); + if (@available(iOS 10.0, *)) { + dispatch_async(dispatch_get_main_queue(), ^{ + [[self sharedView].hapticGenerator notificationOccurred:UINotificationFeedbackTypeSuccess]; + }); + } #endif } @@ -289,9 +295,11 @@ + (void)showErrorWithStatus:(NSString*)status { [self showImage:[self sharedView].errorImage status:status]; #if TARGET_OS_IOS && __IPHONE_OS_VERSION_MAX_ALLOWED >= 100000 - dispatch_async(dispatch_get_main_queue(), ^{ - [[self sharedView].hapticGenerator notificationOccurred:UINotificationFeedbackTypeError]; - }); + if (@available(iOS 10.0, *)) { + dispatch_async(dispatch_get_main_queue(), ^{ + [[self sharedView].hapticGenerator notificationOccurred:UINotificationFeedbackTypeError]; + }); + } #endif } @@ -302,9 +310,11 @@ + (void)showErrorWithStatus:(NSString*)status maskType:(SVProgressHUDMaskType)ma [self setDefaultMaskType:existingMaskType]; #if TARGET_OS_IOS && __IPHONE_OS_VERSION_MAX_ALLOWED >= 100000 - dispatch_async(dispatch_get_main_queue(), ^{ - [[self sharedView].hapticGenerator notificationOccurred:UINotificationFeedbackTypeError]; - }); + if (@available(iOS 10.0, *)) { + dispatch_async(dispatch_get_main_queue(), ^{ + [[self sharedView].hapticGenerator notificationOccurred:UINotificationFeedbackTypeError]; + }); + } #endif } @@ -387,17 +397,16 @@ - (instancetype)initWithFrame:(CGRect)frame { _minimumSize = CGSizeZero; _font = [UIFont preferredFontForTextStyle:UIFontTextStyleSubheadline]; + _imageViewSize = CGSizeMake(28.0f, 28.0f); + _shouldTintImages = YES; + NSBundle *bundle = [NSBundle bundleForClass:[SVProgressHUD class]]; NSURL *url = [bundle URLForResource:@"SVProgressHUD" withExtension:@"bundle"]; NSBundle *imageBundle = [NSBundle bundleWithURL:url]; - UIImage* infoImage = [UIImage imageWithContentsOfFile:[imageBundle pathForResource:@"info" ofType:@"png"]]; - UIImage* successImage = [UIImage imageWithContentsOfFile:[imageBundle pathForResource:@"success" ofType:@"png"]]; - UIImage* errorImage = [UIImage imageWithContentsOfFile:[imageBundle pathForResource:@"error" ofType:@"png"]]; - - _infoImage = [infoImage imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate]; - _successImage = [successImage imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate]; - _errorImage = [errorImage imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate]; + _infoImage = [UIImage imageWithContentsOfFile:[imageBundle pathForResource:@"info" ofType:@"png"]]; + _successImage = [UIImage imageWithContentsOfFile:[imageBundle pathForResource:@"success" ofType:@"png"]]; + _errorImage = [UIImage imageWithContentsOfFile:[imageBundle pathForResource:@"error" ofType:@"png"]]; _ringThickness = 2.0f; _ringRadius = 18.0f; @@ -405,8 +414,6 @@ - (instancetype)initWithFrame:(CGRect)frame { _cornerRadius = 14.0f; - _imageViewSize = CGSizeMake(28.0f, 28.0f); - _graceTimeInterval = 0.0f; _minimumDismissTimeInterval = 5.0; _maximumDismissTimeInterval = CGFLOAT_MAX; @@ -559,6 +566,7 @@ - (void)updateViewHierarchy { - (void)setStatus:(NSString*)status { self.statusLabel.text = status; + self.statusLabel.hidden = status.length == 0; [self updateHUDFrame]; } @@ -642,14 +650,6 @@ - (void)positionHUD:(NSNotification*)notification { #endif #endif - // No transforms applied to window in iOS 8, but only if compiled with iOS 8 SDK as base SDK, otherwise system supports old rotation logic. - BOOL ignoreOrientation = NO; -#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 80000 - if([[NSProcessInfo processInfo] respondsToSelector:@selector(operatingSystemVersion)]) { - ignoreOrientation = YES; - } -#endif - #if TARGET_OS_IOS // Get keyboardHeight in regard to current state if(notification) { @@ -660,7 +660,7 @@ - (void)positionHUD:(NSNotification*)notification { if(notification.name == UIKeyboardWillShowNotification || notification.name == UIKeyboardDidShowNotification) { keyboardHeight = CGRectGetWidth(keyboardFrame); - if(ignoreOrientation || UIInterfaceOrientationIsPortrait(orientation)) { + if(UIInterfaceOrientationIsPortrait(orientation)) { keyboardHeight = CGRectGetHeight(keyboardFrame); } } @@ -679,16 +679,6 @@ - (void)positionHUD:(NSNotification*)notification { #endif #if TARGET_OS_IOS - if(!ignoreOrientation && UIInterfaceOrientationIsLandscape(orientation)) { - float temp = CGRectGetWidth(orientationFrame); - orientationFrame.size.width = CGRectGetHeight(orientationFrame); - orientationFrame.size.height = temp; - - temp = CGRectGetWidth(statusBarFrame); - statusBarFrame.size.width = CGRectGetHeight(statusBarFrame); - statusBarFrame.size.height = temp; - } - // Update the motion effects in regard to orientation [self updateMotionEffectForOrientation:orientation]; #else @@ -784,18 +774,10 @@ - (void)showProgress:(float)progress status:(NSString*)status { // Add ring to HUD if(!strongSelf.ringView.superview){ -#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 80000 [strongSelf.hudView.contentView addSubview:strongSelf.ringView]; -#else - [strongSelf.hudView addSubview:strongSelf.ringView]; -#endif } if(!strongSelf.backgroundRingView.superview){ -#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 80000 [strongSelf.hudView.contentView addSubview:strongSelf.backgroundRingView]; -#else - [strongSelf.hudView addSubview:strongSelf.backgroundRingView]; -#endif } // Set progress animated @@ -813,11 +795,7 @@ - (void)showProgress:(float)progress status:(NSString*)status { [strongSelf cancelRingLayerAnimation]; // Add indefiniteAnimatedView to HUD -#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 80000 [strongSelf.hudView.contentView addSubview:strongSelf.indefiniteAnimatedView]; -#else - [strongSelf.hudView addSubview:strongSelf.indefiniteAnimatedView]; -#endif if([strongSelf.indefiniteAnimatedView respondsToSelector:@selector(startAnimating)]) { [(id)strongSelf.indefiniteAnimatedView startAnimating]; } @@ -836,7 +814,9 @@ - (void)showProgress:(float)progress status:(NSString*)status { // Tell the Haptics Generator to prepare for feedback, which may come soon #if TARGET_OS_IOS && __IPHONE_OS_VERSION_MAX_ALLOWED >= 100000 - [strongSelf.hapticGenerator prepare]; + if (@available(iOS 10.0, *)) { + [strongSelf.hapticGenerator prepare]; + } #endif } }]; @@ -860,8 +840,14 @@ - (void)showImage:(UIImage*)image status:(NSString*)status duration:(NSTimeInter [strongSelf cancelIndefiniteAnimatedViewAnimation]; // Update imageView - strongSelf.imageView.tintColor = strongSelf.foregroundColorForStyle; - strongSelf.imageView.image = image; + if (self.shouldTintImages) { + if (image.renderingMode != UIImageRenderingModeAlwaysTemplate) { + strongSelf.imageView.image = [image imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate]; + } + strongSelf.imageView.tintColor = strongSelf.foregroundColorForStyle;; + } else { + strongSelf.imageView.image = image; + } strongSelf.imageView.hidden = NO; // Update text @@ -1262,17 +1248,9 @@ -(UIView *)backgroundView { return _backgroundView; } -#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 80000 - (UIVisualEffectView*)hudView { -#else -- (UIView*)hudView { -#endif if(!_hudView) { -#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 80000 _hudView = [UIVisualEffectView new]; -#else - _hudView = [UIView new]; -#endif _hudView.layer.masksToBounds = YES; _hudView.autoresizingMask = UIViewAutoresizingFlexibleBottomMargin | UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleLeftMargin; } @@ -1296,11 +1274,7 @@ - (UILabel*)statusLabel { _statusLabel.numberOfLines = 0; } if(!_statusLabel.superview) { -#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 80000 [self.hudView.contentView addSubview:_statusLabel]; -#else - [self.hudView addSubview:_statusLabel]; -#endif } // Update styling @@ -1320,11 +1294,7 @@ - (UIImageView*)imageView { _imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, _imageViewSize.width, _imageViewSize.height)]; } if(!_imageView.superview) { -#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 80000 [self.hudView.contentView addSubview:_imageView]; -#else - [self.hudView addSubview:_imageView]; -#endif } return _imageView; @@ -1352,7 +1322,11 @@ - (CGFloat)visibleKeyboardHeight { for (__strong UIView *possibleKeyboardSubview in possibleKeyboard.subviews) { viewName = NSStringFromClass(possibleKeyboardSubview.class); if([viewName hasPrefix:@"UI"] && [viewName hasSuffix:@"InputSetHostView"]) { - return CGRectGetHeight(possibleKeyboardSubview.bounds); + CGRect convertedRect = [possibleKeyboard convertRect:possibleKeyboardSubview.frame toView:self]; + CGRect intersectedRect = CGRectIntersection(convertedRect, self.bounds); + if (!CGRectIsNull(intersectedRect)) { + return CGRectGetHeight(intersectedRect); + } } } } @@ -1380,7 +1354,6 @@ - (UIWindow *)frontWindow { } - (void)fadeInEffects { -#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 80000 if(self.defaultStyle != SVProgressHUDStyleCustom) { // Add blur effect UIBlurEffectStyle blurEffectStyle = self.defaultStyle == SVProgressHUDStyleDark ? UIBlurEffectStyleDark : UIBlurEffectStyleLight; @@ -1388,16 +1361,13 @@ - (void)fadeInEffects { self.hudView.effect = blurEffect; // We omit UIVibrancy effect and use a suitable background color as an alternative. - // This will make everyting more readable. See the following for details: + // This will make everything more readable. See the following for details: // https://www.omnigroup.com/developer/how-to-make-text-in-a-uivisualeffectview-readable-on-any-background self.hudView.backgroundColor = [self.backgroundColorForStyle colorWithAlphaComponent:0.6f]; } else { self.hudView.backgroundColor = self.backgroundColorForStyle; } -#else - self.hudView.backgroundColor = self.backgroundColorForStyle; -#endif // Fade in views self.backgroundView.alpha = 1.0f; @@ -1410,13 +1380,11 @@ - (void)fadeInEffects { - (void)fadeOutEffects { -#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 80000 if(self.defaultStyle != SVProgressHUDStyleCustom) { // Remove blur effect self.hudView.effect = nil; } -#endif - + // Remove background color self.hudView.backgroundColor = [UIColor clearColor]; @@ -1430,7 +1398,7 @@ - (void)fadeOutEffects } #if TARGET_OS_IOS && __IPHONE_OS_VERSION_MAX_ALLOWED >= 100000 -- (UINotificationFeedbackGenerator *)hapticGenerator { +- (UINotificationFeedbackGenerator *)hapticGenerator NS_AVAILABLE_IOS(10_0) { // Only return if haptics are enabled if(!self.hapticsEnabled) { return nil; @@ -1498,6 +1466,10 @@ - (void)setBackgroundLayerColor:(UIColor*)color { if (!_isInitializing) _backgroundLayerColor = color; } +- (void)setShouldTintImages:(BOOL)shouldTintImages { + if (!_isInitializing) _shouldTintImages = shouldTintImages; +} + - (void)setInfoImage:(UIImage*)image { if (!_isInitializing) _infoImage = image; } diff --git a/News/Pods/SVProgressHUD/SVProgressHUD/SVRadialGradientLayer.h b/News/Pods/SVProgressHUD/SVProgressHUD/SVRadialGradientLayer.h index fcfb152e..68d452a2 100644 --- a/News/Pods/SVProgressHUD/SVProgressHUD/SVRadialGradientLayer.h +++ b/News/Pods/SVProgressHUD/SVProgressHUD/SVRadialGradientLayer.h @@ -2,7 +2,7 @@ // SVRadialGradientLayer.h // SVProgressHUD, https://github.com/SVProgressHUD/SVProgressHUD // -// Copyright (c) 2014-2017 Tobias Tiemerding. All rights reserved. +// Copyright (c) 2014-2018 Tobias Tiemerding. All rights reserved. // #import diff --git a/News/Pods/SVProgressHUD/SVProgressHUD/SVRadialGradientLayer.m b/News/Pods/SVProgressHUD/SVProgressHUD/SVRadialGradientLayer.m index 76470588..c62e0f85 100644 --- a/News/Pods/SVProgressHUD/SVProgressHUD/SVRadialGradientLayer.m +++ b/News/Pods/SVProgressHUD/SVProgressHUD/SVRadialGradientLayer.m @@ -2,7 +2,7 @@ // SVRadialGradientLayer.m // SVProgressHUD, https://github.com/SVProgressHUD/SVProgressHUD // -// Copyright (c) 2014-2017 Tobias Tiemerding. All rights reserved. +// Copyright (c) 2014-2018 Tobias Tiemerding. All rights reserved. // #import "SVRadialGradientLayer.h" diff --git a/News/Pods/Target Support Files/Alamofire/Alamofire.xcconfig b/News/Pods/Target Support Files/Alamofire/Alamofire.xcconfig index 619e5f4a..881c8cad 100644 --- a/News/Pods/Target Support Files/Alamofire/Alamofire.xcconfig +++ b/News/Pods/Target Support Files/Alamofire/Alamofire.xcconfig @@ -1,9 +1,9 @@ -CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/Alamofire +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Alamofire GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public" OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -PODS_BUILD_DIR = $BUILD_DIR -PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/Alamofire PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} diff --git a/News/Pods/Target Support Files/Alamofire/Info.plist b/News/Pods/Target Support Files/Alamofire/Info.plist index 3d018f89..8ab9b68d 100644 --- a/News/Pods/Target Support Files/Alamofire/Info.plist +++ b/News/Pods/Target Support Files/Alamofire/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 4.6.0 + 4.7.1 CFBundleSignature ???? CFBundleVersion diff --git a/News/Pods/Target Support Files/BMPlayer/BMPlayer.xcconfig b/News/Pods/Target Support Files/BMPlayer/BMPlayer.xcconfig index b7155971..ec400f3e 100644 --- a/News/Pods/Target Support Files/BMPlayer/BMPlayer.xcconfig +++ b/News/Pods/Target Support Files/BMPlayer/BMPlayer.xcconfig @@ -1,11 +1,11 @@ -CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/BMPlayer -FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/NVActivityIndicatorView" "$PODS_CONFIGURATION_BUILD_DIR/SnapKit" +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/BMPlayer +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/NVActivityIndicatorView" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public" OTHER_LDFLAGS = -framework "AVFoundation" -framework "UIKit" OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -PODS_BUILD_DIR = $BUILD_DIR -PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/BMPlayer PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} diff --git a/News/Pods/Target Support Files/FDFullscreenPopGesture/FDFullscreenPopGesture.xcconfig b/News/Pods/Target Support Files/FDFullscreenPopGesture/FDFullscreenPopGesture.xcconfig index 5b738e90..05f34e66 100644 --- a/News/Pods/Target Support Files/FDFullscreenPopGesture/FDFullscreenPopGesture.xcconfig +++ b/News/Pods/Target Support Files/FDFullscreenPopGesture/FDFullscreenPopGesture.xcconfig @@ -1,8 +1,8 @@ -CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/FDFullscreenPopGesture +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/FDFullscreenPopGesture GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public" -PODS_BUILD_DIR = $BUILD_DIR -PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/FDFullscreenPopGesture PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} diff --git a/News/Pods/Target Support Files/HandyJSON/HandyJSON.xcconfig b/News/Pods/Target Support Files/HandyJSON/HandyJSON.xcconfig index 752ad982..eeb3f851 100644 --- a/News/Pods/Target Support Files/HandyJSON/HandyJSON.xcconfig +++ b/News/Pods/Target Support Files/HandyJSON/HandyJSON.xcconfig @@ -1,11 +1,11 @@ -CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/HandyJSON +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/HandyJSON GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public" OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -PODS_BUILD_DIR = $BUILD_DIR -PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/HandyJSON PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} SKIP_INSTALL = YES -SWIFT_VERSION = 4.0 +SWIFT_SUPPRESS_WARNINGS = YES diff --git a/News/Pods/Target Support Files/HandyJSON/Info.plist b/News/Pods/Target Support Files/HandyJSON/Info.plist index 3424ca66..cd98f8af 100644 --- a/News/Pods/Target Support Files/HandyJSON/Info.plist +++ b/News/Pods/Target Support Files/HandyJSON/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 4.0.0 + 4.1.1 CFBundleSignature ???? CFBundleVersion diff --git a/News/Pods/Target Support Files/IBAnimatable/IBAnimatable.xcconfig b/News/Pods/Target Support Files/IBAnimatable/IBAnimatable.xcconfig index 502d5169..b7a2d9c2 100644 --- a/News/Pods/Target Support Files/IBAnimatable/IBAnimatable.xcconfig +++ b/News/Pods/Target Support Files/IBAnimatable/IBAnimatable.xcconfig @@ -1,9 +1,9 @@ -CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/IBAnimatable +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/IBAnimatable GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public" OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -PODS_BUILD_DIR = $BUILD_DIR -PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/IBAnimatable PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} diff --git a/News/Pods/Target Support Files/Kingfisher/Info.plist b/News/Pods/Target Support Files/Kingfisher/Info.plist index 75034155..1b87d15d 100644 --- a/News/Pods/Target Support Files/Kingfisher/Info.plist +++ b/News/Pods/Target Support Files/Kingfisher/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 4.6.1 + 4.7.0 CFBundleSignature ???? CFBundleVersion diff --git a/News/Pods/Target Support Files/Kingfisher/Kingfisher.xcconfig b/News/Pods/Target Support Files/Kingfisher/Kingfisher.xcconfig index e05e95c0..fa6e6d9a 100644 --- a/News/Pods/Target Support Files/Kingfisher/Kingfisher.xcconfig +++ b/News/Pods/Target Support Files/Kingfisher/Kingfisher.xcconfig @@ -1,12 +1,11 @@ -CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/Kingfisher +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Kingfisher GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public" OTHER_LDFLAGS = -framework "CFNetwork" OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -PODS_BUILD_DIR = $BUILD_DIR -PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/Kingfisher PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} SKIP_INSTALL = YES -SWIFT_VERSION = 4.0 diff --git a/News/Pods/Target Support Files/MJRefresh/MJRefresh.xcconfig b/News/Pods/Target Support Files/MJRefresh/MJRefresh.xcconfig index 6db3d627..d476cbc3 100644 --- a/News/Pods/Target Support Files/MJRefresh/MJRefresh.xcconfig +++ b/News/Pods/Target Support Files/MJRefresh/MJRefresh.xcconfig @@ -1,8 +1,8 @@ -CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/MJRefresh +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/MJRefresh GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public" -PODS_BUILD_DIR = $BUILD_DIR -PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/MJRefresh PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} diff --git a/News/Pods/Target Support Files/NVActivityIndicatorView/NVActivityIndicatorView.xcconfig b/News/Pods/Target Support Files/NVActivityIndicatorView/NVActivityIndicatorView.xcconfig index e6bce624..4fff704e 100644 --- a/News/Pods/Target Support Files/NVActivityIndicatorView/NVActivityIndicatorView.xcconfig +++ b/News/Pods/Target Support Files/NVActivityIndicatorView/NVActivityIndicatorView.xcconfig @@ -1,10 +1,10 @@ -CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/NVActivityIndicatorView +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/NVActivityIndicatorView GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public" OTHER_LDFLAGS = -framework "QuartzCore" -framework "UIKit" OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -PODS_BUILD_DIR = $BUILD_DIR -PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/NVActivityIndicatorView PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} diff --git a/News/Pods/Target Support Files/Pods-News/Pods-News-acknowledgements.markdown b/News/Pods/Target Support Files/Pods-News/Pods-News-acknowledgements.markdown index b4e4467b..429f89a8 100644 --- a/News/Pods/Target Support Files/Pods-News/Pods-News-acknowledgements.markdown +++ b/News/Pods/Target Support Files/Pods-News/Pods-News-acknowledgements.markdown @@ -3,7 +3,7 @@ This application makes use of the following third party libraries: ## Alamofire -Copyright (c) 2014-2017 Alamofire Software Foundation (http://alamofire.org/) +Copyright (c) 2014-2018 Alamofire Software Foundation (http://alamofire.org/) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -119,7 +119,7 @@ SOFTWARE. The MIT License (MIT) -Copyright (c) 2017 Wei Wang +Copyright (c) 2018 Wei Wang Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -265,15 +265,27 @@ SOFTWARE. ## SVProgressHUD -Copyright (c) 2011-2017 Sam Vermette, Tobias Tiemerding and contributors. +MIT License -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: +Copyright (c) 2011-2018 Sam Vermette, Tobias Tiemerding and contributors. -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +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 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. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -A different license may apply to other resources included in this package, including Freepik Icons. Please consult their respective headers for the terms of their individual licenses. +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. ## SnapKit @@ -539,7 +551,7 @@ THE SOFTWARE. same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright {yyyy} {name of copyright owner} + Copyright 2018 Airbnb, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -552,4 +564,5 @@ THE SOFTWARE. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + Generated by CocoaPods - https://cocoapods.org diff --git a/News/Pods/Target Support Files/Pods-News/Pods-News-acknowledgements.plist b/News/Pods/Target Support Files/Pods-News/Pods-News-acknowledgements.plist index c776f91a..9a41c2b4 100644 --- a/News/Pods/Target Support Files/Pods-News/Pods-News-acknowledgements.plist +++ b/News/Pods/Target Support Files/Pods-News/Pods-News-acknowledgements.plist @@ -14,7 +14,7 @@ FooterText - Copyright (c) 2014-2017 Alamofire Software Foundation (http://alamofire.org/) + Copyright (c) 2014-2018 Alamofire Software Foundation (http://alamofire.org/) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -160,7 +160,7 @@ SOFTWARE. FooterText The MIT License (MIT) -Copyright (c) 2017 Wei Wang +Copyright (c) 2018 Wei Wang Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -348,15 +348,27 @@ SOFTWARE. FooterText - Copyright (c) 2011-2017 Sam Vermette, Tobias Tiemerding and contributors. + MIT License -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: +Copyright (c) 2011-2018 Sam Vermette, Tobias Tiemerding and contributors. -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +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 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. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -A different license may apply to other resources included in this package, including Freepik Icons. Please consult their respective headers for the terms of their individual licenses. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. License MIT @@ -646,7 +658,7 @@ THE SOFTWARE. same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright {yyyy} {name of copyright owner} + Copyright 2018 Airbnb, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -658,7 +670,8 @@ THE SOFTWARE. distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and - limitations under the License. + limitations under the License. + License Apache Title diff --git a/News/Pods/Target Support Files/Pods-News/Pods-News-frameworks.sh b/News/Pods/Target Support Files/Pods-News/Pods-News-frameworks.sh index d2c505e9..1e51b29a 100755 --- a/News/Pods/Target Support Files/Pods-News/Pods-News-frameworks.sh +++ b/News/Pods/Target Support Files/Pods-News/Pods-News-frameworks.sh @@ -6,10 +6,14 @@ mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" +# Used as a return value for each invocation of `strip_invalid_archs` function. +STRIP_BINARY_RETVAL=0 + # This protects against multiple targets copying the same framework dependency at the same time. The solution # was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") +# Copies and strips a vendored framework install_framework() { if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then @@ -58,12 +62,31 @@ install_framework() fi } -# Copies the dSYM of a vendored framework +# Copies and strips a vendored dSYM install_dsym() { local source="$1" if [ -r "$source" ]; then - echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${DWARF_DSYM_FOLDER_PATH}\"" - rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${DWARF_DSYM_FOLDER_PATH}" + # Copy the dSYM into a the targets temp dir. + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${DERIVED_FILES_DIR}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${DERIVED_FILES_DIR}" + + local basename + basename="$(basename -s .framework.dSYM "$source")" + binary="${DERIVED_FILES_DIR}/${basename}.framework.dSYM/Contents/Resources/DWARF/${basename}" + + # Strip invalid architectures so "fat" simulator / device frameworks work on device + if [[ "$(file "$binary")" == *"Mach-O dSYM companion"* ]]; then + strip_invalid_archs "$binary" + fi + + if [[ $STRIP_BINARY_RETVAL == 1 ]]; then + # Move the stripped file into its final destination. + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${DERIVED_FILES_DIR}/${basename}.framework.dSYM\" \"${DWARF_DSYM_FOLDER_PATH}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${DERIVED_FILES_DIR}/${basename}.framework.dSYM" "${DWARF_DSYM_FOLDER_PATH}" + else + # The dSYM was not stripped at all, in this case touch a fake folder so the input/output paths from Xcode do not reexecute this script because the file is missing. + touch "${DWARF_DSYM_FOLDER_PATH}/${basename}.framework.dSYM" + fi fi } @@ -85,10 +108,18 @@ code_sign_if_enabled() { # Strip invalid architectures strip_invalid_archs() { binary="$1" - # Get architectures for current file - archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | rev)" + # Get architectures for current target binary + binary_archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | awk '{$1=$1;print}' | rev)" + # Intersect them with the architectures we are building for + intersected_archs="$(echo ${ARCHS[@]} ${binary_archs[@]} | tr ' ' '\n' | sort | uniq -d)" + # If there are no archs supported by this binary then warn the user + if [[ -z "$intersected_archs" ]]; then + echo "warning: [CP] Vendored binary '$binary' contains architectures ($binary_archs) none of which match the current build architectures ($ARCHS)." + STRIP_BINARY_RETVAL=0 + return + fi stripped="" - for arch in $archs; do + for arch in $binary_archs; do if ! [[ "${ARCHS}" == *"$arch"* ]]; then # Strip non-valid architectures in-place lipo -remove "$arch" -output "$binary" "$binary" || exit 1 @@ -98,6 +129,7 @@ strip_invalid_archs() { if [[ "$stripped" ]]; then echo "Stripped $binary of architectures:$stripped" fi + STRIP_BINARY_RETVAL=1 } diff --git a/News/Pods/Target Support Files/Pods-News/Pods-News.debug.xcconfig b/News/Pods/Target Support Files/Pods-News/Pods-News.debug.xcconfig index 1bf139ac..0fd064ec 100644 --- a/News/Pods/Target Support Files/Pods-News/Pods-News.debug.xcconfig +++ b/News/Pods/Target Support Files/Pods-News/Pods-News.debug.xcconfig @@ -1,11 +1,11 @@ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES -FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/Alamofire" "$PODS_CONFIGURATION_BUILD_DIR/BMPlayer" "$PODS_CONFIGURATION_BUILD_DIR/FDFullscreenPopGesture" "$PODS_CONFIGURATION_BUILD_DIR/HandyJSON" "$PODS_CONFIGURATION_BUILD_DIR/IBAnimatable" "$PODS_CONFIGURATION_BUILD_DIR/Kingfisher" "$PODS_CONFIGURATION_BUILD_DIR/MJRefresh" "$PODS_CONFIGURATION_BUILD_DIR/NVActivityIndicatorView" "$PODS_CONFIGURATION_BUILD_DIR/RxCocoa" "$PODS_CONFIGURATION_BUILD_DIR/RxSwift" "$PODS_CONFIGURATION_BUILD_DIR/SGPagingView" "$PODS_CONFIGURATION_BUILD_DIR/SQLite.swift" "$PODS_CONFIGURATION_BUILD_DIR/SVProgressHUD" "$PODS_CONFIGURATION_BUILD_DIR/SnapKit" "$PODS_CONFIGURATION_BUILD_DIR/SwiftTheme" "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON" "$PODS_CONFIGURATION_BUILD_DIR/lottie-ios" +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/BMPlayer" "${PODS_CONFIGURATION_BUILD_DIR}/FDFullscreenPopGesture" "${PODS_CONFIGURATION_BUILD_DIR}/HandyJSON" "${PODS_CONFIGURATION_BUILD_DIR}/IBAnimatable" "${PODS_CONFIGURATION_BUILD_DIR}/Kingfisher" "${PODS_CONFIGURATION_BUILD_DIR}/MJRefresh" "${PODS_CONFIGURATION_BUILD_DIR}/NVActivityIndicatorView" "${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift" "${PODS_CONFIGURATION_BUILD_DIR}/SGPagingView" "${PODS_CONFIGURATION_BUILD_DIR}/SQLite.swift" "${PODS_CONFIGURATION_BUILD_DIR}/SVProgressHUD" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftTheme" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyJSON" "${PODS_CONFIGURATION_BUILD_DIR}/lottie-ios" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/Alamofire/Alamofire.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/BMPlayer/BMPlayer.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/FDFullscreenPopGesture/FDFullscreenPopGesture.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/HandyJSON/HandyJSON.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/IBAnimatable/IBAnimatable.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/Kingfisher/Kingfisher.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/MJRefresh/MJRefresh.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/NVActivityIndicatorView/NVActivityIndicatorView.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/RxCocoa/RxCocoa.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/RxSwift/RxSwift.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SGPagingView/SGPagingView.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SQLite.swift/SQLite.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SVProgressHUD/SVProgressHUD.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SnapKit/SnapKit.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SwiftTheme/SwiftTheme.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON/SwiftyJSON.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/lottie-ios/Lottie.framework/Headers" +OTHER_CFLAGS = $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/BMPlayer/BMPlayer.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/FDFullscreenPopGesture/FDFullscreenPopGesture.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/HandyJSON/HandyJSON.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/IBAnimatable/IBAnimatable.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Kingfisher/Kingfisher.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/MJRefresh/MJRefresh.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/NVActivityIndicatorView/NVActivityIndicatorView.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa/RxCocoa.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift/RxSwift.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SGPagingView/SGPagingView.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SQLite.swift/SQLite.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SVProgressHUD/SVProgressHUD.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SwiftTheme/SwiftTheme.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyJSON/SwiftyJSON.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/lottie-ios/Lottie.framework/Headers" OTHER_LDFLAGS = $(inherited) -framework "Alamofire" -framework "BMPlayer" -framework "FDFullscreenPopGesture" -framework "HandyJSON" -framework "IBAnimatable" -framework "Kingfisher" -framework "Lottie" -framework "MJRefresh" -framework "NVActivityIndicatorView" -framework "RxCocoa" -framework "RxSwift" -framework "SGPagingView" -framework "SQLite" -framework "SVProgressHUD" -framework "SnapKit" -framework "SwiftTheme" -framework "SwiftyJSON" OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -PODS_BUILD_DIR = $BUILD_DIR -PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods diff --git a/News/Pods/Target Support Files/Pods-News/Pods-News.release.xcconfig b/News/Pods/Target Support Files/Pods-News/Pods-News.release.xcconfig index 1bf139ac..0fd064ec 100644 --- a/News/Pods/Target Support Files/Pods-News/Pods-News.release.xcconfig +++ b/News/Pods/Target Support Files/Pods-News/Pods-News.release.xcconfig @@ -1,11 +1,11 @@ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES -FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/Alamofire" "$PODS_CONFIGURATION_BUILD_DIR/BMPlayer" "$PODS_CONFIGURATION_BUILD_DIR/FDFullscreenPopGesture" "$PODS_CONFIGURATION_BUILD_DIR/HandyJSON" "$PODS_CONFIGURATION_BUILD_DIR/IBAnimatable" "$PODS_CONFIGURATION_BUILD_DIR/Kingfisher" "$PODS_CONFIGURATION_BUILD_DIR/MJRefresh" "$PODS_CONFIGURATION_BUILD_DIR/NVActivityIndicatorView" "$PODS_CONFIGURATION_BUILD_DIR/RxCocoa" "$PODS_CONFIGURATION_BUILD_DIR/RxSwift" "$PODS_CONFIGURATION_BUILD_DIR/SGPagingView" "$PODS_CONFIGURATION_BUILD_DIR/SQLite.swift" "$PODS_CONFIGURATION_BUILD_DIR/SVProgressHUD" "$PODS_CONFIGURATION_BUILD_DIR/SnapKit" "$PODS_CONFIGURATION_BUILD_DIR/SwiftTheme" "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON" "$PODS_CONFIGURATION_BUILD_DIR/lottie-ios" +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/BMPlayer" "${PODS_CONFIGURATION_BUILD_DIR}/FDFullscreenPopGesture" "${PODS_CONFIGURATION_BUILD_DIR}/HandyJSON" "${PODS_CONFIGURATION_BUILD_DIR}/IBAnimatable" "${PODS_CONFIGURATION_BUILD_DIR}/Kingfisher" "${PODS_CONFIGURATION_BUILD_DIR}/MJRefresh" "${PODS_CONFIGURATION_BUILD_DIR}/NVActivityIndicatorView" "${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift" "${PODS_CONFIGURATION_BUILD_DIR}/SGPagingView" "${PODS_CONFIGURATION_BUILD_DIR}/SQLite.swift" "${PODS_CONFIGURATION_BUILD_DIR}/SVProgressHUD" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftTheme" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyJSON" "${PODS_CONFIGURATION_BUILD_DIR}/lottie-ios" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/Alamofire/Alamofire.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/BMPlayer/BMPlayer.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/FDFullscreenPopGesture/FDFullscreenPopGesture.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/HandyJSON/HandyJSON.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/IBAnimatable/IBAnimatable.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/Kingfisher/Kingfisher.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/MJRefresh/MJRefresh.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/NVActivityIndicatorView/NVActivityIndicatorView.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/RxCocoa/RxCocoa.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/RxSwift/RxSwift.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SGPagingView/SGPagingView.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SQLite.swift/SQLite.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SVProgressHUD/SVProgressHUD.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SnapKit/SnapKit.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SwiftTheme/SwiftTheme.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON/SwiftyJSON.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/lottie-ios/Lottie.framework/Headers" +OTHER_CFLAGS = $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/BMPlayer/BMPlayer.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/FDFullscreenPopGesture/FDFullscreenPopGesture.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/HandyJSON/HandyJSON.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/IBAnimatable/IBAnimatable.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Kingfisher/Kingfisher.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/MJRefresh/MJRefresh.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/NVActivityIndicatorView/NVActivityIndicatorView.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa/RxCocoa.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift/RxSwift.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SGPagingView/SGPagingView.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SQLite.swift/SQLite.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SVProgressHUD/SVProgressHUD.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SwiftTheme/SwiftTheme.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyJSON/SwiftyJSON.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/lottie-ios/Lottie.framework/Headers" OTHER_LDFLAGS = $(inherited) -framework "Alamofire" -framework "BMPlayer" -framework "FDFullscreenPopGesture" -framework "HandyJSON" -framework "IBAnimatable" -framework "Kingfisher" -framework "Lottie" -framework "MJRefresh" -framework "NVActivityIndicatorView" -framework "RxCocoa" -framework "RxSwift" -framework "SGPagingView" -framework "SQLite" -framework "SVProgressHUD" -framework "SnapKit" -framework "SwiftTheme" -framework "SwiftyJSON" OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -PODS_BUILD_DIR = $BUILD_DIR -PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods diff --git a/News/Pods/Target Support Files/RxCocoa/Info.plist b/News/Pods/Target Support Files/RxCocoa/Info.plist index cd98f8af..7ecb368d 100644 --- a/News/Pods/Target Support Files/RxCocoa/Info.plist +++ b/News/Pods/Target Support Files/RxCocoa/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 4.1.1 + 4.1.2 CFBundleSignature ???? CFBundleVersion diff --git a/News/Pods/Target Support Files/RxCocoa/RxCocoa.xcconfig b/News/Pods/Target Support Files/RxCocoa/RxCocoa.xcconfig index 087a7b33..199c9f5b 100644 --- a/News/Pods/Target Support Files/RxCocoa/RxCocoa.xcconfig +++ b/News/Pods/Target Support Files/RxCocoa/RxCocoa.xcconfig @@ -1,10 +1,10 @@ -CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/RxCocoa -FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/RxSwift" +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public" OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -PODS_BUILD_DIR = $BUILD_DIR -PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/RxCocoa PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} diff --git a/News/Pods/Target Support Files/RxSwift/Info.plist b/News/Pods/Target Support Files/RxSwift/Info.plist index cd98f8af..7ecb368d 100644 --- a/News/Pods/Target Support Files/RxSwift/Info.plist +++ b/News/Pods/Target Support Files/RxSwift/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 4.1.1 + 4.1.2 CFBundleSignature ???? CFBundleVersion diff --git a/News/Pods/Target Support Files/RxSwift/RxSwift.xcconfig b/News/Pods/Target Support Files/RxSwift/RxSwift.xcconfig index 8b032edd..4c8a7ee6 100644 --- a/News/Pods/Target Support Files/RxSwift/RxSwift.xcconfig +++ b/News/Pods/Target Support Files/RxSwift/RxSwift.xcconfig @@ -1,9 +1,9 @@ -CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/RxSwift +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/RxSwift GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public" OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -PODS_BUILD_DIR = $BUILD_DIR -PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/RxSwift PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} diff --git a/News/Pods/Target Support Files/SGPagingView/Info.plist b/News/Pods/Target Support Files/SGPagingView/Info.plist index d7863a06..22533286 100644 --- a/News/Pods/Target Support Files/SGPagingView/Info.plist +++ b/News/Pods/Target Support Files/SGPagingView/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 1.3.5 + 1.3.6 CFBundleSignature ???? CFBundleVersion diff --git a/News/Pods/Target Support Files/SGPagingView/SGPagingView.xcconfig b/News/Pods/Target Support Files/SGPagingView/SGPagingView.xcconfig index 9d99e6ee..a0513b29 100644 --- a/News/Pods/Target Support Files/SGPagingView/SGPagingView.xcconfig +++ b/News/Pods/Target Support Files/SGPagingView/SGPagingView.xcconfig @@ -1,8 +1,8 @@ -CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/SGPagingView +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SGPagingView GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public" -PODS_BUILD_DIR = $BUILD_DIR -PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/SGPagingView PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} diff --git a/News/Pods/Target Support Files/SQLite.swift/SQLite.swift.xcconfig b/News/Pods/Target Support Files/SQLite.swift/SQLite.swift.xcconfig index 3e971a57..f554fcff 100644 --- a/News/Pods/Target Support Files/SQLite.swift/SQLite.swift.xcconfig +++ b/News/Pods/Target Support Files/SQLite.swift/SQLite.swift.xcconfig @@ -1,10 +1,10 @@ -CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/SQLite.swift +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SQLite.swift GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public" OTHER_LDFLAGS = -l"sqlite3" OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -PODS_BUILD_DIR = $BUILD_DIR -PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/SQLite.swift PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} diff --git a/News/Pods/Target Support Files/SVProgressHUD/Info.plist b/News/Pods/Target Support Files/SVProgressHUD/Info.plist index 7c537956..ce4ba6f8 100644 --- a/News/Pods/Target Support Files/SVProgressHUD/Info.plist +++ b/News/Pods/Target Support Files/SVProgressHUD/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.2.2 + 2.2.5 CFBundleSignature ???? CFBundleVersion diff --git a/News/Pods/Target Support Files/SVProgressHUD/SVProgressHUD.xcconfig b/News/Pods/Target Support Files/SVProgressHUD/SVProgressHUD.xcconfig index a7691717..f3c2fee6 100644 --- a/News/Pods/Target Support Files/SVProgressHUD/SVProgressHUD.xcconfig +++ b/News/Pods/Target Support Files/SVProgressHUD/SVProgressHUD.xcconfig @@ -1,9 +1,9 @@ -CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/SVProgressHUD +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SVProgressHUD GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public" OTHER_LDFLAGS = -framework "QuartzCore" -PODS_BUILD_DIR = $BUILD_DIR -PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/SVProgressHUD PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} diff --git a/News/Pods/Target Support Files/SnapKit/SnapKit.xcconfig b/News/Pods/Target Support Files/SnapKit/SnapKit.xcconfig index 3fe6941f..15dc9633 100644 --- a/News/Pods/Target Support Files/SnapKit/SnapKit.xcconfig +++ b/News/Pods/Target Support Files/SnapKit/SnapKit.xcconfig @@ -1,9 +1,9 @@ -CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/SnapKit +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SnapKit GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public" OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -PODS_BUILD_DIR = $BUILD_DIR -PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/SnapKit PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} diff --git a/News/Pods/Target Support Files/SwiftTheme/SwiftTheme.xcconfig b/News/Pods/Target Support Files/SwiftTheme/SwiftTheme.xcconfig index ae1b610f..326dc36d 100644 --- a/News/Pods/Target Support Files/SwiftTheme/SwiftTheme.xcconfig +++ b/News/Pods/Target Support Files/SwiftTheme/SwiftTheme.xcconfig @@ -1,9 +1,9 @@ -CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/SwiftTheme +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SwiftTheme GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public" OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -PODS_BUILD_DIR = $BUILD_DIR -PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/SwiftTheme PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} diff --git a/News/Pods/Target Support Files/SwiftyJSON/SwiftyJSON.xcconfig b/News/Pods/Target Support Files/SwiftyJSON/SwiftyJSON.xcconfig index e11f3877..90164b70 100644 --- a/News/Pods/Target Support Files/SwiftyJSON/SwiftyJSON.xcconfig +++ b/News/Pods/Target Support Files/SwiftyJSON/SwiftyJSON.xcconfig @@ -1,9 +1,9 @@ -CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SwiftyJSON GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public" OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -PODS_BUILD_DIR = $BUILD_DIR -PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/SwiftyJSON PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} diff --git a/News/Pods/Target Support Files/lottie-ios/Info.plist b/News/Pods/Target Support Files/lottie-ios/Info.plist index a73567e1..3e850498 100644 --- a/News/Pods/Target Support Files/lottie-ios/Info.plist +++ b/News/Pods/Target Support Files/lottie-ios/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.1.5 + 2.5.0 CFBundleSignature ???? CFBundleVersion diff --git a/News/Pods/Target Support Files/lottie-ios/lottie-ios-umbrella.h b/News/Pods/Target Support Files/lottie-ios/lottie-ios-umbrella.h index 7daaaf55..79e56a0e 100644 --- a/News/Pods/Target Support Files/lottie-ios/lottie-ios-umbrella.h +++ b/News/Pods/Target Support Files/lottie-ios/lottie-ios-umbrella.h @@ -16,9 +16,14 @@ #import "LOTAnimationTransitionController.h" #import "LOTAnimationView.h" #import "LOTAnimationView_Compat.h" +#import "LOTBlockCallback.h" #import "LOTCacheProvider.h" #import "LOTComposition.h" +#import "LOTInterpolatorCallback.h" +#import "LOTKeypath.h" #import "Lottie.h" +#import "LOTValueCallback.h" +#import "LOTValueDelegate.h" FOUNDATION_EXPORT double LottieVersionNumber; FOUNDATION_EXPORT const unsigned char LottieVersionString[]; diff --git a/News/Pods/Target Support Files/lottie-ios/lottie-ios.xcconfig b/News/Pods/Target Support Files/lottie-ios/lottie-ios.xcconfig index 5dc17213..cb4a8215 100644 --- a/News/Pods/Target Support Files/lottie-ios/lottie-ios.xcconfig +++ b/News/Pods/Target Support Files/lottie-ios/lottie-ios.xcconfig @@ -1,9 +1,9 @@ -CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/lottie-ios +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/lottie-ios GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public" OTHER_LDFLAGS = -framework "UIKit" -PODS_BUILD_DIR = $BUILD_DIR -PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/lottie-ios PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} diff --git a/News/Pods/lottie-ios/LICENSE b/News/Pods/lottie-ios/LICENSE index 9c8f3ea0..13f12541 100644 --- a/News/Pods/lottie-ios/LICENSE +++ b/News/Pods/lottie-ios/LICENSE @@ -186,7 +186,7 @@ same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright {yyyy} {name of copyright owner} + Copyright 2018 Airbnb, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -198,4 +198,4 @@ distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and - limitations under the License. \ No newline at end of file + limitations under the License. diff --git a/News/Pods/lottie-ios/lottie-ios/Classes/AnimatableLayers/LOTCompositionContainer.h b/News/Pods/lottie-ios/lottie-ios/Classes/AnimatableLayers/LOTCompositionContainer.h index 3a94f370..b52e0d64 100644 --- a/News/Pods/lottie-ios/lottie-ios/Classes/AnimatableLayers/LOTCompositionContainer.h +++ b/News/Pods/lottie-ios/lottie-ios/Classes/AnimatableLayers/LOTCompositionContainer.h @@ -16,13 +16,29 @@ withLayerGroup:(LOTLayerGroup * _Nullable)childLayerGroup withAssestGroup:(LOTAssetGroup * _Nullable)assetGroup; -- (void)addSublayer:(nonnull CALayer *)subLayer - toLayerNamed:(nonnull NSString *)layerName - applyTransform:(BOOL)applyTransform; +- (nullable NSArray *)keysForKeyPath:(nonnull LOTKeypath *)keypath; + +- (CGPoint)convertPoint:(CGPoint)point + toKeypathLayer:(nonnull LOTKeypath *)keypath + withParentLayer:(CALayer *_Nonnull)parent; + +- (CGRect)convertRect:(CGRect)rect + toKeypathLayer:(nonnull LOTKeypath *)keypath + withParentLayer:(CALayer *_Nonnull)parent; + +- (CGPoint)convertPoint:(CGPoint)point + fromKeypathLayer:(nonnull LOTKeypath *)keypath + withParentLayer:(CALayer *_Nonnull)parent; - (CGRect)convertRect:(CGRect)rect - fromLayer:(CALayer *_Nonnull)fromlayer - toLayerNamed:(NSString *_Nonnull)layerName; + fromKeypathLayer:(nonnull LOTKeypath *)keypath + withParentLayer:(CALayer *_Nonnull)parent; + +- (void)addSublayer:(nonnull CALayer *)subLayer + toKeypathLayer:(nonnull LOTKeypath *)keypath; + +- (void)maskSublayer:(nonnull CALayer *)subLayer + toKeypathLayer:(nonnull LOTKeypath *)keypath; @property (nonatomic, readonly, nonnull) NSArray *childLayers; @property (nonatomic, readonly, nonnull) NSDictionary *childMap; diff --git a/News/Pods/lottie-ios/lottie-ios/Classes/AnimatableLayers/LOTCompositionContainer.m b/News/Pods/lottie-ios/lottie-ios/Classes/AnimatableLayers/LOTCompositionContainer.m index 3aa06aa9..18f8ffbd 100644 --- a/News/Pods/lottie-ios/lottie-ios/Classes/AnimatableLayers/LOTCompositionContainer.m +++ b/News/Pods/lottie-ios/lottie-ios/Classes/AnimatableLayers/LOTCompositionContainer.m @@ -10,10 +10,17 @@ #import "LOTAsset.h" #import "CGGeometry+LOTAdditions.h" #import "LOTHelpers.h" +#import "LOTValueInterpolator.h" +#import "LOTAnimatorNode.h" +#import "LOTRenderNode.h" +#import "LOTRenderGroup.h" +#import "LOTNumberInterpolator.h" @implementation LOTCompositionContainer { NSNumber *_frameOffset; CALayer *DEBUG_Center; + NSMutableDictionary *_keypathCache; + LOTNumberInterpolator *_timeInterpolator; } - (instancetype)initWithModel:(LOTLayer *)layer @@ -36,13 +43,18 @@ - (instancetype)initWithModel:(LOTLayer *)layer } else { _frameOffset = @0; } + + if (layer.timeRemapping) { + _timeInterpolator = [[LOTNumberInterpolator alloc] initWithKeyframes:layer.timeRemapping.keyframes]; + } + [self initializeWithChildGroup:childLayerGroup withAssetGroup:assetGroup]; } return self; } - (void)initializeWithChildGroup:(LOTLayerGroup *)childGroup - withAssetGroup:(LOTAssetGroup *)assetGroup { + withAssetGroup:(LOTAssetGroup *)assetGroup { NSMutableDictionary *childMap = [NSMutableDictionary dictionary]; NSMutableArray *children = [NSMutableArray array]; NSArray *reversedItems = [[childGroup.layers reverseObjectEnumerator] allObjects]; @@ -84,87 +96,143 @@ - (void)initializeWithChildGroup:(LOTLayerGroup *)childGroup - (void)displayWithFrame:(NSNumber *)frame forceUpdate:(BOOL)forceUpdate { if (ENABLE_DEBUG_LOGGING) NSLog(@"-------------------- Composition Displaying Frame %@ --------------------", frame); [super displayWithFrame:frame forceUpdate:forceUpdate]; - NSNumber *childFrame = @(frame.floatValue - _frameOffset.floatValue); + NSNumber *newFrame = @((frame.floatValue - _frameOffset.floatValue) / self.timeStretchFactor.floatValue); + if (_timeInterpolator) { + newFrame = @([_timeInterpolator floatValueForFrame:newFrame]); + } for (LOTLayerContainer *child in _childLayers) { - [child displayWithFrame:childFrame forceUpdate:forceUpdate]; + [child displayWithFrame:newFrame forceUpdate:forceUpdate]; } if (ENABLE_DEBUG_LOGGING) NSLog(@"-------------------- ------------------------------- --------------------"); if (ENABLE_DEBUG_LOGGING) NSLog(@"-------------------- ------------------------------- --------------------"); } -- (BOOL)setValue:(nonnull id)value - forKeypath:(nonnull NSString *)keypath - atFrame:(nullable NSNumber *)frame { - BOOL transformSet = [super setValue:value forKeypath:keypath atFrame:frame]; - if (transformSet) { - return transformSet; - } - NSString *childKey = nil; - if (self.layerName == nil) { - childKey = keypath; - } else { - NSArray *components = [keypath componentsSeparatedByString:@"."]; - NSString *firstKey = components.firstObject; - if ([firstKey isEqualToString:self.layerName]) { - childKey = [keypath stringByReplacingCharactersInRange:NSMakeRange(0, firstKey.length + 1) withString:@""]; - } +- (void)setViewportBounds:(CGRect)viewportBounds { + [super setViewportBounds:viewportBounds]; + for (LOTLayerContainer *layer in _childLayers) { + layer.viewportBounds = viewportBounds; + } +} + +- (void)searchNodesForKeypath:(LOTKeypath * _Nonnull)keypath { + if (self.layerName != nil) { + [super searchNodesForKeypath:keypath]; } - BOOL childSet = NO; - if (childKey) { + if (self.layerName == nil || + [keypath pushKey:self.layerName]) { for (LOTLayerContainer *child in _childLayers) { - BOOL childHasKey = [child setValue:value forKeypath:childKey atFrame:frame]; - if (childHasKey) { - childSet = YES; - } + [child searchNodesForKeypath:keypath]; + } + if (self.layerName != nil) { + [keypath popKey]; } } - return childSet; } -- (void)addSublayer:(nonnull CALayer *)subLayer - toLayerNamed:(nonnull NSString *)layerName - applyTransform:(BOOL)applyTransform { - LOTLayerContainer *child = _childMap[layerName]; - if (child) { - if (applyTransform) { - [child addAndMaskSublayer:subLayer]; - } else { - CALayer *maskWrapper = [CALayer new]; - [maskWrapper addSublayer:subLayer]; - [self.wrapperLayer insertSublayer:maskWrapper below:child]; - [child removeFromSuperlayer]; - maskWrapper.mask = child; +- (void)setValueDelegate:(id _Nonnull)delegate + forKeypath:(LOTKeypath * _Nonnull)keypath { + if (self.layerName != nil) { + [super setValueDelegate:delegate forKeypath:keypath]; + } + if (self.layerName == nil || + [keypath pushKey:self.layerName]) { + for (LOTLayerContainer *child in _childLayers) { + [child setValueDelegate:delegate forKeypath:keypath]; + } + if (self.layerName != nil) { + [keypath popKey]; } } } +- (nullable NSArray *)keysForKeyPath:(nonnull LOTKeypath *)keypath { + if (_keypathCache == nil) { + _keypathCache = [NSMutableDictionary dictionary]; + } + [self searchNodesForKeypath:keypath]; + [_keypathCache addEntriesFromDictionary:keypath.searchResults]; + return keypath.searchResults.allKeys; +} + +- (CALayer *)_layerForKeypath:(nonnull LOTKeypath *)keypath { + id node = _keypathCache[keypath.absoluteKeypath]; + if (node == nil) { + [self keysForKeyPath:keypath]; + node = _keypathCache[keypath.absoluteKeypath]; + } + if (node == nil) { + NSLog(@"LOTComposition could not find layer for keypath:%@", keypath.absoluteKeypath); + return nil; + } + if ([node isKindOfClass:[CALayer class]]) { + return (CALayer *)node; + } + if (![node isKindOfClass:[LOTRenderNode class]]) { + NSLog(@"LOTComposition: Keypath return non-layer node:%@ ", keypath.absoluteKeypath); + return nil; + } + if ([node isKindOfClass:[LOTRenderGroup class]]) { + return [(LOTRenderGroup *)node containerLayer]; + } + LOTRenderNode *renderNode = (LOTRenderNode *)node; + return renderNode.outputLayer; +} + +- (CGPoint)convertPoint:(CGPoint)point + toKeypathLayer:(nonnull LOTKeypath *)keypath + withParentLayer:(CALayer *_Nonnull)parent{ + CALayer *layer = [self _layerForKeypath:keypath]; + if (!layer) { + return CGPointZero; + } + return [parent convertPoint:point toLayer:layer]; +} + - (CGRect)convertRect:(CGRect)rect - fromLayer:(CALayer *_Nonnull)fromlayer - toLayerNamed:(NSString *_Nonnull)layerName { - CGRect xRect = rect; - LOTLayerContainer *child = _childMap[layerName]; - if (child) { - xRect = [fromlayer convertRect:rect toLayer:child]; - } - return xRect; + toKeypathLayer:(nonnull LOTKeypath *)keypath + withParentLayer:(CALayer *_Nonnull)parent{ + CALayer *layer = [self _layerForKeypath:keypath]; + if (!layer) { + return CGRectZero; + } + return [parent convertRect:rect toLayer:layer]; } -- (void)setViewportBounds:(CGRect)viewportBounds { - [super setViewportBounds:viewportBounds]; - for (LOTLayerContainer *layer in _childLayers) { - layer.viewportBounds = viewportBounds; +- (CGPoint)convertPoint:(CGPoint)point + fromKeypathLayer:(nonnull LOTKeypath *)keypath + withParentLayer:(CALayer *_Nonnull)parent{ + CALayer *layer = [self _layerForKeypath:keypath]; + if (!layer) { + return CGPointZero; } + return [parent convertPoint:point fromLayer:layer]; } -- (void)logHierarchyKeypathsWithParent:(NSString * _Nullable)parent { - NSString *keypath = parent; - if (parent && self.layerName) { - keypath = [NSString stringWithFormat:@"%@.%@", parent, self.layerName]; - } else if (self.layerName) { - keypath = self.layerName; +- (CGRect)convertRect:(CGRect)rect + fromKeypathLayer:(nonnull LOTKeypath *)keypath + withParentLayer:(CALayer *_Nonnull)parent{ + CALayer *layer = [self _layerForKeypath:keypath]; + if (!layer) { + return CGRectZero; } - for (LOTLayerContainer *layer in _childLayers) { - [layer logHierarchyKeypathsWithParent:keypath]; + return [parent convertRect:rect fromLayer:layer]; +} + +- (void)addSublayer:(nonnull CALayer *)subLayer + toKeypathLayer:(nonnull LOTKeypath *)keypath { + CALayer *layer = [self _layerForKeypath:keypath]; + if (layer) { + [layer addSublayer:subLayer]; + } +} + +- (void)maskSublayer:(nonnull CALayer *)subLayer + toKeypathLayer:(nonnull LOTKeypath *)keypath { + CALayer *layer = [self _layerForKeypath:keypath]; + if (layer) { + [layer.superlayer addSublayer:subLayer]; + [layer removeFromSuperlayer]; + subLayer.mask = layer; } } diff --git a/News/Pods/lottie-ios/lottie-ios/Classes/AnimatableLayers/LOTLayerContainer.h b/News/Pods/lottie-ios/lottie-ios/Classes/AnimatableLayers/LOTLayerContainer.h index 8f606934..6e4be741 100644 --- a/News/Pods/lottie-ios/lottie-ios/Classes/AnimatableLayers/LOTLayerContainer.h +++ b/News/Pods/lottie-ios/lottie-ios/Classes/AnimatableLayers/LOTLayerContainer.h @@ -9,6 +9,10 @@ #import "LOTPlatformCompat.h" #import "LOTLayer.h" #import "LOTLayerGroup.h" +#import "LOTKeypath.h" +#import "LOTValueDelegate.h" + +@class LOTValueCallback; @interface LOTLayerContainer : CALayer @@ -17,17 +21,17 @@ @property (nonatomic, readonly, strong, nullable) NSString *layerName; @property (nonatomic, nullable) NSNumber *currentFrame; +@property (nonatomic, readonly, nonnull) NSNumber *timeStretchFactor; @property (nonatomic, assign) CGRect viewportBounds; @property (nonatomic, readonly, nonnull) CALayer *wrapperLayer; +@property (nonatomic, readonly, nonnull) NSDictionary *valueInterpolators; + - (void)displayWithFrame:(NSNumber * _Nonnull)frame; - (void)displayWithFrame:(NSNumber * _Nonnull)frame forceUpdate:(BOOL)forceUpdate; -- (void)addAndMaskSublayer:(nonnull CALayer *)subLayer; - -- (BOOL)setValue:(nonnull id)value - forKeypath:(nonnull NSString *)keypath - atFrame:(nullable NSNumber *)frame; +- (void)searchNodesForKeypath:(LOTKeypath * _Nonnull)keypath; -- (void)logHierarchyKeypathsWithParent:(NSString * _Nullable)parent; +- (void)setValueDelegate:(id _Nonnull)delegate + forKeypath:(LOTKeypath * _Nonnull)keypath; @end diff --git a/News/Pods/lottie-ios/lottie-ios/Classes/AnimatableLayers/LOTLayerContainer.m b/News/Pods/lottie-ios/lottie-ios/Classes/AnimatableLayers/LOTLayerContainer.m index a7a74882..52de91d0 100644 --- a/News/Pods/lottie-ios/lottie-ios/Classes/AnimatableLayers/LOTLayerContainer.m +++ b/News/Pods/lottie-ios/lottie-ios/Classes/AnimatableLayers/LOTLayerContainer.m @@ -27,7 +27,6 @@ @implementation LOTLayerContainer { CALayer *DEBUG_Center; LOTRenderGroup *_contentsGroup; LOTMaskContainer *_maskLayer; - NSDictionary *_valueInterpolators; } @dynamic currentFrame; @@ -50,6 +49,7 @@ - (instancetype)initWithModel:(LOTLayer *)layer } self.actions = @{@"hidden" : [NSNull null], @"opacity" : [NSNull null], @"transform" : [NSNull null]}; _wrapperLayer.actions = [self.actions copy]; + _timeStretchFactor = @1; [self commonInitializeWith:layer inLayerGroup:layerGroup]; } return self; @@ -76,7 +76,10 @@ - (void)commonInitializeWith:(LOTLayer *)layer _inFrame = [layer.inFrame copy]; _outFrame = [layer.outFrame copy]; + + _timeStretchFactor = [layer.timeStretch copy]; _transformInterpolator = [LOTTransformInterpolator transformForLayer:layer]; + if (layer.parentID) { NSNumber *parentID = layer.parentID; LOTTransformInterpolator *childInterpolator = _transformInterpolator; @@ -102,6 +105,19 @@ - (void)commonInitializeWith:(LOTLayer *)layer } NSMutableDictionary *interpolators = [NSMutableDictionary dictionary]; + interpolators[@"Opacity"] = _opacityInterpolator; + interpolators[@"Anchor Point"] = _transformInterpolator.anchorInterpolator; + interpolators[@"Scale"] = _transformInterpolator.scaleInterpolator; + interpolators[@"Rotation"] = _transformInterpolator.rotationInterpolator; + if (_transformInterpolator.positionXInterpolator && + _transformInterpolator.positionYInterpolator) { + interpolators[@"X Position"] = _transformInterpolator.positionXInterpolator; + interpolators[@"Y Position"] = _transformInterpolator.positionYInterpolator; + } else if (_transformInterpolator.positionInterpolator) { + interpolators[@"Position"] = _transformInterpolator.positionInterpolator; + } + + // Deprecated interpolators[@"Transform.Opacity"] = _opacityInterpolator; interpolators[@"Transform.Anchor Point"] = _transformInterpolator.anchorInterpolator; interpolators[@"Transform.Scale"] = _transformInterpolator.scaleInterpolator; @@ -144,8 +160,8 @@ - (void)_setImageForAsset:(LOTAsset *)asset { image = [UIImage imageWithContentsOfFile:imagePath]; } } else { - NSArray *components = [asset.imageName componentsSeparatedByString:@"."]; - image = [UIImage imageNamed:components.firstObject inBundle:asset.assetBundle compatibleWithTraitCollection:nil]; + NSString *imagePath = [asset.assetBundle pathForResource:asset.imageName ofType:nil]; + image = [UIImage imageWithContentsOfFile:imagePath]; } if (image) { @@ -221,7 +237,8 @@ - (void)displayWithFrame:(NSNumber *)frame { } - (void)displayWithFrame:(NSNumber *)frame forceUpdate:(BOOL)forceUpdate { - if (ENABLE_DEBUG_LOGGING) NSLog(@"View %@ Displaying Frame %@", self, frame); + NSNumber *newFrame = @(frame.floatValue / self.timeStretchFactor.floatValue); + if (ENABLE_DEBUG_LOGGING) NSLog(@"View %@ Displaying Frame %@, with local time %@", self, frame, newFrame); BOOL hidden = NO; if (_inFrame && _outFrame) { hidden = (frame.floatValue < _inFrame.floatValue || @@ -231,62 +248,14 @@ - (void)displayWithFrame:(NSNumber *)frame forceUpdate:(BOOL)forceUpdate { if (hidden) { return; } - if (_opacityInterpolator && [_opacityInterpolator hasUpdateForFrame:frame]) { - self.opacity = [_opacityInterpolator floatValueForFrame:frame]; - } - if (_transformInterpolator && [_transformInterpolator hasUpdateForFrame:frame]) { - _wrapperLayer.transform = [_transformInterpolator transformForFrame:frame]; + if (_opacityInterpolator && [_opacityInterpolator hasUpdateForFrame:newFrame]) { + self.opacity = [_opacityInterpolator floatValueForFrame:newFrame]; } - [_contentsGroup updateWithFrame:frame withModifierBlock:nil forceLocalUpdate:forceUpdate]; - _maskLayer.currentFrame = frame; -} - -- (void)addAndMaskSublayer:(nonnull CALayer *)subLayer { - [_wrapperLayer addSublayer:subLayer]; -} - -- (BOOL)setValue:(nonnull id)value - forKeypath:(nonnull NSString *)keypath - atFrame:(nullable NSNumber *)frame { - NSArray *components = [keypath componentsSeparatedByString:@"."]; - NSString *firstKey = components.firstObject; - if ([firstKey isEqualToString:self.layerName]) { - NSString *nextPath = [keypath stringByReplacingCharactersInRange:NSMakeRange(0, firstKey.length + 1) withString:@""]; - LOTValueInterpolator *interpolator = _valueInterpolators[nextPath]; - if (interpolator) { - return [interpolator setValue:value atFrame:frame]; - } else { - return [_contentsGroup setValue:value forKeyAtPath:keypath forFrame:frame]; - } - } else { - NSArray *transFormComponents = [keypath componentsSeparatedByString:@".Transform."]; - if (transFormComponents.count == 2) { - // Is a layer level transform. Check if it applies to a parent transform. - NSString *layerName = transFormComponents.firstObject; - NSString *attribute = transFormComponents.lastObject; - LOTTransformInterpolator *parentTransform = _transformInterpolator.inputNode; - while (parentTransform) { - if ([parentTransform.parentKeyName isEqualToString:layerName]) { - if ([attribute isEqualToString:@"Anchor Point"]) { - [parentTransform.anchorInterpolator setValue:value atFrame:frame]; - } else if ([attribute isEqualToString:@"Scale"]) { - [parentTransform.scaleInterpolator setValue:value atFrame:frame]; - } else if ([attribute isEqualToString:@"Rotation"]) { - [parentTransform.rotationInterpolator setValue:value atFrame:frame]; - } else if ([attribute isEqualToString:@"X Position"]) { - [parentTransform.positionXInterpolator setValue:value atFrame:frame]; - } else if ([attribute isEqualToString:@"Y Position"]) { - [parentTransform.positionYInterpolator setValue:value atFrame:frame]; - } else if ([attribute isEqualToString:@"Position"]) { - [parentTransform.positionInterpolator setValue:value atFrame:frame]; - } - parentTransform = nil; - } - parentTransform = parentTransform.inputNode; - } - } + if (_transformInterpolator && [_transformInterpolator hasUpdateForFrame:newFrame]) { + _wrapperLayer.transform = [_transformInterpolator transformForFrame:newFrame]; } - return NO; + [_contentsGroup updateWithFrame:newFrame withModifierBlock:nil forceLocalUpdate:forceUpdate]; + _maskLayer.currentFrame = newFrame; } - (void)setViewportBounds:(CGRect)viewportBounds { @@ -298,8 +267,47 @@ - (void)setViewportBounds:(CGRect)viewportBounds { } } -- (void)logHierarchyKeypathsWithParent:(NSString * _Nullable)parent { - [_contentsGroup logHierarchyKeypathsWithParent:parent]; +- (void)searchNodesForKeypath:(LOTKeypath * _Nonnull)keypath { + if (_contentsGroup == nil && [keypath pushKey:self.layerName]) { + // Matches self. + if ([keypath pushKey:@"Transform"]) { + // Is a transform node, check interpolators + LOTValueInterpolator *interpolator = _valueInterpolators[keypath.currentKey]; + if (interpolator) { + // We have a match! + [keypath pushKey:keypath.currentKey]; + [keypath addSearchResultForCurrentPath:_wrapperLayer]; + [keypath popKey]; + } + if (keypath.endOfKeypath) { + [keypath addSearchResultForCurrentPath:_wrapperLayer]; + } + [keypath popKey]; + } + if (keypath.endOfKeypath) { + [keypath addSearchResultForCurrentPath:_wrapperLayer]; + } + [keypath popKey]; + } + [_contentsGroup searchNodesForKeypath:keypath]; +} + +- (void)setValueDelegate:(id _Nonnull)delegate + forKeypath:(LOTKeypath * _Nonnull)keypath { + if ([keypath pushKey:self.layerName]) { + // Matches self. + if ([keypath pushKey:@"Transform"]) { + // Is a transform node, check interpolators + LOTValueInterpolator *interpolator = _valueInterpolators[keypath.currentKey]; + if (interpolator) { + // We have a match! + [interpolator setValueDelegate:delegate]; + } + [keypath popKey]; + } + [keypath popKey]; + } + [_contentsGroup setValueDelegate:delegate forKeypath:keypath]; } @end diff --git a/News/Pods/lottie-ios/lottie-ios/Classes/Extensions/CGGeometry+LOTAdditions.h b/News/Pods/lottie-ios/lottie-ios/Classes/Extensions/CGGeometry+LOTAdditions.h index 57896f7a..28212235 100644 --- a/News/Pods/lottie-ios/lottie-ios/Classes/Extensions/CGGeometry+LOTAdditions.h +++ b/News/Pods/lottie-ios/lottie-ios/Classes/Extensions/CGGeometry+LOTAdditions.h @@ -2,8 +2,7 @@ #import "LOTPlatformCompat.h" #import -#import -#import + // // Core Graphics Geometry Additions // @@ -82,12 +81,6 @@ CGRect LOT_RectSetHeight(CGRect rect, CGFloat height); CGFloat LOT_PointDistanceFromPoint(CGPoint point1, CGPoint point2); CGFloat LOT_DegreesToRadians(CGFloat degrees); -GLKMatrix4 LOT_GLKMatrix4FromCATransform(CATransform3D xform); - -CATransform3D LOT_CATransform3DFromGLKMatrix4(GLKMatrix4 xform); - -CATransform3D LOT_CATransform3DSlerpToTransform(CATransform3D fromXorm, CATransform3D toXform, CGFloat amount ); - CGFloat LOT_RemapValue(CGFloat value, CGFloat low1, CGFloat high1, CGFloat low2, CGFloat high2 ); CGPoint LOT_PointByLerpingPoints(CGPoint point1, CGPoint point2, CGFloat value); diff --git a/News/Pods/lottie-ios/lottie-ios/Classes/Extensions/CGGeometry+LOTAdditions.m b/News/Pods/lottie-ios/lottie-ios/Classes/Extensions/CGGeometry+LOTAdditions.m index 25777499..61aa460d 100644 --- a/News/Pods/lottie-ios/lottie-ios/Classes/Extensions/CGGeometry+LOTAdditions.m +++ b/News/Pods/lottie-ios/lottie-ios/Classes/Extensions/CGGeometry+LOTAdditions.m @@ -319,55 +319,6 @@ CGFloat LOT_DegreesToRadians(CGFloat degrees) { return degrees * M_PI / 180; } -GLKMatrix4 LOT_GLKMatrix4FromCATransform(CATransform3D xform) { - return GLKMatrix4Make(xform.m11, xform.m12, xform.m13, xform.m14, - xform.m21, xform.m22, xform.m23, xform.m24, - xform.m31, xform.m32, xform.m33, xform.m34, - xform.m41, xform.m42, xform.m43, xform.m44); -} - -CATransform3D LOT_CATransform3DFromGLKMatrix4(GLKMatrix4 xform) { - CATransform3D newXform; - newXform.m11 = xform.m00; - newXform.m12 = xform.m01; - newXform.m13 = xform.m02; - newXform.m14 = xform.m03; - newXform.m21 = xform.m10; - newXform.m22 = xform.m11; - newXform.m23 = xform.m12; - newXform.m24 = xform.m13; - newXform.m31 = xform.m20; - newXform.m32 = xform.m21; - newXform.m33 = xform.m22; - newXform.m34 = xform.m23; - newXform.m41 = xform.m30; - newXform.m42 = xform.m31; - newXform.m43 = xform.m32; - newXform.m44 = xform.m33; - return newXform; -} - -CATransform3D LOT_CATransform3DSlerpToTransform(CATransform3D fromXorm, CATransform3D toXform, CGFloat amount ) { - // amount = MIN(MAX(0, amount), 1); - if (amount == 0 || amount == 1) { - return amount == 0 ? fromXorm : toXform; - } - GLKMatrix4 xform1 = LOT_GLKMatrix4FromCATransform(fromXorm); - GLKMatrix4 xform2 = LOT_GLKMatrix4FromCATransform(toXform); - GLKQuaternion q1 = GLKQuaternionMakeWithMatrix4(xform1); - GLKQuaternion q2 = GLKQuaternionMakeWithMatrix4(xform2); - GLKQuaternion r1 = GLKQuaternionSlerp(q1, q2, amount); - GLKVector4 t1 = GLKVector4Make(xform1.m30, xform1.m31, xform1.m32, xform1.m33); - GLKVector4 t2 = GLKVector4Make(xform2.m30, xform2.m31, xform2.m32, xform2.m33); - GLKVector4 r2 = GLKVector4Lerp(t1, t2, amount); - - GLKMatrix4 rX = GLKMatrix4MakeWithQuaternion(r1); - rX.m30 = r2.x; - rX.m31 = r2.y; - rX.m32 = r2.z; - return LOT_CATransform3DFromGLKMatrix4(rX); -} - CGFloat LOT_PointDistanceFromPoint(CGPoint point1, CGPoint point2) { CGFloat xDist = (point2.x - point1.x); CGFloat yDist = (point2.y - point1.y); diff --git a/News/Pods/lottie-ios/lottie-ios/Classes/Extensions/LOTBezierPath.h b/News/Pods/lottie-ios/lottie-ios/Classes/Extensions/LOTBezierPath.h index f85c7897..5c90b5b9 100644 --- a/News/Pods/lottie-ios/lottie-ios/Classes/Extensions/LOTBezierPath.h +++ b/News/Pods/lottie-ios/lottie-ios/Classes/Extensions/LOTBezierPath.h @@ -12,6 +12,8 @@ NS_ASSUME_NONNULL_BEGIN @interface LOTBezierPath : NSObject ++ (instancetype)pathWithCGPath:(CGPathRef)path; + + (instancetype)newPath; - (void)LOT_moveToPoint:(CGPoint)point; diff --git a/News/Pods/lottie-ios/lottie-ios/Classes/Extensions/LOTBezierPath.m b/News/Pods/lottie-ios/lottie-ios/Classes/Extensions/LOTBezierPath.m index b534d5b6..499e7123 100644 --- a/News/Pods/lottie-ios/lottie-ios/Classes/Extensions/LOTBezierPath.m +++ b/News/Pods/lottie-ios/lottie-ios/Classes/Extensions/LOTBezierPath.m @@ -10,6 +10,7 @@ #import "CGGeometry+LOTAdditions.h" typedef struct LOT_Subpath LOT_Subpath; +typedef void(^LOTBezierPathEnumerationHandler)(const CGPathElement *element); struct LOT_Subpath { CGPathElementType type; @@ -36,6 +37,12 @@ @implementation LOTBezierPath { // MARK - Lifecycle ++ (instancetype)pathWithCGPath:(CGPathRef)path { + LOTBezierPath *returnPath = [LOTBezierPath newPath]; + [returnPath setWithCGPath:path]; + return returnPath; +} + + (instancetype)newPath { return [[LOTBezierPath alloc] init]; } @@ -281,8 +288,7 @@ - (void)trimPathFromT:(CGFloat)fromT toT:(CGFloat)toT offset:(CGFloat)offset { CGFloat totalLength = _length; [self _clearPathData]; - - + LOT_Subpath *subpath = headSubpath_; headSubpath_ = NULL; tailSubpath_ = NULL; @@ -416,4 +422,50 @@ - (void)trimPathFromT:(CGFloat)fromT toT:(CGFloat)toT offset:(CGFloat)offset { } } +#pragma mark - From CGPath + +- (void)setWithCGPath:(CGPathRef)path { + [self lot_enumeratePath:path elementsUsingBlock:^(const CGPathElement *element) { + switch (element->type) { + case kCGPathElementMoveToPoint: { + CGPoint point = element ->points[0]; + [self LOT_moveToPoint:point]; + break; + } + case kCGPathElementAddLineToPoint: { + CGPoint point = element ->points[0]; + [self LOT_addLineToPoint:point]; + break; + } + case kCGPathElementAddQuadCurveToPoint: { + break; + } + case kCGPathElementAddCurveToPoint: { + CGPoint point1 = element->points[0]; + CGPoint point2 = element->points[1]; + CGPoint point3 = element->points[2]; + [self LOT_addCurveToPoint:point3 controlPoint1:point1 controlPoint2:point2]; + break; + } + case kCGPathElementCloseSubpath: { + [self LOT_closePath]; + break; + } + } + }]; +} + +- (void)lot_enumeratePath:(CGPathRef)cgPath elementsUsingBlock:(LOTBezierPathEnumerationHandler)handler { + void CGPathEnumerationCallback(void *info, const CGPathElement *element); + CGPathApply(cgPath, (__bridge void * _Nullable)(handler), CGPathEnumerationCallback); +} + @end + +void CGPathEnumerationCallback(void *info, const CGPathElement *element) +{ + LOTBezierPathEnumerationHandler handler = (__bridge LOTBezierPathEnumerationHandler)(info); + if (handler) { + handler(element); + } +} diff --git a/News/Pods/lottie-ios/lottie-ios/Classes/Extensions/LOTRadialGradientLayer.m b/News/Pods/lottie-ios/lottie-ios/Classes/Extensions/LOTRadialGradientLayer.m index f1557518..f6bef1f3 100755 --- a/News/Pods/lottie-ios/lottie-ios/Classes/Extensions/LOTRadialGradientLayer.m +++ b/News/Pods/lottie-ios/lottie-ios/Classes/Extensions/LOTRadialGradientLayer.m @@ -50,15 +50,14 @@ - (id)actionForKey:(NSString *)key { } - (void)drawInContext:(CGContextRef)ctx { - NSInteger numberOfLocations = self.locations.count; - NSInteger numberOfComponents = 0; - CGColorSpaceRef colorSpace = NULL; - - if (self.colors.count) { - CGColorRef colorRef = (__bridge CGColorRef)[self.colors objectAtIndex:0]; - numberOfComponents = CGColorGetNumberOfComponents(colorRef); - colorSpace = CGColorGetColorSpace(colorRef); + if (self.colors.count == 0) { + return; } + + NSInteger numberOfLocations = self.locations.count; + CGColorRef colorRef = (__bridge CGColorRef)[self.colors objectAtIndex:0]; + NSInteger numberOfComponents = CGColorGetNumberOfComponents(colorRef); + CGColorSpaceRef colorSpace = CGColorGetColorSpace(colorRef); CGPoint origin = self.startPoint; CGFloat radius = LOT_PointDistanceFromPoint(self.startPoint, self.endPoint); diff --git a/News/Pods/lottie-ios/lottie-ios/Classes/MacCompatability/CALayer+Compat.h b/News/Pods/lottie-ios/lottie-ios/Classes/MacCompatability/CALayer+Compat.h index ed50cd02..55cd9cb4 100644 --- a/News/Pods/lottie-ios/lottie-ios/Classes/MacCompatability/CALayer+Compat.h +++ b/News/Pods/lottie-ios/lottie-ios/Classes/MacCompatability/CALayer+Compat.h @@ -3,6 +3,8 @@ // Copyright (c) 2017 Airbnb. All rights reserved. // +#include + #if !TARGET_OS_IPHONE && !TARGET_OS_SIMULATOR #import #import diff --git a/News/Pods/lottie-ios/lottie-ios/Classes/MacCompatability/CALayer+Compat.m b/News/Pods/lottie-ios/lottie-ios/Classes/MacCompatability/CALayer+Compat.m index b856d2f5..c364a7e2 100644 --- a/News/Pods/lottie-ios/lottie-ios/Classes/MacCompatability/CALayer+Compat.m +++ b/News/Pods/lottie-ios/lottie-ios/Classes/MacCompatability/CALayer+Compat.m @@ -3,6 +3,8 @@ // Copyright (c) 2017 Airbnb. All rights reserved. // +#include + #if !TARGET_OS_IPHONE && !TARGET_OS_SIMULATOR #import "CALayer+Compat.h" diff --git a/News/Pods/lottie-ios/lottie-ios/Classes/MacCompatability/LOTPlatformCompat.h b/News/Pods/lottie-ios/lottie-ios/Classes/MacCompatability/LOTPlatformCompat.h index 6a6a1e52..eea9184a 100644 --- a/News/Pods/lottie-ios/lottie-ios/Classes/MacCompatability/LOTPlatformCompat.h +++ b/News/Pods/lottie-ios/lottie-ios/Classes/MacCompatability/LOTPlatformCompat.h @@ -9,7 +9,7 @@ #ifndef LOTPlatformCompat_h #define LOTPlatformCompat_h -#import "TargetConditionals.h" +#include #if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR @@ -21,6 +21,7 @@ #import "UIColor.h" #import "CALayer+Compat.h" #import "NSValue+Compat.h" +#import "UIBezierPath.h" NS_INLINE NSString *NSStringFromCGRect(CGRect rect) { return NSStringFromRect(rect); diff --git a/News/Pods/lottie-ios/lottie-ios/Classes/MacCompatability/NSValue+Compat.h b/News/Pods/lottie-ios/lottie-ios/Classes/MacCompatability/NSValue+Compat.h index fc0df3d7..06724571 100644 --- a/News/Pods/lottie-ios/lottie-ios/Classes/MacCompatability/NSValue+Compat.h +++ b/News/Pods/lottie-ios/lottie-ios/Classes/MacCompatability/NSValue+Compat.h @@ -3,6 +3,8 @@ // Copyright (c) 2017 Airbnb. All rights reserved. // +#include + #if !TARGET_OS_IPHONE && !TARGET_OS_SIMULATOR #import diff --git a/News/Pods/lottie-ios/lottie-ios/Classes/MacCompatability/NSValue+Compat.m b/News/Pods/lottie-ios/lottie-ios/Classes/MacCompatability/NSValue+Compat.m index 057e4460..6547455f 100644 --- a/News/Pods/lottie-ios/lottie-ios/Classes/MacCompatability/NSValue+Compat.m +++ b/News/Pods/lottie-ios/lottie-ios/Classes/MacCompatability/NSValue+Compat.m @@ -3,6 +3,8 @@ // Copyright (c) 2017 Airbnb. All rights reserved. // +#include + #if !TARGET_OS_IPHONE && !TARGET_OS_SIMULATOR #import "NSValue+Compat.h" diff --git a/News/Pods/lottie-ios/lottie-ios/Classes/MacCompatability/UIBezierPath.h b/News/Pods/lottie-ios/lottie-ios/Classes/MacCompatability/UIBezierPath.h new file mode 100755 index 00000000..6de2c319 --- /dev/null +++ b/News/Pods/lottie-ios/lottie-ios/Classes/MacCompatability/UIBezierPath.h @@ -0,0 +1,80 @@ +// Kindly stolen from https://github.com/BigZaphod/Chameleon +/* + * Copyright (c) 2011, The Iconfactory. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. Neither the name of The Iconfactory nor the names of its contributors may + * be used to endorse or promote products derived from this software without + * specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE ICONFACTORY BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include + +#if !TARGET_OS_IPHONE && !TARGET_OS_SIMULATOR +#import +#import + +typedef NS_OPTIONS(NSUInteger, UIRectCorner) { + UIRectCornerTopLeft = 1 << 0, + UIRectCornerTopRight = 1 << 1, + UIRectCornerBottomLeft = 1 << 2, + UIRectCornerBottomRight = 1 << 3, + UIRectCornerAllCorners = UIRectCornerTopLeft | UIRectCornerTopRight | UIRectCornerBottomLeft | UIRectCornerBottomRight +}; + +@interface UIBezierPath : NSObject + ++ (UIBezierPath *)bezierPath; ++ (UIBezierPath *)bezierPathWithRect:(CGRect)rect; ++ (UIBezierPath *)bezierPathWithOvalInRect:(CGRect)rect; ++ (UIBezierPath *)bezierPathWithRoundedRect:(CGRect)rect cornerRadius:(CGFloat)cornerRadius; ++ (UIBezierPath *)bezierPathWithRoundedRect:(CGRect)rect byRoundingCorners:(UIRectCorner)corners cornerRadii:(CGSize)cornerRadii; ++ (UIBezierPath *)bezierPathWithArcCenter:(CGPoint)center radius:(CGFloat)radius startAngle:(CGFloat)startAngle endAngle:(CGFloat)endAngle clockwise:(BOOL)clockwise; ++ (UIBezierPath *)bezierPathWithCGPath:(CGPathRef)CGPath; + +- (void)moveToPoint:(CGPoint)point; +- (void)addLineToPoint:(CGPoint)point; +- (void)addArcWithCenter:(CGPoint)center radius:(CGFloat)radius startAngle:(CGFloat)startAngle endAngle:(CGFloat)endAngle clockwise:(BOOL)clockwise; +- (void)addCurveToPoint:(CGPoint)endPoint controlPoint1:(CGPoint)controlPoint1 controlPoint2:(CGPoint)controlPoint2; +- (void)addQuadCurveToPoint:(CGPoint)endPoint controlPoint:(CGPoint)controlPoint; +- (void)closePath; +- (void)removeAllPoints; +- (void)appendPath:(UIBezierPath *)bezierPath; +- (void)setLineDash:(const CGFloat *)pattern count:(NSInteger)count phase:(CGFloat)phase; +- (void)getLineDash:(CGFloat *)pattern count:(NSInteger *)count phase:(CGFloat *)phase; +- (BOOL)containsPoint:(CGPoint)point; +- (void)applyTransform:(CGAffineTransform)transform; + +@property (nonatomic) CGPathRef CGPath; +@property (nonatomic, readonly) CGPoint currentPoint; +@property (nonatomic) CGFloat lineWidth; +@property (nonatomic) CGLineCap lineCapStyle; +@property (nonatomic) CGLineJoin lineJoinStyle; +@property (nonatomic) CGFloat miterLimit; +@property (nonatomic) CGFloat flatness; +@property (nonatomic) BOOL usesEvenOddFillRule; +@property (readonly, getter=isEmpty) BOOL empty; +@property (nonatomic, readonly) CGRect bounds; +@end + +#endif diff --git a/News/Pods/lottie-ios/lottie-ios/Classes/MacCompatability/UIBezierPath.m b/News/Pods/lottie-ios/lottie-ios/Classes/MacCompatability/UIBezierPath.m new file mode 100755 index 00000000..ecc25499 --- /dev/null +++ b/News/Pods/lottie-ios/lottie-ios/Classes/MacCompatability/UIBezierPath.m @@ -0,0 +1,312 @@ +// Kindly stolen from https://github.com/BigZaphod/Chameleon +/* + * Copyright (c) 2011, The Iconfactory. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. Neither the name of The Iconfactory nor the names of its contributors may + * be used to endorse or promote products derived from this software without + * specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE ICONFACTORY BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include + +#if !TARGET_OS_IPHONE && !TARGET_OS_SIMULATOR +#import "UIBezierPath.h" + +@implementation UIBezierPath { + CGFloat *_lineDashPattern; + NSInteger _lineDashCount; + CGFloat _lineDashPhase; +} +@synthesize CGPath = _path; + +- (id)init { + self = [super init]; + if (self) { + _path = CGPathCreateMutable(); + _lineWidth = 1; + _lineCapStyle = kCGLineCapButt; + _lineJoinStyle = kCGLineJoinMiter; + _miterLimit = 10; + _flatness = 0.6; + _usesEvenOddFillRule = NO; + _lineDashPattern = NULL; + _lineDashCount = 0; + _lineDashPhase = 0; + } + return self; +} + +- (void)dealloc { + if (_path) CGPathRelease(_path); +} + +- (id)copyWithZone:(NSZone *)zone { + UIBezierPath *copy = [[self class] new]; + + copy.CGPath = self.CGPath; + copy.lineWidth = self.lineWidth; + copy.lineCapStyle = self.lineCapStyle; + copy.lineJoinStyle = self.lineJoinStyle; + copy.miterLimit = self.miterLimit; + copy.flatness = self.flatness; + copy.usesEvenOddFillRule = self.usesEvenOddFillRule; + + NSInteger lineDashCount = 0; + [self getLineDash:NULL count:&lineDashCount phase:NULL]; + + if (lineDashCount > 0) { + CGFloat *lineDashPattern = malloc(sizeof(CGFloat) * lineDashCount); + CGFloat lineDashPhase = 0; + [self getLineDash:lineDashPattern count:NULL phase:&lineDashPhase]; + [copy setLineDash:lineDashPattern count:lineDashCount phase:lineDashPhase]; + free(lineDashPattern); + } + + return copy; +} + ++ (UIBezierPath *)bezierPathWithCGPath:(CGPathRef)CGPath { + NSAssert(CGPath != NULL, @"CGPath must not be NULL"); + UIBezierPath *bezierPath = [[self alloc] init]; + bezierPath.CGPath = CGPath; + return bezierPath; +} + ++ (UIBezierPath *)bezierPath { + UIBezierPath *bezierPath = [[self alloc] init]; + return bezierPath; +} + ++ (UIBezierPath *)bezierPathWithRect:(CGRect)rect { + CGMutablePathRef path = CGPathCreateMutable(); + CGPathAddRect(path, NULL, rect); + + UIBezierPath *bezierPath = [[self alloc] init]; + bezierPath->_path = path; + return bezierPath; +} + ++ (UIBezierPath *)bezierPathWithOvalInRect:(CGRect)rect { + CGMutablePathRef path = CGPathCreateMutable(); + CGPathAddEllipseInRect(path, NULL, rect); + + UIBezierPath *bezierPath = [[self alloc] init]; + bezierPath->_path = path; + return bezierPath; +} + ++ (UIBezierPath *)bezierPathWithRoundedRect:(CGRect)rect + cornerRadius:(CGFloat)cornerRadius { + return [self bezierPathWithRoundedRect:rect + byRoundingCorners:UIRectCornerAllCorners + cornerRadii:CGSizeMake(cornerRadius, cornerRadius)]; +} + ++ (UIBezierPath *)bezierPathWithRoundedRect:(CGRect)rect + byRoundingCorners:(UIRectCorner)corners + cornerRadii:(CGSize)cornerRadii { + + CGMutablePathRef path = CGPathCreateMutable(); + + const CGPoint topLeft = rect.origin; + const CGPoint topRight = CGPointMake(CGRectGetMaxX(rect), CGRectGetMinY(rect)); + const CGPoint bottomRight = CGPointMake(CGRectGetMaxX(rect), CGRectGetMaxY(rect)); + const CGPoint bottomLeft = CGPointMake(CGRectGetMinX(rect), CGRectGetMaxY(rect)); + + if (corners & UIRectCornerTopLeft) { + CGPathMoveToPoint(path, NULL, topLeft.x + cornerRadii.width, topLeft.y); + } else { + CGPathMoveToPoint(path, NULL, topLeft.x, topLeft.y); + } + + if (corners & UIRectCornerTopRight) { + CGPathAddLineToPoint(path, NULL, topRight.x - cornerRadii.width, topRight.y); + CGPathAddCurveToPoint(path, NULL, topRight.x, topRight.y, topRight.x, topRight.y + cornerRadii.height, topRight.x, topRight.y + cornerRadii.height); + } else { + CGPathAddLineToPoint(path, NULL, topRight.x, topRight.y); + } + + if (corners & UIRectCornerBottomRight) { + CGPathAddLineToPoint(path, NULL, bottomRight.x, bottomRight.y - cornerRadii.height); + CGPathAddCurveToPoint(path, NULL, bottomRight.x, bottomRight.y, bottomRight.x - cornerRadii.width, bottomRight.y, bottomRight.x - cornerRadii.width, bottomRight.y); + } else { + CGPathAddLineToPoint(path, NULL, bottomRight.x, bottomRight.y); + } + + if (corners & UIRectCornerBottomLeft) { + CGPathAddLineToPoint(path, NULL, bottomLeft.x + cornerRadii.width, bottomLeft.y); + CGPathAddCurveToPoint(path, NULL, bottomLeft.x, bottomLeft.y, bottomLeft.x, bottomLeft.y - cornerRadii.height, bottomLeft.x, bottomLeft.y - cornerRadii.height); + } else { + CGPathAddLineToPoint(path, NULL, bottomLeft.x, bottomLeft.y); + } + + if (corners & UIRectCornerTopLeft) { + CGPathAddLineToPoint(path, NULL, topLeft.x, topLeft.y + cornerRadii.height); + CGPathAddCurveToPoint(path, NULL, topLeft.x, topLeft.y, topLeft.x + cornerRadii.width, topLeft.y, topLeft.x + cornerRadii.width, topLeft.y); + } else { + CGPathAddLineToPoint(path, NULL, topLeft.x, topLeft.y); + } + + CGPathCloseSubpath(path); + + UIBezierPath *bezierPath = [[self alloc] init]; + bezierPath->_path = path; + return bezierPath; +} + ++ (UIBezierPath *)bezierPathWithArcCenter:(CGPoint)center + radius:(CGFloat)radius + startAngle:(CGFloat)startAngle + endAngle:(CGFloat)endAngle + clockwise:(BOOL)clockwise { + + CGMutablePathRef path = CGPathCreateMutable(); + CGPathAddArc(path, NULL, center.x, center.y, radius, startAngle, endAngle, clockwise); + + UIBezierPath *bezierPath = [[self alloc] init]; + bezierPath->_path = path; + return bezierPath; +} + +- (void)moveToPoint:(CGPoint)point { + CGMutablePathRef mutablePath = CGPathCreateMutableCopy(_path); + CGPathMoveToPoint(mutablePath, NULL, point.x, point.y); + self.CGPath = mutablePath; + CGPathRelease(mutablePath); +} + +- (void)addLineToPoint:(CGPoint)point { + CGMutablePathRef mutablePath = CGPathCreateMutableCopy(_path); + CGPathAddLineToPoint(mutablePath, NULL, point.x, point.y); + self.CGPath = mutablePath; + CGPathRelease(mutablePath); +} + +- (void)addArcWithCenter:(CGPoint)center radius:(CGFloat)radius startAngle:(CGFloat)startAngle endAngle:(CGFloat)endAngle clockwise:(BOOL)clockwise { + CGMutablePathRef mutablePath = CGPathCreateMutableCopy(_path); + CGPathAddArc(mutablePath, NULL, center.x, center.y, radius, startAngle, endAngle, clockwise); + self.CGPath = mutablePath; + CGPathRelease(mutablePath); +} + +- (void)addCurveToPoint:(CGPoint)endPoint controlPoint1:(CGPoint)controlPoint1 controlPoint2:(CGPoint)controlPoint2 { + CGMutablePathRef mutablePath = CGPathCreateMutableCopy(_path); + CGPathAddCurveToPoint(mutablePath, NULL, controlPoint1.x, controlPoint1.y, controlPoint2.x, controlPoint2.y, endPoint.x, endPoint.y); + self.CGPath = mutablePath; + CGPathRelease(mutablePath); +} + +- (void)addQuadCurveToPoint:(CGPoint)endPoint controlPoint:(CGPoint)controlPoint { + CGMutablePathRef mutablePath = CGPathCreateMutableCopy(_path); + CGPathAddQuadCurveToPoint(mutablePath, NULL, controlPoint.x, controlPoint.y, endPoint.x, endPoint.y); + self.CGPath = mutablePath; + CGPathRelease(mutablePath); +} + +- (void)closePath { + CGMutablePathRef mutablePath = CGPathCreateMutableCopy(_path); + CGPathCloseSubpath(mutablePath); + self.CGPath = mutablePath; + CGPathRelease(mutablePath); +} + +- (void)removeAllPoints { + CGMutablePathRef mutablePath = CGPathCreateMutable(); + self.CGPath = mutablePath; + CGPathRelease(mutablePath); +} + +- (void)appendPath:(UIBezierPath *)bezierPath { + if (bezierPath) { + CGMutablePathRef mutablePath = CGPathCreateMutableCopy(_path); + CGPathAddPath(mutablePath, NULL, bezierPath.CGPath); + self.CGPath = mutablePath; + CGPathRelease(mutablePath); + } +} + +- (void)setCGPath:(CGPathRef)path { + NSAssert(path != NULL, @"path must not be NULL"); + if (path != _path) { + if (_path) CGPathRelease(_path); + _path = CGPathCreateCopy(path); + } +} + +- (CGPoint)currentPoint { + return CGPathGetCurrentPoint(_path); +} + +- (void)setLineDash:(const CGFloat *)pattern count:(NSInteger)count phase:(CGFloat)phase { + free(_lineDashPattern); + + if (pattern && count > 0) { + const size_t size = sizeof(CGFloat) * count; + _lineDashPattern = malloc(size); + bcopy(pattern, _lineDashPattern, size); + } else { + _lineDashPattern = NULL; + } + + _lineDashCount = count; + _lineDashPhase = phase; +} + +- (void)getLineDash:(CGFloat *)pattern count:(NSInteger *)count phase:(CGFloat *)phase { + if (pattern && _lineDashPattern && _lineDashCount > 0) { + const size_t size = sizeof(CGFloat) * _lineDashCount; + bcopy(_lineDashPattern, pattern, size); + } + + if (count) { + *count = _lineDashCount; + } + + if (phase) { + *phase = _lineDashPhase; + } +} + +- (BOOL)containsPoint:(CGPoint)point { + return CGPathContainsPoint(_path, NULL, point, _usesEvenOddFillRule); +} + +- (BOOL)isEmpty { + return CGPathIsEmpty(_path); +} + +- (CGRect)bounds { + return CGPathGetBoundingBox(_path); +} + +- (void)applyTransform:(CGAffineTransform)transform { + CGMutablePathRef mutablePath = CGPathCreateMutable(); + CGPathAddPath(mutablePath, &transform, _path); + self.CGPath = mutablePath; + CGPathRelease(mutablePath); +} + +@end + +#endif diff --git a/News/Pods/lottie-ios/lottie-ios/Classes/MacCompatability/UIColor.h b/News/Pods/lottie-ios/lottie-ios/Classes/MacCompatability/UIColor.h index 2b68c924..8e14137f 100644 --- a/News/Pods/lottie-ios/lottie-ios/Classes/MacCompatability/UIColor.h +++ b/News/Pods/lottie-ios/lottie-ios/Classes/MacCompatability/UIColor.h @@ -6,6 +6,8 @@ // Copyright © 2017 Airbnb. All rights reserved. // +#include + #if !TARGET_OS_IPHONE && !TARGET_OS_SIMULATOR #import #import diff --git a/News/Pods/lottie-ios/lottie-ios/Classes/MacCompatability/UIColor.m b/News/Pods/lottie-ios/lottie-ios/Classes/MacCompatability/UIColor.m index d3b9505e..ac223fe3 100644 --- a/News/Pods/lottie-ios/lottie-ios/Classes/MacCompatability/UIColor.m +++ b/News/Pods/lottie-ios/lottie-ios/Classes/MacCompatability/UIColor.m @@ -6,6 +6,8 @@ // Copyright © 2017 Airbnb. All rights reserved. // +#include + #if !TARGET_OS_IPHONE && !TARGET_OS_SIMULATOR #import "UIColor.h" #import diff --git a/News/Pods/lottie-ios/lottie-ios/Classes/Models/LOTAsset.h b/News/Pods/lottie-ios/lottie-ios/Classes/Models/LOTAsset.h index 003bd982..0455c7f0 100644 --- a/News/Pods/lottie-ios/lottie-ios/Classes/Models/LOTAsset.h +++ b/News/Pods/lottie-ios/lottie-ios/Classes/Models/LOTAsset.h @@ -19,7 +19,8 @@ NS_ASSUME_NONNULL_BEGIN - (instancetype)initWithJSON:(NSDictionary *)jsonDictionary withAssetGroup:(LOTAssetGroup * _Nullable)assetGroup - withAssetBundle:(NSBundle *_Nonnull)bundle; + withAssetBundle:(NSBundle *_Nonnull)bundle + withFramerate:(NSNumber *)framerate; @property (nonatomic, readonly, nullable) NSString *referenceID; @property (nonatomic, readonly, nullable) NSNumber *assetWidth; diff --git a/News/Pods/lottie-ios/lottie-ios/Classes/Models/LOTAsset.m b/News/Pods/lottie-ios/lottie-ios/Classes/Models/LOTAsset.m index 7a25cf5e..23e69a3d 100644 --- a/News/Pods/lottie-ios/lottie-ios/Classes/Models/LOTAsset.m +++ b/News/Pods/lottie-ios/lottie-ios/Classes/Models/LOTAsset.m @@ -15,18 +15,21 @@ @implementation LOTAsset - (instancetype)initWithJSON:(NSDictionary *)jsonDictionary withAssetGroup:(LOTAssetGroup * _Nullable)assetGroup - withAssetBundle:(NSBundle *_Nonnull)bundle { + withAssetBundle:(NSBundle *_Nonnull)bundle + withFramerate:(NSNumber *)framerate { self = [super init]; if (self) { _assetBundle = bundle; [self _mapFromJSON:jsonDictionary - withAssetGroup:assetGroup]; + withAssetGroup:assetGroup + withFramerate:framerate]; } return self; } - (void)_mapFromJSON:(NSDictionary *)jsonDictionary - withAssetGroup:(LOTAssetGroup * _Nullable)assetGroup { + withAssetGroup:(LOTAssetGroup * _Nullable)assetGroup + withFramerate:(NSNumber *)framerate { _referenceID = [jsonDictionary[@"id"] copy]; if (jsonDictionary[@"w"]) { @@ -48,7 +51,8 @@ - (void)_mapFromJSON:(NSDictionary *)jsonDictionary NSArray *layersJSON = jsonDictionary[@"layers"]; if (layersJSON) { _layerGroup = [[LOTLayerGroup alloc] initWithLayerJSON:layersJSON - withAssetGroup:assetGroup]; + withAssetGroup:assetGroup + withFramerate:framerate]; } } diff --git a/News/Pods/lottie-ios/lottie-ios/Classes/Models/LOTAssetGroup.h b/News/Pods/lottie-ios/lottie-ios/Classes/Models/LOTAssetGroup.h index 24f25ae4..dcae55ad 100644 --- a/News/Pods/lottie-ios/lottie-ios/Classes/Models/LOTAssetGroup.h +++ b/News/Pods/lottie-ios/lottie-ios/Classes/Models/LOTAssetGroup.h @@ -16,11 +16,12 @@ @property (nonatomic, readonly, nullable) NSBundle *assetBundle; - (instancetype _Nonnull)initWithJSON:(NSArray * _Nonnull)jsonArray - withAssetBundle:(NSBundle *_Nullable)bundle; + withAssetBundle:(NSBundle *_Nullable)bundle + withFramerate:(NSNumber * _Nonnull)framerate; -- (void)buildAssetNamed:(NSString * _Nonnull)refID; +- (void)buildAssetNamed:(NSString * _Nonnull)refID withFramerate:(NSNumber * _Nonnull)framerate; -- (void)finalizeInitialization; +- (void)finalizeInitializationWithFramerate:(NSNumber * _Nonnull)framerate; - (LOTAsset * _Nullable)assetModelForID:(NSString * _Nonnull)assetID; diff --git a/News/Pods/lottie-ios/lottie-ios/Classes/Models/LOTAssetGroup.m b/News/Pods/lottie-ios/lottie-ios/Classes/Models/LOTAssetGroup.m index 950ef4a9..4f9bb1ab 100644 --- a/News/Pods/lottie-ios/lottie-ios/Classes/Models/LOTAssetGroup.m +++ b/News/Pods/lottie-ios/lottie-ios/Classes/Models/LOTAssetGroup.m @@ -15,7 +15,8 @@ @implementation LOTAssetGroup { } - (instancetype _Nonnull)initWithJSON:(NSArray * _Nonnull)jsonArray - withAssetBundle:(NSBundle *_Nullable)bundle { + withAssetBundle:(NSBundle * _Nullable)bundle + withFramerate:(NSNumber * _Nonnull)framerate { self = [super init]; if (self) { _assetBundle = bundle; @@ -32,7 +33,8 @@ - (instancetype _Nonnull)initWithJSON:(NSArray * _Nonnull)jsonArray return self; } -- (void)buildAssetNamed:(NSString *)refID { +- (void)buildAssetNamed:(NSString *)refID + withFramerate:(NSNumber * _Nonnull)framerate { if ([self assetModelForID:refID]) { return; @@ -42,14 +44,15 @@ - (void)buildAssetNamed:(NSString *)refID { if (assetDictionary) { LOTAsset *asset = [[LOTAsset alloc] initWithJSON:assetDictionary withAssetGroup:self - withAssetBundle:_assetBundle]; + withAssetBundle:_assetBundle + withFramerate:framerate]; _assetMap[refID] = asset; } } -- (void)finalizeInitialization { +- (void)finalizeInitializationWithFramerate:(NSNumber * _Nonnull)framerate { for (NSString *refID in _assetJSONMap.allKeys) { - [self buildAssetNamed:refID]; + [self buildAssetNamed:refID withFramerate:framerate]; } _assetJSONMap = nil; } diff --git a/News/Pods/lottie-ios/lottie-ios/Classes/Models/LOTLayer.h b/News/Pods/lottie-ios/lottie-ios/Classes/Models/LOTLayer.h index a9182d7d..aedb84bd 100644 --- a/News/Pods/lottie-ios/lottie-ios/Classes/Models/LOTLayer.h +++ b/News/Pods/lottie-ios/lottie-ios/Classes/Models/LOTLayer.h @@ -36,7 +36,8 @@ NS_ASSUME_NONNULL_BEGIN @interface LOTLayer : NSObject - (instancetype)initWithJSON:(NSDictionary *)jsonDictionary - withAssetGroup:(LOTAssetGroup * _Nullable)assetGroup; + withAssetGroup:(LOTAssetGroup * _Nullable)assetGroup + withFramerate:(NSNumber *)framerate; @property (nonatomic, readonly) NSString *layerName; @property (nonatomic, readonly, nullable) NSString *referenceID; @@ -46,6 +47,7 @@ NS_ASSUME_NONNULL_BEGIN @property (nonatomic, readonly) NSNumber *startFrame; @property (nonatomic, readonly) NSNumber *inFrame; @property (nonatomic, readonly) NSNumber *outFrame; +@property (nonatomic, readonly) NSNumber *timeStretch; @property (nonatomic, readonly) CGRect layerBounds; @property (nonatomic, readonly, nullable) NSArray *shapes; @@ -57,6 +59,7 @@ NS_ASSUME_NONNULL_BEGIN @property (nonatomic, readonly, nullable) LOTAsset *imageAsset; @property (nonatomic, readonly) LOTKeyframeGroup *opacity; +@property (nonatomic, readonly, nullable) LOTKeyframeGroup *timeRemapping; @property (nonatomic, readonly) LOTKeyframeGroup *rotation; @property (nonatomic, readonly, nullable) LOTKeyframeGroup *position; diff --git a/News/Pods/lottie-ios/lottie-ios/Classes/Models/LOTLayer.m b/News/Pods/lottie-ios/lottie-ios/Classes/Models/LOTLayer.m index 49fff71b..4b12f34f 100644 --- a/News/Pods/lottie-ios/lottie-ios/Classes/Models/LOTLayer.m +++ b/News/Pods/lottie-ios/lottie-ios/Classes/Models/LOTLayer.m @@ -18,17 +18,20 @@ @implementation LOTLayer - (instancetype)initWithJSON:(NSDictionary *)jsonDictionary - withAssetGroup:(LOTAssetGroup *)assetGroup { + withAssetGroup:(LOTAssetGroup *)assetGroup + withFramerate:(NSNumber *)framerate { self = [super init]; if (self) { [self _mapFromJSON:jsonDictionary - withAssetGroup:assetGroup]; + withAssetGroup:assetGroup + withFramerate:framerate]; } return self; } - (void)_mapFromJSON:(NSDictionary *)jsonDictionary - withAssetGroup:(LOTAssetGroup *)assetGroup { + withAssetGroup:(LOTAssetGroup *)assetGroup + withFramerate:(NSNumber *)framerate { _layerName = [jsonDictionary[@"nm"] copy]; _layerID = [jsonDictionary[@"ind"] copy]; @@ -48,12 +51,18 @@ - (void)_mapFromJSON:(NSDictionary *)jsonDictionary _inFrame = [jsonDictionary[@"ip"] copy]; _outFrame = [jsonDictionary[@"op"] copy]; + if (jsonDictionary[@"sr"]) { + _timeStretch = [jsonDictionary[@"sr"] copy]; + } else { + _timeStretch = @1; + } + if (_layerType == LOTLayerTypePrecomp) { _layerHeight = [jsonDictionary[@"h"] copy]; _layerWidth = [jsonDictionary[@"w"] copy]; - [assetGroup buildAssetNamed:_referenceID]; + [assetGroup buildAssetNamed:_referenceID withFramerate:framerate]; } else if (_layerType == LOTLayerTypeImage) { - [assetGroup buildAssetNamed:_referenceID]; + [assetGroup buildAssetNamed:_referenceID withFramerate:framerate]; _imageAsset = [assetGroup assetModelForID:_referenceID]; _layerWidth = [_imageAsset.assetWidth copy]; _layerHeight = [_imageAsset.assetHeight copy]; @@ -75,6 +84,14 @@ - (void)_mapFromJSON:(NSDictionary *)jsonDictionary return LOT_RemapValue(inValue, 0, 100, 0, 1); }]; } + + NSDictionary *timeRemap = jsonDictionary[@"tm"]; + if (timeRemap) { + _timeRemapping = [[LOTKeyframeGroup alloc] initWithData:timeRemap]; + [_timeRemapping remapKeyframesWithBlock:^CGFloat(CGFloat inValue) { + return inValue * framerate.doubleValue; + }]; + } NSDictionary *rotation = ks[@"r"]; if (rotation == nil) { @@ -105,7 +122,7 @@ - (void)_mapFromJSON:(NSDictionary *)jsonDictionary if (scale) { _scale = [[LOTKeyframeGroup alloc] initWithData:scale]; [_scale remapKeyframesWithBlock:^CGFloat(CGFloat inValue) { - return LOT_RemapValue(inValue, 0, 100, 0, 1); + return LOT_RemapValue(inValue, -100, 100, -1, 1); }]; } diff --git a/News/Pods/lottie-ios/lottie-ios/Classes/Models/LOTLayerGroup.h b/News/Pods/lottie-ios/lottie-ios/Classes/Models/LOTLayerGroup.h index c3e2d9c0..f6952b52 100644 --- a/News/Pods/lottie-ios/lottie-ios/Classes/Models/LOTLayerGroup.h +++ b/News/Pods/lottie-ios/lottie-ios/Classes/Models/LOTLayerGroup.h @@ -17,7 +17,8 @@ NS_ASSUME_NONNULL_BEGIN @interface LOTLayerGroup : NSObject - (instancetype)initWithLayerJSON:(NSArray *)layersJSON - withAssetGroup:(LOTAssetGroup * _Nullable)assetGroup; + withAssetGroup:(LOTAssetGroup * _Nullable)assetGroup + withFramerate:(NSNumber *)framerate; @property (nonatomic, readonly) NSArray *layers; diff --git a/News/Pods/lottie-ios/lottie-ios/Classes/Models/LOTLayerGroup.m b/News/Pods/lottie-ios/lottie-ios/Classes/Models/LOTLayerGroup.m index 522fadc4..1d12d010 100644 --- a/News/Pods/lottie-ios/lottie-ios/Classes/Models/LOTLayerGroup.m +++ b/News/Pods/lottie-ios/lottie-ios/Classes/Models/LOTLayerGroup.m @@ -16,15 +16,18 @@ @implementation LOTLayerGroup { } - (instancetype)initWithLayerJSON:(NSArray *)layersJSON - withAssetGroup:(LOTAssetGroup * _Nullable)assetGroup { + withAssetGroup:(LOTAssetGroup * _Nullable)assetGroup + withFramerate:(NSNumber *)framerate { self = [super init]; if (self) { - [self _mapFromJSON:layersJSON withAssetGroup:assetGroup]; + [self _mapFromJSON:layersJSON withAssetGroup:assetGroup withFramerate:framerate]; } return self; } -- (void)_mapFromJSON:(NSArray *)layersJSON withAssetGroup:(LOTAssetGroup * _Nullable)assetGroup { +- (void)_mapFromJSON:(NSArray *)layersJSON + withAssetGroup:(LOTAssetGroup * _Nullable)assetGroup + withFramerate:(NSNumber *)framerate { NSMutableArray *layers = [NSMutableArray array]; NSMutableDictionary *modelMap = [NSMutableDictionary dictionary]; @@ -32,7 +35,8 @@ - (void)_mapFromJSON:(NSArray *)layersJSON withAssetGroup:(LOTAssetGroup * _Null for (NSDictionary *layerJSON in layersJSON) { LOTLayer *layer = [[LOTLayer alloc] initWithJSON:layerJSON - withAssetGroup:assetGroup]; + withAssetGroup:assetGroup + withFramerate:framerate]; [layers addObject:layer]; modelMap[layer.layerID] = layer; if (layer.referenceID) { diff --git a/News/Pods/lottie-ios/lottie-ios/Classes/Models/LOTShapeRepeater.m b/News/Pods/lottie-ios/lottie-ios/Classes/Models/LOTShapeRepeater.m index 921f480a..467e5e80 100644 --- a/News/Pods/lottie-ios/lottie-ios/Classes/Models/LOTShapeRepeater.m +++ b/News/Pods/lottie-ios/lottie-ios/Classes/Models/LOTShapeRepeater.m @@ -75,7 +75,7 @@ - (void)_mapFromJSON:(NSDictionary *)jsonDictionary { if (scale) { _scale = [[LOTKeyframeGroup alloc] initWithData:scale]; [_scale remapKeyframesWithBlock:^CGFloat(CGFloat inValue) { - return LOT_RemapValue(inValue, 0, 100, 0, 1); + return LOT_RemapValue(inValue, -100, 100, -1, 1); }]; } } diff --git a/News/Pods/lottie-ios/lottie-ios/Classes/Models/LOTShapeTransform.m b/News/Pods/lottie-ios/lottie-ios/Classes/Models/LOTShapeTransform.m index aabafa21..561d9de9 100644 --- a/News/Pods/lottie-ios/lottie-ios/Classes/Models/LOTShapeTransform.m +++ b/News/Pods/lottie-ios/lottie-ios/Classes/Models/LOTShapeTransform.m @@ -39,7 +39,7 @@ - (void)_mapFromJSON:(NSDictionary *)jsonDictionary { if (scale) { _scale = [[LOTKeyframeGroup alloc] initWithData:scale]; [_scale remapKeyframesWithBlock:^CGFloat(CGFloat inValue) { - return LOT_RemapValue(inValue, 0, 100, 0, 1); + return LOT_RemapValue(inValue, -100, 100, -1, 1); }]; } diff --git a/News/Pods/lottie-ios/lottie-ios/Classes/Private/LOTAnimatedSwitch.m b/News/Pods/lottie-ios/lottie-ios/Classes/Private/LOTAnimatedSwitch.m index d0ab88f5..b6e3b23e 100644 --- a/News/Pods/lottie-ios/lottie-ios/Classes/Private/LOTAnimatedSwitch.m +++ b/News/Pods/lottie-ios/lottie-ios/Classes/Private/LOTAnimatedSwitch.m @@ -23,13 +23,13 @@ @implementation LOTAnimatedSwitch { /// Convenience method to initialize a control from the Main Bundle by name + (instancetype _Nonnull)switchNamed:(NSString * _Nonnull)toggleName { - return [LOTAnimatedSwitch switchNamed:toggleName inBundle:[NSBundle mainBundle]]; + return [self switchNamed:toggleName inBundle:[NSBundle mainBundle]]; } /// Convenience method to initialize a control from the specified bundle by name + (instancetype _Nonnull)switchNamed:(NSString * _Nonnull)toggleName inBundle:(NSBundle * _Nonnull)bundle { LOTComposition *composition = [LOTComposition animationNamed:toggleName inBundle:bundle]; - LOTAnimatedSwitch *animatedControl = [[LOTAnimatedSwitch alloc] initWithFrame:CGRectZero]; + LOTAnimatedSwitch *animatedControl = [[self alloc] initWithFrame:CGRectZero]; if (composition) { [animatedControl setAnimationComp:composition]; animatedControl.bounds = composition.compBounds; @@ -148,7 +148,13 @@ - (BOOL)continueTrackingWithTouch:(UITouch *)touch withEvent:(UIEvent *)event { // The touch has moved enough to register as its own gesture. Suppress the touch up toggle. _suppressToggle = YES; } - if (floor(NSFoundationVersionNumber) >= floor(NSFoundationVersionNumber_iOS_9_0)) { +#ifdef __IPHONE_11_0 + // Xcode 9+ + if (@available(iOS 9.0, *)) { +#else + // Xcode 8- + if ([UIView respondsToSelector:@selector(userInterfaceLayoutDirectionForSemanticContentAttribute:)]) { +#endif if ([UIView userInterfaceLayoutDirectionForSemanticContentAttribute:self.semanticContentAttribute] == UIUserInterfaceLayoutDirectionRightToLeft) { diff = diff * -1; } diff --git a/News/Pods/lottie-ios/lottie-ios/Classes/Private/LOTAnimationTransitionController.m b/News/Pods/lottie-ios/lottie-ios/Classes/Private/LOTAnimationTransitionController.m index 9235413e..b9586c46 100644 --- a/News/Pods/lottie-ios/lottie-ios/Classes/Private/LOTAnimationTransitionController.m +++ b/News/Pods/lottie-ios/lottie-ios/Classes/Private/LOTAnimationTransitionController.m @@ -70,9 +70,14 @@ - (void)animateTransition:(id)transitionCo BOOL crossFadeViews = NO; if (toLayerName_.length) { - CGRect convertedBounds = [tranistionAnimationView_ convertRect:containerView.bounds toLayerNamed:toLayerName_]; + LOTKeypath *toKeypath = [LOTKeypath keypathWithString:toLayerName_]; + CGRect convertedBounds = [tranistionAnimationView_ convertRect:containerView.bounds toKeypathLayer:toKeypath]; toSnapshot.frame = convertedBounds; - [tranistionAnimationView_ addSubview:toSnapshot toLayerNamed:toLayerName_ applyTransform:_applyTransform]; + if (_applyTransform) { + [tranistionAnimationView_ addSubview:toSnapshot toKeypathLayer:toKeypath]; + } else { + [tranistionAnimationView_ maskSubview:toSnapshot toKeypathLayer:toKeypath]; + } } else { [containerView addSubview:toSnapshot]; [containerView sendSubviewToBack:toSnapshot]; @@ -81,9 +86,14 @@ - (void)animateTransition:(id)transitionCo } if (fromLayerName_.length) { - CGRect convertedBounds = [tranistionAnimationView_ convertRect:containerView.bounds toLayerNamed:fromLayerName_]; + LOTKeypath *fromKeypath = [LOTKeypath keypathWithString:fromLayerName_]; + CGRect convertedBounds = [tranistionAnimationView_ convertRect:containerView.bounds fromKeypathLayer:fromKeypath]; fromSnapshot.frame = convertedBounds; - [tranistionAnimationView_ addSubview:fromSnapshot toLayerNamed:fromLayerName_ applyTransform:_applyTransform]; + if (_applyTransform) { + [tranistionAnimationView_ addSubview:fromSnapshot toKeypathLayer:fromKeypath]; + } else { + [tranistionAnimationView_ maskSubview:fromSnapshot toKeypathLayer:fromKeypath]; + } } else { [containerView addSubview:fromSnapshot]; [containerView sendSubviewToBack:fromSnapshot]; diff --git a/News/Pods/lottie-ios/lottie-ios/Classes/Private/LOTAnimationView.m b/News/Pods/lottie-ios/lottie-ios/Classes/Private/LOTAnimationView.m index 1a6161cc..77e1a1d0 100644 --- a/News/Pods/lottie-ios/lottie-ios/Classes/Private/LOTAnimationView.m +++ b/News/Pods/lottie-ios/lottie-ios/Classes/Private/LOTAnimationView.m @@ -24,7 +24,6 @@ @implementation LOTAnimationView { CGFloat _playRangeEndProgress; NSBundle *_bundle; CGFloat _animationProgress; - // Properties for tracking automatic restoration of animation. BOOL _shouldRestoreStateWhenAttachedToWindow; LOTAnimationCompletionBlock _completionBlockToRestoreWhenAttachedToWindow; @@ -38,7 +37,7 @@ + (nonnull instancetype)animationNamed:(nonnull NSString *)animationName { + (nonnull instancetype)animationNamed:(nonnull NSString *)animationName inBundle:(nonnull NSBundle *)bundle { LOTComposition *comp = [LOTComposition animationNamed:animationName inBundle:bundle]; - return [[LOTAnimationView alloc] initWithModel:comp inBundle:bundle]; + return [[self alloc] initWithModel:comp inBundle:bundle]; } + (nonnull instancetype)animationFromJSON:(nonnull NSDictionary *)animationJSON { @@ -47,12 +46,12 @@ + (nonnull instancetype)animationFromJSON:(nonnull NSDictionary *)animationJSON + (nonnull instancetype)animationFromJSON:(nullable NSDictionary *)animationJSON inBundle:(nullable NSBundle *)bundle { LOTComposition *comp = [LOTComposition animationFromJSON:animationJSON inBundle:bundle]; - return [[LOTAnimationView alloc] initWithModel:comp inBundle:bundle]; + return [[self alloc] initWithModel:comp inBundle:bundle]; } + (nonnull instancetype)animationWithFilePath:(nonnull NSString *)filePath { LOTComposition *comp = [LOTComposition animationWithFilePath:filePath]; - return [[LOTAnimationView alloc] initWithModel:comp inBundle:[NSBundle mainBundle]]; + return [[self alloc] initWithModel:comp inBundle:[NSBundle mainBundle]]; } # pragma mark - Initializers @@ -159,9 +158,6 @@ - (void)_setupWithSceneModel:(LOTComposition *)model { _sceneModel = model; _compContainer = [[LOTCompositionContainer alloc] initWithModel:nil inLayerGroup:nil withLayerGroup:_sceneModel.layerGroup withAssestGroup:_sceneModel.assetGroup]; [self.layer addSublayer:_compContainer]; - if (ENABLE_DEBUG_LOGGING) { - [self logHierarchyKeypaths]; - } [self _restoreState]; [self setNeedsLayout]; } @@ -169,7 +165,7 @@ - (void)_setupWithSceneModel:(LOTComposition *)model { - (void)_restoreState { if (_isAnimationPlaying) { _isAnimationPlaying = NO; - if (_playRangeStartFrame && _playRangeEndProgress) { + if (_playRangeStartFrame && _playRangeEndFrame) { [self playFromFrame:_playRangeStartFrame toFrame:_playRangeEndFrame withCompletion:self.completionBlock]; } else if (_playRangeEndProgress != _playRangeStartProgress) { [self playFromProgress:_playRangeStartProgress toProgress:_playRangeEndProgress withCompletion:self.completionBlock]; @@ -215,6 +211,15 @@ - (void)_callCompletionIfNecessary:(BOOL)complete { } } +# pragma mark - External Methods + +- (void)setAnimationNamed:(nonnull NSString *)animationName { + LOTComposition *comp = [LOTComposition animationNamed:animationName]; + + [self _initializeAnimationContainer]; + [self _setupWithSceneModel:comp]; +} + # pragma mark - External Methods - Model - (void)setSceneModel:(LOTComposition *)sceneModel { @@ -279,11 +284,6 @@ - (void)playFromFrame:(nonnull NSNumber *)fromStartFrame _isAnimationPlaying = YES; return; } - if (!self.window) { - _shouldRestoreStateWhenAttachedToWindow = YES; - _completionBlockToRestoreWhenAttachedToWindow = self.completionBlock; - self.completionBlock = nil; - } BOOL playingForward = ((_animationSpeed > 0) && (toEndFrame.floatValue > fromStartFrame.floatValue)) || ((_animationSpeed < 0) && (fromStartFrame.floatValue > toEndFrame.floatValue)); @@ -310,22 +310,27 @@ - (void)playFromFrame:(nonnull NSNumber *)fromStartFrame skipProgress = rightFrameValue - currentProgress; } NSTimeInterval offset = MAX(0, skipProgress) / _sceneModel.framerate.floatValue; - - NSTimeInterval duration = (ABS(toEndFrame.floatValue - fromStartFrame.floatValue) / _sceneModel.framerate.floatValue); - CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"currentFrame"]; - animation.speed = _animationSpeed; - animation.fromValue = fromStartFrame; - animation.toValue = toEndFrame; - animation.duration = duration; - animation.fillMode = kCAFillModeBoth; - animation.repeatCount = _loopAnimation ? HUGE_VALF : 1; - animation.autoreverses = _autoReverseAnimation; - animation.delegate = self; - animation.removedOnCompletion = NO; - if (offset != 0) { - animation.beginTime = CACurrentMediaTime() - (offset * 1 / _animationSpeed); - } - [_compContainer addAnimation:animation forKey:kCompContainerAnimationKey]; + if (!self.window) { + _shouldRestoreStateWhenAttachedToWindow = YES; + _completionBlockToRestoreWhenAttachedToWindow = self.completionBlock; + self.completionBlock = nil; + } else { + NSTimeInterval duration = (ABS(toEndFrame.floatValue - fromStartFrame.floatValue) / _sceneModel.framerate.floatValue); + CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"currentFrame"]; + animation.speed = _animationSpeed; + animation.fromValue = fromStartFrame; + animation.toValue = toEndFrame; + animation.duration = duration; + animation.fillMode = kCAFillModeBoth; + animation.repeatCount = _loopAnimation ? HUGE_VALF : 1; + animation.autoreverses = _autoReverseAnimation; + animation.delegate = self; + animation.removedOnCompletion = NO; + if (offset != 0) { + animation.beginTime = CACurrentMediaTime() - (offset * 1 / _animationSpeed); + } + [_compContainer addAnimation:animation forKey:kCompContainerAnimationKey]; + } _isAnimationPlaying = YES; } @@ -400,6 +405,10 @@ - (void)setAnimationSpeed:(CGFloat)animationSpeed { } } +- (void)forceDrawingUpdate { + [self _layoutAndForceUpdate]; +} + # pragma mark - External Methods - Cache - (void)setCacheEnable:(BOOL)cacheEnable { @@ -414,65 +423,96 @@ - (void)setCacheEnable:(BOOL)cacheEnable { } } -# pragma mark - External Methods - Other +# pragma mark - External Methods - Interactive Controls + +- (void)setValueDelegate:(id _Nonnull)delegate + forKeypath:(LOTKeypath * _Nonnull)keypath { + [_compContainer setValueDelegate:delegate forKeypath:keypath]; + [self _layoutAndForceUpdate]; +} + +- (nullable NSArray *)keysForKeyPath:(nonnull LOTKeypath *)keypath { + return [_compContainer keysForKeyPath:keypath]; +} + +- (CGPoint)convertPoint:(CGPoint)point + toKeypathLayer:(nonnull LOTKeypath *)keypath { + [self _layoutAndForceUpdate]; + return [_compContainer convertPoint:point toKeypathLayer:keypath withParentLayer:self.layer]; +} + +- (CGRect)convertRect:(CGRect)rect + toKeypathLayer:(nonnull LOTKeypath *)keypath { + [self _layoutAndForceUpdate]; + return [_compContainer convertRect:rect toKeypathLayer:keypath withParentLayer:self.layer]; +} + +- (CGPoint)convertPoint:(CGPoint)point + fromKeypathLayer:(nonnull LOTKeypath *)keypath { + [self _layoutAndForceUpdate]; + return [_compContainer convertPoint:point fromKeypathLayer:keypath withParentLayer:self.layer]; +} + +- (CGRect)convertRect:(CGRect)rect + fromKeypathLayer:(nonnull LOTKeypath *)keypath { + [self _layoutAndForceUpdate]; + return [_compContainer convertRect:rect fromKeypathLayer:keypath withParentLayer:self.layer]; +} #if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR - (void)addSubview:(nonnull LOTView *)view - toLayerNamed:(nonnull NSString *)layer - applyTransform:(BOOL)applyTransform { - [self _layout]; + toKeypathLayer:(nonnull LOTKeypath *)keypath { + [self _layoutAndForceUpdate]; + CGRect viewRect = view.frame; + LOTView *wrapperView = [[LOTView alloc] initWithFrame:viewRect]; + view.frame = view.bounds; + view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; + [wrapperView addSubview:view]; + [self addSubview:wrapperView]; + [_compContainer addSublayer:wrapperView.layer toKeypathLayer:keypath]; +} + +- (void)maskSubview:(nonnull LOTView *)view + toKeypathLayer:(nonnull LOTKeypath *)keypath { + [self _layoutAndForceUpdate]; CGRect viewRect = view.frame; LOTView *wrapperView = [[LOTView alloc] initWithFrame:viewRect]; view.frame = view.bounds; view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; [wrapperView addSubview:view]; [self addSubview:wrapperView]; - [_compContainer addSublayer:wrapperView.layer toLayerNamed:layer applyTransform:applyTransform]; + [_compContainer maskSublayer:wrapperView.layer toKeypathLayer:keypath]; } + #else - (void)addSubview:(nonnull LOTView *)view - toLayerNamed:(nonnull NSString *)layer - applyTransform:(BOOL)applyTransform { + toKeypathLayer:(nonnull LOTKeypath *)keypath { + [self _layout]; CGRect viewRect = view.frame; LOTView *wrapperView = [[LOTView alloc] initWithFrame:viewRect]; view.frame = view.bounds; view.autoresizingMask = NSViewWidthSizable | NSViewHeightSizable; [wrapperView addSubview:view]; [self addSubview:wrapperView]; - [_compContainer addSublayer:wrapperView.layer toLayerNamed:layer applyTransform:applyTransform]; + [_compContainer addSublayer:wrapperView.layer toKeypathLayer:keypath]; } -#endif - -- (CGRect)convertRect:(CGRect)rect - toLayerNamed:(NSString *_Nullable)layerName { +- (void)maskSubview:(nonnull LOTView *)view + toKeypathLayer:(nonnull LOTKeypath *)keypath { [self _layout]; - if (layerName == nil) { - return [self.layer convertRect:rect toLayer:_compContainer]; - } - return [_compContainer convertRect:rect fromLayer:self.layer toLayerNamed:layerName]; -} - -- (void)setValue:(nonnull id)value - forKeypath:(nonnull NSString *)keypath - atFrame:(nullable NSNumber *)frame{ - BOOL didUpdate = [_compContainer setValue:value forKeypath:keypath atFrame:frame]; - if (didUpdate) { - [CATransaction begin]; - [CATransaction setDisableActions:YES]; - [_compContainer displayWithFrame:_compContainer.currentFrame forceUpdate:YES]; - [CATransaction commit]; - } else { - NSLog(@"%s: Keypath Not Found: %@", __PRETTY_FUNCTION__, keypath); - } + CGRect viewRect = view.frame; + LOTView *wrapperView = [[LOTView alloc] initWithFrame:viewRect]; + view.frame = view.bounds; + view.autoresizingMask = NSViewWidthSizable | NSViewHeightSizable; + [wrapperView addSubview:view]; + [self addSubview:wrapperView]; + [_compContainer maskSublayer:wrapperView.layer toKeypathLayer:keypath]; } -- (void)logHierarchyKeypaths { - [_compContainer logHierarchyKeypathsWithParent:nil]; -} +#endif # pragma mark - Semi-Private Methods @@ -615,6 +655,14 @@ - (void)layout { #endif +- (void)_layoutAndForceUpdate { + [CATransaction begin]; + [CATransaction setDisableActions:YES]; + [self _layout]; + [_compContainer displayWithFrame:_compContainer.currentFrame forceUpdate:YES]; + [CATransaction commit]; +} + - (void)_layout { CGPoint centerPoint = LOT_RectGetCenterPoint(self.bounds); CATransform3D xform; @@ -671,4 +719,38 @@ - (void)animationDidStop:(CAAnimation *)anim finished:(BOOL)complete { } } +# pragma mark - DEPRECATED + +- (void)addSubview:(nonnull LOTView *)view + toLayerNamed:(nonnull NSString *)layer + applyTransform:(BOOL)applyTransform { + NSLog(@"%s: Function is DEPRECATED. Please use addSubview:forKeypathLayer:", __PRETTY_FUNCTION__); + LOTKeypath *keypath = [LOTKeypath keypathWithString:layer]; + if (applyTransform) { + [self addSubview:view toKeypathLayer:keypath]; + } else { + [self maskSubview:view toKeypathLayer:keypath]; + } +} + +- (CGRect)convertRect:(CGRect)rect + toLayerNamed:(NSString *_Nullable)layerName { + NSLog(@"%s: Function is DEPRECATED. Please use convertRect:forKeypathLayer:", __PRETTY_FUNCTION__); + LOTKeypath *keypath = [LOTKeypath keypathWithString:layerName]; + return [self convertRect:rect toKeypathLayer:keypath]; +} + +- (void)setValue:(nonnull id)value + forKeypath:(nonnull NSString *)keypath + atFrame:(nullable NSNumber *)frame { + NSLog(@"%s: Function is DEPRECATED and no longer functional. Please use setValueCallback:forKeypath:", __PRETTY_FUNCTION__); +} + +- (void)logHierarchyKeypaths { + NSArray *keypaths = [self keysForKeyPath:[LOTKeypath keypathWithString:@"**"]]; + for (NSString *keypath in keypaths) { + NSLog(@"%@", keypath); + } +} + @end diff --git a/News/Pods/lottie-ios/lottie-ios/Classes/Private/LOTBlockCallback.m b/News/Pods/lottie-ios/lottie-ios/Classes/Private/LOTBlockCallback.m new file mode 100644 index 00000000..0f168aca --- /dev/null +++ b/News/Pods/lottie-ios/lottie-ios/Classes/Private/LOTBlockCallback.m @@ -0,0 +1,80 @@ +// +// LOTBlockCallback.m +// Lottie +// +// Created by brandon_withrow on 12/15/17. +// Copyright © 2017 Airbnb. All rights reserved. +// + +#import "LOTBlockCallback.h" + +@implementation LOTColorBlockCallback + ++ (instancetype)withBlock:(LOTColorValueCallbackBlock)block { + LOTColorBlockCallback *colorCallback = [[self alloc] init]; + colorCallback.callback = block; + return colorCallback; +} + +- (CGColorRef)colorForFrame:(CGFloat)currentFrame startKeyframe:(CGFloat)startKeyframe endKeyframe:(CGFloat)endKeyframe interpolatedProgress:(CGFloat)interpolatedProgress startColor:(CGColorRef)startColor endColor:(CGColorRef)endColor currentColor:(CGColorRef)interpolatedColor { + return self.callback(currentFrame, startKeyframe, endKeyframe, interpolatedProgress, startColor, endColor, interpolatedColor); +} + +@end + +@implementation LOTNumberBlockCallback + ++ (instancetype)withBlock:(LOTNumberValueCallbackBlock)block { + LOTNumberBlockCallback *numberCallback = [[self alloc] init]; + numberCallback.callback = block; + return numberCallback; +} + +- (CGFloat)floatValueForFrame:(CGFloat)currentFrame startKeyframe:(CGFloat)startKeyframe endKeyframe:(CGFloat)endKeyframe interpolatedProgress:(CGFloat)interpolatedProgress startValue:(CGFloat)startValue endValue:(CGFloat)endValue currentValue:(CGFloat)interpolatedValue { + return self.callback(currentFrame, startKeyframe, endKeyframe, interpolatedProgress, startValue, endValue, interpolatedValue); +} + +@end + +@implementation LOTPointBlockCallback + ++ (instancetype)withBlock:(LOTPointValueCallbackBlock)block { + LOTPointBlockCallback *callback = [[self alloc] init]; + callback.callback = block; + return callback; +} + +- (CGPoint)pointForFrame:(CGFloat)currentFrame startKeyframe:(CGFloat)startKeyframe endKeyframe:(CGFloat)endKeyframe interpolatedProgress:(CGFloat)interpolatedProgress startPoint:(CGPoint)startPoint endPoint:(CGPoint)endPoint currentPoint:(CGPoint)interpolatedPoint { + return self.callback(currentFrame, startKeyframe, endKeyframe, interpolatedProgress, startPoint, endPoint, interpolatedPoint); +} + +@end + +@implementation LOTSizeBlockCallback + ++ (instancetype)withBlock:(LOTSizeValueCallbackBlock)block { + LOTSizeBlockCallback *callback = [[self alloc] init]; + callback.callback = block; + return callback; +} + +- (CGSize)sizeForFrame:(CGFloat)currentFrame startKeyframe:(CGFloat)startKeyframe endKeyframe:(CGFloat)endKeyframe interpolatedProgress:(CGFloat)interpolatedProgress startSize:(CGSize)startSize endSize:(CGSize)endSize currentSize:(CGSize)interpolatedSize { + return self.callback(currentFrame, startKeyframe, endKeyframe, interpolatedProgress, startSize, endSize, interpolatedSize); +} + +@end + +@implementation LOTPathBlockCallback + ++ (instancetype)withBlock:(LOTPathValueCallbackBlock)block { + LOTPathBlockCallback *callback = [[self alloc] init]; + callback.callback = block; + return callback; +} + +- (CGPathRef)pathForFrame:(CGFloat)currentFrame startKeyframe:(CGFloat)startKeyframe endKeyframe:(CGFloat)endKeyframe interpolatedProgress:(CGFloat)interpolatedProgress { + return self.callback(currentFrame, startKeyframe, endKeyframe, interpolatedProgress); +} + +@end + diff --git a/News/Pods/lottie-ios/lottie-ios/Classes/Private/LOTComposition.m b/News/Pods/lottie-ios/lottie-ios/Classes/Private/LOTComposition.m index d8edcc04..f831e561 100644 --- a/News/Pods/lottie-ios/lottie-ios/Classes/Private/LOTComposition.m +++ b/News/Pods/lottie-ios/lottie-ios/Classes/Private/LOTComposition.m @@ -35,7 +35,7 @@ + (nullable instancetype)animationNamed:(nonnull NSString *)animationName inBund NSDictionary *JSONObject = jsonData ? [NSJSONSerialization JSONObjectWithData:jsonData options:0 error:&error] : nil; if (JSONObject && !error) { - LOTComposition *laScene = [[LOTComposition alloc] initWithJSON:JSONObject withAssetBundle:bundle]; + LOTComposition *laScene = [[self alloc] initWithJSON:JSONObject withAssetBundle:bundle]; [[LOTAnimationCache sharedCache] addAnimation:laScene forKey:animationName]; laScene.cacheKey = animationName; return laScene; @@ -57,7 +57,7 @@ + (nullable instancetype)animationWithFilePath:(nonnull NSString *)filePath { NSDictionary *JSONObject = jsonData ? [NSJSONSerialization JSONObjectWithData:jsonData options:0 error:&error] : nil; if (JSONObject && !error) { - LOTComposition *laScene = [[LOTComposition alloc] initWithJSON:JSONObject withAssetBundle:[NSBundle mainBundle]]; + LOTComposition *laScene = [[self alloc] initWithJSON:JSONObject withAssetBundle:[NSBundle mainBundle]]; laScene.rootDirectory = [filePath stringByDeletingLastPathComponent]; [[LOTAnimationCache sharedCache] addAnimation:laScene forKey:animationName]; laScene.cacheKey = animationName; @@ -73,7 +73,7 @@ + (nonnull instancetype)animationFromJSON:(nonnull NSDictionary *)animationJSON } + (nonnull instancetype)animationFromJSON:(nullable NSDictionary *)animationJSON inBundle:(nullable NSBundle *)bundle { - return [[LOTComposition alloc] initWithJSON:animationJSON withAssetBundle:bundle]; + return [[self alloc] initWithJSON:animationJSON withAssetBundle:bundle]; } #pragma mark - Initializer @@ -112,16 +112,17 @@ - (void)_mapFromJSON:(NSDictionary *)jsonDictionary NSArray *assetArray = jsonDictionary[@"assets"]; if (assetArray.count) { - _assetGroup = [[LOTAssetGroup alloc] initWithJSON:assetArray withAssetBundle:bundle]; + _assetGroup = [[LOTAssetGroup alloc] initWithJSON:assetArray withAssetBundle:bundle withFramerate:_framerate]; } NSArray *layersJSON = jsonDictionary[@"layers"]; if (layersJSON) { _layerGroup = [[LOTLayerGroup alloc] initWithLayerJSON:layersJSON - withAssetGroup:_assetGroup]; + withAssetGroup:_assetGroup + withFramerate:_framerate]; } - [_assetGroup finalizeInitialization]; + [_assetGroup finalizeInitializationWithFramerate:_framerate]; } - (void)setRootDirectory:(NSString *)rootDirectory { diff --git a/News/Pods/lottie-ios/lottie-ios/Classes/Private/LOTInterpolatorCallback.m b/News/Pods/lottie-ios/lottie-ios/Classes/Private/LOTInterpolatorCallback.m new file mode 100644 index 00000000..298e3a38 --- /dev/null +++ b/News/Pods/lottie-ios/lottie-ios/Classes/Private/LOTInterpolatorCallback.m @@ -0,0 +1,56 @@ +// +// LOTInterpolatorCallback.m +// Lottie +// +// Created by brandon_withrow on 1/5/18. +// Copyright © 2018 Airbnb. All rights reserved. +// + +#import "LOTInterpolatorCallback.h" +#import "CGGeometry+LOTAdditions.h" + +@implementation LOTFloatInterpolatorCallback + ++ (instancetype _Nonnull)withFromFloat:(CGFloat)fromFloat toFloat:(CGFloat)toFloat { + LOTFloatInterpolatorCallback *interpolator = [[self alloc] init]; + interpolator.fromFloat = fromFloat; + interpolator.toFloat = toFloat; + return interpolator; +} +- (CGFloat)floatValueForFrame:(CGFloat)currentFrame startKeyframe:(CGFloat)startKeyframe endKeyframe:(CGFloat)endKeyframe interpolatedProgress:(CGFloat)interpolatedProgress startValue:(CGFloat)startValue endValue:(CGFloat)endValue currentValue:(CGFloat)interpolatedValue { + return LOT_RemapValue(self.currentProgress, 0, 1, self.fromFloat, self.toFloat); +} + +@end + +@implementation LOTPointInterpolatorCallback + ++ (instancetype _Nonnull)withFromPoint:(CGPoint)fromPoint toPoint:(CGPoint)toPoint { + LOTPointInterpolatorCallback *interpolator = [[self alloc] init]; + interpolator.fromPoint = fromPoint; + interpolator.toPoint = toPoint; + return interpolator; +} +- (CGPoint)pointForFrame:(CGFloat)currentFrame startKeyframe:(CGFloat)startKeyframe endKeyframe:(CGFloat)endKeyframe interpolatedProgress:(CGFloat)interpolatedProgress startPoint:(CGPoint)startPoint endPoint:(CGPoint)endPoint currentPoint:(CGPoint)interpolatedPoint { + return LOT_PointInLine(self.fromPoint, self.toPoint, self.currentProgress); +} + +@end + +@implementation LOTSizeInterpolatorCallback + ++ (instancetype)withFromSize:(CGSize)fromSize toSize:(CGSize)toSize { + LOTSizeInterpolatorCallback *interpolator = [[self alloc] init]; + interpolator.fromSize = fromSize; + interpolator.toSize = toSize; + return interpolator; +} + +- (CGSize)sizeForFrame:(CGFloat)currentFrame startKeyframe:(CGFloat)startKeyframe endKeyframe:(CGFloat)endKeyframe interpolatedProgress:(CGFloat)interpolatedProgress startSize:(CGSize)startSize endSize:(CGSize)endSize currentSize:(CGSize)interpolatedSize { + CGPoint from = CGPointMake(self.fromSize.width, self.fromSize.height); + CGPoint to = CGPointMake(self.toSize.width, self.toSize.height); + CGPoint returnPoint = LOT_PointInLine(from, to, self.currentProgress); + return CGSizeMake(returnPoint.x, returnPoint.y); +} + +@end diff --git a/News/Pods/lottie-ios/lottie-ios/Classes/Private/LOTKeypath.m b/News/Pods/lottie-ios/lottie-ios/Classes/Private/LOTKeypath.m new file mode 100644 index 00000000..100c2930 --- /dev/null +++ b/News/Pods/lottie-ios/lottie-ios/Classes/Private/LOTKeypath.m @@ -0,0 +1,140 @@ +// +// LOTKeypath.m +// Lottie_iOS +// +// Created by brandon_withrow on 12/13/17. +// Copyright © 2017 Airbnb. All rights reserved. +// + +#import "LOTKeypath.h" + +NSString *const kLOTKeypathEnd = @"LOTENDKEYPATH"; + +@implementation LOTKeypath { + NSInteger _currentDepth; + NSMutableArray *_fuzzyDepthStack; + NSMutableArray *_currentStack; + NSArray *_keys; + NSMutableDictionary *_searchResults; +} + ++ (nonnull LOTKeypath *)keypathWithString:(nonnull NSString *)keypath { + return [[self alloc] initWithKeys:[keypath componentsSeparatedByString:@"."]]; +} + ++ (nonnull LOTKeypath *)keypathWithKeys:(nonnull NSString *)firstKey, ... { + NSMutableArray *keys = [NSMutableArray array]; + va_list args; + va_start(args, firstKey); + for (NSString *arg = firstKey; arg != nil; arg = va_arg(args, NSString*)) + { + [keys addObject:arg]; + } + va_end(args); + return [[self alloc] initWithKeys:keys]; +} + +- (instancetype)initWithKeys:(NSArray *)keys { + self = [super init]; + if (self) { + _keys = [NSArray arrayWithArray:keys]; + NSMutableString *absolutePath = [NSMutableString string]; + for (int i = 0; i < _keys.count; i++) { + if (i > 0) { + [absolutePath appendString:@"."]; + } + [absolutePath appendString:_keys[i]]; + } + _currentStack = [NSMutableArray array]; + _absoluteKeypath = absolutePath; + _currentDepth = 0; + _fuzzyDepthStack = [NSMutableArray array]; + _searchResults = [NSMutableDictionary dictionary]; + } + return self; +} + +- (BOOL)pushKey:(nonnull NSString *)key { + if (_currentDepth == _keys.count && + self.hasFuzzyWildcard == NO) { + return NO; + } + NSString *current = self.currentKey; + if (self.hasWildcard || + [current isEqualToString:key]) { + [_currentStack addObject:[key copy]]; + _currentDepth ++; + if (self.hasFuzzyWildcard) { + [_fuzzyDepthStack addObject:@(_currentDepth)]; + } + return YES; + } else if (self.hasFuzzyWildcard) { + [_currentStack addObject:[key copy]]; + return YES; + } + return NO; +} + +- (void)popKey { + if (_currentDepth == 0) { + return; + } + NSInteger stackCount = _currentStack.count; + [_currentStack removeLastObject]; + + if (self.hasFuzzyWildcard ) { + if (stackCount == _fuzzyDepthStack.lastObject.integerValue) { + [_fuzzyDepthStack removeLastObject]; + } else { + return; + } + } + _currentDepth --; +} + +- (void)popToRootKey { + _currentDepth = 0; + [_currentStack removeAllObjects]; + [_fuzzyDepthStack removeAllObjects]; +} + +- (NSString *)currentKey { + if (_currentDepth == _keys.count) { + return kLOTKeypathEnd; + } + return _keys[_currentDepth]; +} + +- (NSString *)currentKeyPath { + return [_currentStack componentsJoinedByString:@"."]; +} + +- (BOOL)hasWildcard { + if (_currentDepth == _keys.count) { + return NO; + } + return ([_keys[_currentDepth] isEqualToString:@"**"] || + [_keys[_currentDepth] isEqualToString:@"*"]); +} + +- (BOOL)hasFuzzyWildcard { + if (_currentDepth == 0 || + _currentDepth > _keys.count) { + return NO; + } + return [_keys[_currentDepth - 1] isEqualToString:@"**"]; +} + +- (BOOL)endOfKeypath { + return (_currentDepth == _keys.count); +} + +- (void)addSearchResultForCurrentPath:(id _Nonnull)result { + [_searchResults setObject:result forKey:self.currentKeyPath]; +} + +- (NSDictionary *)searchResults { + return _searchResults; +} + +@end diff --git a/News/Pods/lottie-ios/lottie-ios/Classes/Private/LOTValueCallback.m b/News/Pods/lottie-ios/lottie-ios/Classes/Private/LOTValueCallback.m new file mode 100644 index 00000000..0514748d --- /dev/null +++ b/News/Pods/lottie-ios/lottie-ios/Classes/Private/LOTValueCallback.m @@ -0,0 +1,79 @@ +// +// LOTValueCallback.m +// Lottie +// +// Created by brandon_withrow on 12/15/17. +// Copyright © 2017 Airbnb. All rights reserved. +// + +#import "LOTValueCallback.h" + +@implementation LOTColorValueCallback + ++ (instancetype _Nonnull)withCGColor:(CGColorRef _Nonnull)color { + LOTColorValueCallback *colorCallback = [[self alloc] init]; + colorCallback.colorValue = color; + return colorCallback; +} + +- (CGColorRef)colorForFrame:(CGFloat)currentFrame startKeyframe:(CGFloat)startKeyframe endKeyframe:(CGFloat)endKeyframe interpolatedProgress:(CGFloat)interpolatedProgress startColor:(CGColorRef)startColor endColor:(CGColorRef)endColor currentColor:(CGColorRef)interpolatedColor { + return self.colorValue; +} + +@end + +@implementation LOTNumberValueCallback + ++ (instancetype _Nonnull)withFloatValue:(CGFloat)numberValue { + LOTNumberValueCallback *numberCallback = [[self alloc] init]; + numberCallback.numberValue = numberValue; + return numberCallback; +} + +- (CGFloat)floatValueForFrame:(CGFloat)currentFrame startKeyframe:(CGFloat)startKeyframe endKeyframe:(CGFloat)endKeyframe interpolatedProgress:(CGFloat)interpolatedProgress startValue:(CGFloat)startValue endValue:(CGFloat)endValue currentValue:(CGFloat)interpolatedValue { + return self.numberValue; +} + +@end + +@implementation LOTPointValueCallback + ++ (instancetype _Nonnull)withPointValue:(CGPoint)pointValue { + LOTPointValueCallback *callback = [[self alloc] init]; + callback.pointValue = pointValue; + return callback; +} + +- (CGPoint)pointForFrame:(CGFloat)currentFrame startKeyframe:(CGFloat)startKeyframe endKeyframe:(CGFloat)endKeyframe interpolatedProgress:(CGFloat)interpolatedProgress startPoint:(CGPoint)startPoint endPoint:(CGPoint)endPoint currentPoint:(CGPoint)interpolatedPoint { + return self.pointValue; +} + +@end + +@implementation LOTSizeValueCallback + ++ (instancetype _Nonnull)withPointValue:(CGSize)sizeValue { + LOTSizeValueCallback *callback = [[self alloc] init]; + callback.sizeValue = sizeValue; + return callback; +} + +- (CGSize)sizeForFrame:(CGFloat)currentFrame startKeyframe:(CGFloat)startKeyframe endKeyframe:(CGFloat)endKeyframe interpolatedProgress:(CGFloat)interpolatedProgress startSize:(CGSize)startSize endSize:(CGSize)endSize currentSize:(CGSize)interpolatedSize { + return self.sizeValue; +} + +@end + +@implementation LOTPathValueCallback + ++ (instancetype _Nonnull)withCGPath:(CGPathRef _Nonnull)path { + LOTPathValueCallback *callback = [[self alloc] init]; + callback.pathValue = path; + return callback; +} + +- (CGPathRef)pathForFrame:(CGFloat)currentFrame startKeyframe:(CGFloat)startKeyframe endKeyframe:(CGFloat)endKeyframe interpolatedProgress:(CGFloat)interpolatedProgress { + return self.pathValue; +} + +@end diff --git a/News/Pods/lottie-ios/lottie-ios/Classes/PublicHeaders/LOTAnimationView.h b/News/Pods/lottie-ios/lottie-ios/Classes/PublicHeaders/LOTAnimationView.h index 4520f219..058bf2f7 100644 --- a/News/Pods/lottie-ios/lottie-ios/Classes/PublicHeaders/LOTAnimationView.h +++ b/News/Pods/lottie-ios/lottie-ios/Classes/PublicHeaders/LOTAnimationView.h @@ -4,11 +4,13 @@ // // Created by Brandon Withrow on 12/14/15. // Copyright © 2015 Brandon Withrow. All rights reserved. -// +// Dream Big. #import #import "LOTAnimationView_Compat.h" #import "LOTComposition.h" +#import "LOTKeypath.h" +#import "LOTValueDelegate.h" typedef void (^LOTAnimationCompletionBlock)(BOOL animationFinished); @@ -35,6 +37,9 @@ typedef void (^LOTAnimationCompletionBlock)(BOOL animationFinished); /// Loads animation asynchrounously from the specified URL - (nonnull instancetype)initWithContentsOfURL:(nonnull NSURL *)url; +/// Load animation by name from the default bundle. Use when loading LOTAnimationView via Interface Builder. +- (void)setAnimationNamed:(nonnull NSString *)animationName NS_SWIFT_NAME(setAnimation(named:)); + /// Flag is YES when the animation is playing @property (nonatomic, readonly) BOOL isAnimationPlaying; @@ -66,7 +71,7 @@ typedef void (^LOTAnimationCompletionBlock)(BOOL animationFinished); @property (nonatomic, strong, nullable) LOTComposition *sceneModel; /* - * Plays the animation from its current position to a specific progress. + * Plays the animation from its current position to a specific progress. * The animation will start from its current position. * If loopAnimation is YES the animation will loop from start position to toProgress indefinitely. * If loopAnimation is NO the animation will stop and the comletion block will be called. @@ -94,7 +99,7 @@ typedef void (^LOTAnimationCompletionBlock)(BOOL animationFinished); withCompletion:(nullable LOTAnimationCompletionBlock)completion; /* - * Plays the animation from specific frame to a specific frame. + * Plays the animation from specific frame to a specific frame. * The animation will start from its current position. * If loopAnimation is YES the animation will loop start frame to end frame indefinitely. * If loopAnimation is NO the animation will stop and the comletion block will be called. @@ -124,57 +129,107 @@ typedef void (^LOTAnimationCompletionBlock)(BOOL animationFinished); /// Sets progress of animation to a specific frame. If the animation is playing it will stop and the completion block will be called. - (void)setProgressWithFrame:(nonnull NSNumber *)currentFrame; -/** - * Sets the keyframe value for a specific After Effects property at a given time. - * @param value id - * Value is the color, point, or number object that should be set at given time - * - * @param keypath NSString . separate keypath - * The Keypath is a dot seperated key path that specifies the location of the key to - * be set from the After Effects file. This will begin with the Layer Name. - * EG "Layer 1.Shape 1.Fill 1.Color" - * - * @param frame - * The frame is the frame to be set. - * If the keyframe exists it will be overwritten, if it does not exist a new - * Linearlly interpolated keyframe will be added - **/ -- (void)setValue:(nonnull id)value - forKeypath:(nonnull NSString *)keypath - atFrame:(nullable NSNumber *)frame; +/// Forces a layout and drawing update for the current frame. +- (void)forceDrawingUpdate; /// Logs all child keypaths - (void)logHierarchyKeypaths; -/** - * Adds a custom subview to the animation using a LayerName from After Effects - * as a reference point. - * - * @param view The custom view instance to be added - * - * @param layer The string name of the After Effects layer to be referenced. - * - * @param applyTransform If YES the custom view will be animated to move with the - * specified After Effects layer. - * If NO the custom view will be masked by the After Effects layer - **/ -- (void)addSubview:(nonnull LOTView *)view - toLayerNamed:(nonnull NSString *)layer - applyTransform:(BOOL)applyTransform; +/*! + @brief Sets a LOTValueDelegate for each animation property returned from the LOTKeypath search. LOTKeypath matches views inside of LOTAnimationView to their After Effects counterparts. The LOTValueDelegate is called every frame as the animation plays to override animation values. A delegate can be any object that conforms to the LOTValueDelegate protocol, or one of the prebuilt delegate classes found in LOTBlockCallback, LOTInterpolatorCallback, and LOTValueCallback. -/** - * Converts the given CGRect from the recieving animation view's coordinate space - * to the supplied layer's coordinate space - * If layerName is null then the rect will be converted to the composition coordinate system. - * This is helpful when adding custom subviews to a LOTAnimationView - * - **/ + @discussion + Example that sets an animated stroke to Red using a LOTColorValueCallback. + @code + LOTKeypath *keypath = [LOTKeypath keypathWithKeys:@"Layer 1", @"Ellipse 1", @"Stroke 1", @"Color", nil]; + LOTColorValueCallback *colorCallback = [LOTColorBlockCallback withColor:[UIColor redColor]]; + [animationView setValueCallback:colorCallback forKeypath:keypath]; + @endcode + + See the documentation for LOTValueDelegate to see how to create LOTValueCallbacks. A delegate can be any object that conforms to the LOTValueDelegate protocol, or one of the prebuilt delegate classes found in LOTBlockCallback, LOTInterpolatorCallback, and LOTValueCallback. + + See the documentation for LOTKeypath to learn more about how to create keypaths. + + NOTE: The delegate is weakly retained. Be sure that the creator of a delgate is retained. + Read More at http://airbnb.io/lottie/ios/dynamic.html + */ +- (void)setValueDelegate:(id _Nonnull)delegates + forKeypath:(LOTKeypath * _Nonnull)keypath; + +/*! + @brief returns the string representation of every keypath matching the LOTKeypath search. + */ +- (nullable NSArray *)keysForKeyPath:(nonnull LOTKeypath *)keypath; + +/*! + @brief Converts a CGPoint from the Animation views top coordinate space into the coordinate space of the specified renderable animation node. + */ +- (CGPoint)convertPoint:(CGPoint)point + toKeypathLayer:(nonnull LOTKeypath *)keypath; + +/*! + @brief Converts a CGRect from the Animation views top coordinate space into the coordinate space of the specified renderable animation node. + */ +- (CGRect)convertRect:(CGRect)rect + toKeypathLayer:(nonnull LOTKeypath *)keypath; + +/*! + @brief Converts a CGPoint to the Animation views top coordinate space from the coordinate space of the specified renderable animation node. + */ +- (CGPoint)convertPoint:(CGPoint)point + fromKeypathLayer:(nonnull LOTKeypath *)keypath; +/*! + @brief Converts a CGRect to the Animation views top coordinate space from the coordinate space of the specified renderable animation node. + */ - (CGRect)convertRect:(CGRect)rect - toLayerNamed:(NSString *_Nullable)layerName; + fromKeypathLayer:(nonnull LOTKeypath *)keypath; + +/*! + @brief Adds a UIView, or NSView, to the renderable layer found at the Keypath + */ +- (void)addSubview:(nonnull LOTView *)view + toKeypathLayer:(nonnull LOTKeypath *)keypath; + +/*! + @brief Adds a UIView, or NSView, to the parentrenderable layer found at the Keypath and then masks the view with layer found at the keypath. + */ +- (void)maskSubview:(nonnull LOTView *)view + toKeypathLayer:(nonnull LOTKeypath *)keypath; #if !TARGET_OS_IPHONE && !TARGET_OS_SIMULATOR @property (nonatomic) LOTViewContentMode contentMode; #endif +/*! + @brief Sets the keyframe value for a specific After Effects property at a given time. NOTE: Deprecated. Use setValueDelegate:forKeypath: + @discussion NOTE: Deprecated and non functioning. Use setValueCallback:forKeypath: + @param value Value is the color, point, or number object that should be set at given time + @param keypath NSString . separate keypath The Keypath is a dot seperated key path that specifies the location of the key to be set from the After Effects file. This will begin with the Layer Name. EG "Layer 1.Shape 1.Fill 1.Color" + @param frame The frame is the frame to be set. If the keyframe exists it will be overwritten, if it does not exist a new linearlly interpolated keyframe will be added + */ +- (void)setValue:(nonnull id)value + forKeypath:(nonnull NSString *)keypath + atFrame:(nullable NSNumber *)frame __deprecated; + +/*! + @brief Adds a custom subview to the animation using a LayerName from After Effect as a reference point. + @discussion NOTE: Deprecated. Use addSubview:toKeypathLayer: or maskSubview:toKeypathLayer: + @param view The custom view instance to be added + + @param layer The string name of the After Effects layer to be referenced. + + @param applyTransform If YES the custom view will be animated to move with the specified After Effects layer. If NO the custom view will be masked by the After Effects layer + */ +- (void)addSubview:(nonnull LOTView *)view + toLayerNamed:(nonnull NSString *)layer + applyTransform:(BOOL)applyTransform __deprecated; + +/*! + @brief Converts the given CGRect from the recieving animation view's coordinate space to the supplied layer's coordinate space If layerName is null then the rect will be converted to the composition coordinate system. This is helpful when adding custom subviews to a LOTAnimationView + @discussion NOTE: Deprecated. Use convertRect:fromKeypathLayer: + */ +- (CGRect)convertRect:(CGRect)rect + toLayerNamed:(NSString *_Nullable)layerName __deprecated; + @end diff --git a/News/Pods/lottie-ios/lottie-ios/Classes/PublicHeaders/LOTBlockCallback.h b/News/Pods/lottie-ios/lottie-ios/Classes/PublicHeaders/LOTBlockCallback.h new file mode 100644 index 00000000..2288062d --- /dev/null +++ b/News/Pods/lottie-ios/lottie-ios/Classes/PublicHeaders/LOTBlockCallback.h @@ -0,0 +1,160 @@ +// +// LOTBlockCallback.h +// Lottie +// +// Created by brandon_withrow on 12/15/17. +// Copyright © 2017 Airbnb. All rights reserved. +// + +#import +#import +#import "LOTValueDelegate.h" + +/*! + @brief A block that is used to change a Color value at keytime, the block is called continuously for a keypath while the aniamtion plays. + @param currentFrame The current frame of the animation in the parent compositions time space. + @param startKeyFrame When the block is called, startFrame is the most recent keyframe for the keypath in relation to the current time. + @param endKeyFrame When the block is called, endFrame is the next keyframe for the keypath in relation to the current time. + @param interpolatedProgress A value from 0-1 that represents the current progress between keyframes. It respects the keyframes current easing curves. + @param startColor The color from the previous keyframe in relation to the current time. + @param endColor The color from the next keyframe in relation to the current time. + @param interpolatedColor The color interpolated at the current time between startColor and endColor. This represents the keypaths current color for the current time. + @return CGColorRef the color to set the keypath node for the current frame + */ +typedef CGColorRef _Nonnull (^LOTColorValueCallbackBlock)(CGFloat currentFrame, + CGFloat startKeyFrame, + CGFloat endKeyFrame, + CGFloat interpolatedProgress, + CGColorRef _Nullable startColor, + CGColorRef _Nullable endColor, + CGColorRef _Nullable interpolatedColor); + +/*! + @brief A block that is used to change a Number value at keytime, the block is called continuously for a keypath while the aniamtion plays. + @param currentFrame The current frame of the animation in the parent compositions time space. + @param startKeyFrame When the block is called, startFrame is the most recent keyframe for the keypath in relation to the current time. + @param endKeyFrame When the block is called, endFrame is the next keyframe for the keypath in relation to the current time. + @param interpolatedProgress A value from 0-1 that represents the current progress between keyframes. It respects the keyframes current easing curves. + @param startValue The Number from the previous keyframe in relation to the current time. + @param endValue The Number from the next keyframe in relation to the current time. + @param interpolatedValue The Number interpolated at the current time between startValue and endValue. This represents the keypaths current Number for the current time. + @return CGFloat the number to set the keypath node for the current frame + */ +typedef CGFloat (^LOTNumberValueCallbackBlock)(CGFloat currentFrame, + CGFloat startKeyFrame, + CGFloat endKeyFrame, + CGFloat interpolatedProgress, + CGFloat startValue, + CGFloat endValue, + CGFloat interpolatedValue); +/*! + @brief A block that is used to change a Point value at keytime, the block is called continuously for a keypath while the aniamtion plays. + @param currentFrame The current frame of the animation in the parent compositions time space. + @param startKeyFrame When the block is called, startFrame is the most recent keyframe for the keypath in relation to the current time. + @param endKeyFrame When the block is called, endFrame is the next keyframe for the keypath in relation to the current time. + @param interpolatedProgress A value from 0-1 that represents the current progress between keyframes. It respects the keyframes current easing curves. + @param startPoint The Point from the previous keyframe in relation to the current time. + @param endPoint The Point from the next keyframe in relation to the current time. + @param interpolatedPoint The Point interpolated at the current time between startPoint and endPoint. This represents the keypaths current Point for the current time. + @return CGPoint the point to set the keypath node for the current frame. + */ +typedef CGPoint (^LOTPointValueCallbackBlock)(CGFloat currentFrame, + CGFloat startKeyFrame, + CGFloat endKeyFrame, + CGFloat interpolatedProgress, + CGPoint startPoint, + CGPoint endPoint, + CGPoint interpolatedPoint); + +/*! + @brief A block that is used to change a Size value at keytime, the block is called continuously for a keypath while the aniamtion plays. + @param currentFrame The current frame of the animation in the parent compositions time space. + @param startKeyFrame When the block is called, startFrame is the most recent keyframe for the keypath in relation to the current time. + @param endKeyFrame When the block is called, endFrame is the next keyframe for the keypath in relation to the current time. + @param interpolatedProgress A value from 0-1 that represents the current progress between keyframes. It respects the keyframes current easing curves. + @param startSize The Size from the previous keyframe in relation to the current time. + @param endSize The Size from the next keyframe in relation to the current time. + @param interpolatedSize The Size interpolated at the current time between startSize and endSize. This represents the keypaths current Size for the current time. + @return CGSize the size to set the keypath node for the current frame. + */ +typedef CGSize (^LOTSizeValueCallbackBlock)(CGFloat currentFrame, + CGFloat startKeyFrame, + CGFloat endKeyFrame, + CGFloat interpolatedProgress, + CGSize startSize, + CGSize endSize, + CGSize interpolatedSize); + +/*! + @brief A block that is used to change a Path value at keytime, the block is called continuously for a keypath while the aniamtion plays. + @param currentFrame The current frame of the animation in the parent compositions time space. + @param startKeyFrame When the block is called, startFrame is the most recent keyframe for the keypath in relation to the current time. + @param endKeyFrame When the block is called, endFrame is the next keyframe for the keypath in relation to the current time. + @param interpolatedProgress A value from 0-1 that represents the current progress between keyframes. It respects the keyframes current easing curves. + @return UIBezierPath the path to set the keypath node for the current frame. + */ +typedef CGPathRef _Nonnull (^LOTPathValueCallbackBlock)(CGFloat currentFrame, + CGFloat startKeyFrame, + CGFloat endKeyFrame, + CGFloat interpolatedProgress); + +/*! + @brief LOTColorValueCallback is wrapper around a LOTColorValueCallbackBlock. This block can be used in conjunction with LOTAnimationView setValueDelegate:forKeypath to dynamically change an animation's color keypath at runtime. + */ + +@interface LOTColorBlockCallback : NSObject + ++ (instancetype _Nonnull)withBlock:(LOTColorValueCallbackBlock _Nonnull )block NS_SWIFT_NAME(init(block:)); + +@property (nonatomic, copy, nonnull) LOTColorValueCallbackBlock callback; + +@end + +/*! + @brief LOTNumberValueCallback is wrapper around a LOTNumberValueCallbackBlock. This block can be used in conjunction with LOTAnimationView setValueDelegate:forKeypath to dynamically change an animation's number keypath at runtime. + */ + +@interface LOTNumberBlockCallback : NSObject + ++ (instancetype _Nonnull)withBlock:(LOTNumberValueCallbackBlock _Nonnull)block NS_SWIFT_NAME(init(block:)); + +@property (nonatomic, copy, nonnull) LOTNumberValueCallbackBlock callback; + +@end + +/*! + @brief LOTPointValueCallback is wrapper around a LOTPointValueCallbackBlock. This block can be used in conjunction with LOTAnimationView setValueDelegate:forKeypath to dynamically change an animation's point keypath at runtime. + */ + +@interface LOTPointBlockCallback : NSObject + ++ (instancetype _Nonnull)withBlock:(LOTPointValueCallbackBlock _Nonnull)block NS_SWIFT_NAME(init(block:)); + +@property (nonatomic, copy, nonnull) LOTPointValueCallbackBlock callback; + +@end + +/*! + @brief LOTSizeValueCallback is wrapper around a LOTSizeValueCallbackBlock. This block can be used in conjunction with LOTAnimationView setValueDelegate:forKeypath to dynamically change an animation's size keypath at runtime. + */ + +@interface LOTSizeBlockCallback : NSObject + ++ (instancetype _Nonnull)withBlock:(LOTSizeValueCallbackBlock _Nonnull)block NS_SWIFT_NAME(init(block:)); + +@property (nonatomic, copy, nonnull) LOTSizeValueCallbackBlock callback; + +@end + +/*! + @brief LOTPathValueCallback is wrapper around a LOTPathValueCallbackBlock. This block can be used in conjunction with LOTAnimationView setValueDelegate:forKeypath to dynamically change an animation's path keypath at runtime. + */ + +@interface LOTPathBlockCallback : NSObject + ++ (instancetype _Nonnull)withBlock:(LOTPathValueCallbackBlock _Nonnull)block NS_SWIFT_NAME(init(block:)); + +@property (nonatomic, copy, nonnull) LOTPathValueCallbackBlock callback; + +@end + diff --git a/News/Pods/lottie-ios/lottie-ios/Classes/PublicHeaders/LOTInterpolatorCallback.h b/News/Pods/lottie-ios/lottie-ios/Classes/PublicHeaders/LOTInterpolatorCallback.h new file mode 100644 index 00000000..7cf7198e --- /dev/null +++ b/News/Pods/lottie-ios/lottie-ios/Classes/PublicHeaders/LOTInterpolatorCallback.h @@ -0,0 +1,71 @@ +// +// LOTInterpolatorCallback.h +// Lottie +// +// Created by brandon_withrow on 12/15/17. +// Copyright © 2017 Airbnb. All rights reserved. +// + +#import +#import +#import "LOTValueDelegate.h" + +/*! + @brief LOTPointInterpolatorCallback is a container for a CGPointRef. This container is a LOTPointValueDelegate that will return the point interpolated at currentProgress between fromPoint and toPoint. Externally changing currentProgress will change the point of the animation. + @discussion LOTPointInterpolatorCallback is used in conjunction with LOTAnimationView setValueDelegate:forKeypoint to set a point value of an animation property. + */ + +@interface LOTPointInterpolatorCallback : NSObject + ++ (instancetype _Nonnull)withFromPoint:(CGPoint)fromPoint toPoint:(CGPoint)toPoint NS_SWIFT_NAME(init(from:to:)); + +@property (nonatomic) CGPoint fromPoint; +@property (nonatomic) CGPoint toPoint; + +/*! + @brief As currentProgess changes from 0 to 1 the point sent to the animation view is interpolated between fromPoint and toPoint. + */ + +@property (nonatomic, assign) CGFloat currentProgress; + +@end + +/*! + @brief LOTSizeInterpolatorCallback is a container for a CGSizeRef. This container is a LOTSizeValueDelegate that will return the size interpolated at currentProgress between fromSize and toSize. Externally changing currentProgress will change the size of the animation. + @discussion LOTSizeInterpolatorCallback is used in conjunction with LOTAnimationView setValueDelegate:forKeysize to set a size value of an animation property. + */ + +@interface LOTSizeInterpolatorCallback : NSObject + ++ (instancetype _Nonnull)withFromSize:(CGSize)fromSize toSize:(CGSize)toSize NS_SWIFT_NAME(init(from:to:)); + +@property (nonatomic) CGSize fromSize; +@property (nonatomic) CGSize toSize; + +/*! + @brief As currentProgess changes from 0 to 1 the size sent to the animation view is interpolated between fromSize and toSize. + */ + +@property (nonatomic, assign) CGFloat currentProgress; + +@end + +/*! + @brief LOTFloatInterpolatorCallback is a container for a CGFloatRef. This container is a LOTFloatValueDelegate that will return the float interpolated at currentProgress between fromFloat and toFloat. Externally changing currentProgress will change the float of the animation. + @discussion LOTFloatInterpolatorCallback is used in conjunction with LOTAnimationView setValueDelegate:forKeyfloat to set a float value of an animation property. + */ + +@interface LOTFloatInterpolatorCallback : NSObject + ++ (instancetype _Nonnull)withFromFloat:(CGFloat)fromFloat toFloat:(CGFloat)toFloat NS_SWIFT_NAME(init(from:to:)); + +@property (nonatomic) CGFloat fromFloat; +@property (nonatomic) CGFloat toFloat; + +/*! + @brief As currentProgess changes from 0 to 1 the float sent to the animation view is interpolated between fromFloat and toFloat. + */ + +@property (nonatomic, assign) CGFloat currentProgress; + +@end diff --git a/News/Pods/lottie-ios/lottie-ios/Classes/PublicHeaders/LOTKeypath.h b/News/Pods/lottie-ios/lottie-ios/Classes/PublicHeaders/LOTKeypath.h new file mode 100644 index 00000000..c568abbd --- /dev/null +++ b/News/Pods/lottie-ios/lottie-ios/Classes/PublicHeaders/LOTKeypath.h @@ -0,0 +1,83 @@ +// +// LOTKeypath.h +// Lottie_iOS +// +// Created by brandon_withrow on 12/13/17. +// Copyright © 2017 Airbnb. All rights reserved. +// + +#import + +extern NSString * _Nonnull const kLOTKeypathEnd; + +/*! + @brief LOTKeypath is an object that describes a keypath search for nodes in the animation JSON. LOTKeypath matches views inside of LOTAnimationView to their After Effects counterparts. + + @discussion + LOTKeypath is used with LOTAnimationView to set animation properties dynamically at runtime, to add or mask subviews, converting geometry, and numerous other functions. + + LOTKeypath can describe a specific object, or can use wildcards for fuzzy matching of objects. Acceptable wildcards are either "*" (star) or "**" (double star). Single star will search a single depth for the next object, double star will search any depth. + + Read More at http://airbnb.io/lottie/ios/dynamic.html + + EG: + @"Layer.Shape Group.Stroke 1.Color" + Represents a specific color node on a specific stroke. + + @"**.Stroke 1.Color" + Represents the color node for every "Stroke 1" in the animation scene. + + */ + +@interface LOTKeypath : NSObject + +/*! + @brief Creates a LOTKeypath from a dot separated string, can use wildcards @"*" and fuzzy depth wild cards @"**". + + @discussion LOTKeypath is an object that describes a keypath search for nodes in the animation JSON. + + LOTKeypath is used with LOTAnimationView to set animation properties dynamically at runtime, to add or mask subviews, converting geometry, and numerous other functions. + + LOTKeypath can describe a specific object, or can use wildcards for fuzzy matching of objects. Acceptable wildcards are either "*" (star) or "**" (double star). Single star will search a single depth for the next object, double star will search any depth. + + @param keypath A dot separated string describing a keypath from the JSON animation. EG @"Layer.Shape Group.Stroke 1.Color" + + @return A new LOTKeypath + */ + ++ (nonnull LOTKeypath *)keypathWithString:(nonnull NSString *)keypath; + +/*! + @brief Creates a LOTKeypath from a list of keypath string objects, can use wildcards @"*" and fuzzy depth wild cards @"**". + + @discussion LOTKeypath is an object that describes a keypath search for nodes in the animation JSON. + + LOTKeypath is used with LOTAnimationView to set animation properties dynamically at runtime, to add or mask subviews, converting geometry, and numerous other functions. + + LOTKeypath can describe a specific object, or can use wildcards for fuzzy matching of objects. Acceptable wildcards are either "*" (star) or "**" (double star). Single star will search a single depth for the next object, double star will search any depth. + + @param firstKey A nil terminitated list of strings describing a keypath. EG @"Layer", @"Shape Group", @"Stroke 1", @"Color", nil + + @return A new LOTKeypath + */ + ++ (nonnull LOTKeypath *)keypathWithKeys:(nonnull NSString *)firstKey, ... + NS_REQUIRES_NIL_TERMINATION; + +@property (nonatomic, readonly, nonnull) NSString *absoluteKeypath; +@property (nonatomic, readonly, nonnull) NSString *currentKey; +@property (nonatomic, readonly, nonnull) NSString *currentKeyPath; + +@property (nonatomic, readonly, nonnull) NSDictionary *searchResults; + +@property (nonatomic, readonly) BOOL hasFuzzyWildcard; +@property (nonatomic, readonly) BOOL hasWildcard; +@property (nonatomic, readonly) BOOL endOfKeypath; + +- (BOOL)pushKey:(nonnull NSString *)key; +- (void)popKey; +- (void)popToRootKey; + +- (void)addSearchResultForCurrentPath:(id _Nonnull)result; + +@end diff --git a/News/Pods/lottie-ios/lottie-ios/Classes/PublicHeaders/LOTValueCallback.h b/News/Pods/lottie-ios/lottie-ios/Classes/PublicHeaders/LOTValueCallback.h new file mode 100644 index 00000000..05cb2625 --- /dev/null +++ b/News/Pods/lottie-ios/lottie-ios/Classes/PublicHeaders/LOTValueCallback.h @@ -0,0 +1,76 @@ +// +// LOTValueCallback.h +// Lottie +// +// Created by brandon_withrow on 12/15/17. +// Copyright © 2017 Airbnb. All rights reserved. +// + +#import +#import +#import "LOTValueDelegate.h" + +/*! + @brief LOTColorValueCallback is a container for a CGColorRef. This container is a LOTColorValueDelegate that always returns the colorValue property to its animation delegate. + @discussion LOTColorValueCallback is used in conjunction with LOTAnimationView setValueDelegate:forKeypath to set a color value of an animation property. + */ + +@interface LOTColorValueCallback : NSObject + ++ (instancetype _Nonnull)withCGColor:(CGColorRef _Nonnull)color NS_SWIFT_NAME(init(color:)); + +@property (nonatomic, nonnull) CGColorRef colorValue; + +@end + +/*! + @brief LOTNumberValueCallback is a container for a CGFloat value. This container is a LOTNumberValueDelegate that always returns the numberValue property to its animation delegate. + @discussion LOTNumberValueCallback is used in conjunction with LOTAnimationView setValueDelegate:forKeypath to set a number value of an animation property. + */ + +@interface LOTNumberValueCallback : NSObject + ++ (instancetype _Nonnull)withFloatValue:(CGFloat)numberValue NS_SWIFT_NAME(init(number:)); + +@property (nonatomic, assign) CGFloat numberValue; + +@end + +/*! + @brief LOTPointValueCallback is a container for a CGPoint value. This container is a LOTPointValueDelegate that always returns the pointValue property to its animation delegate. + @discussion LOTPointValueCallback is used in conjunction with LOTAnimationView setValueDelegate:forKeypath to set a point value of an animation property. + */ + +@interface LOTPointValueCallback : NSObject + ++ (instancetype _Nonnull)withPointValue:(CGPoint)pointValue; + +@property (nonatomic, assign) CGPoint pointValue; + +@end + +/*! + @brief LOTSizeValueCallback is a container for a CGSize value. This container is a LOTSizeValueDelegate that always returns the sizeValue property to its animation delegate. + @discussion LOTSizeValueCallback is used in conjunction with LOTAnimationView setValueDelegate:forKeypath to set a size value of an animation property. + */ + +@interface LOTSizeValueCallback : NSObject + ++ (instancetype _Nonnull)withPointValue:(CGSize)sizeValue NS_SWIFT_NAME(init(size:)); + +@property (nonatomic, assign) CGSize sizeValue; + +@end + +/*! + @brief LOTPathValueCallback is a container for a CGPathRef value. This container is a LOTPathValueDelegate that always returns the pathValue property to its animation delegate. + @discussion LOTPathValueCallback is used in conjunction with LOTAnimationView setValueDelegate:forKeypath to set a path value of an animation property. + */ + +@interface LOTPathValueCallback : NSObject + ++ (instancetype _Nonnull)withCGPath:(CGPathRef _Nonnull)path NS_SWIFT_NAME(init(path:)); + +@property (nonatomic, nonnull) CGPathRef pathValue; + +@end diff --git a/News/Pods/lottie-ios/lottie-ios/Classes/PublicHeaders/LOTValueDelegate.h b/News/Pods/lottie-ios/lottie-ios/Classes/PublicHeaders/LOTValueDelegate.h new file mode 100644 index 00000000..0250eb50 --- /dev/null +++ b/News/Pods/lottie-ios/lottie-ios/Classes/PublicHeaders/LOTValueDelegate.h @@ -0,0 +1,144 @@ +// +// LOTValueDelegate.h +// Lottie +// +// Created by brandon_withrow on 1/5/18. +// Copyright © 2018 Airbnb. All rights reserved. +// + +#import +#import + +/*! + @brief LOTValueDelegate is not intended to be used directly. It is used for type safety. + @discussion LOTValueDelegates are used to dynamically change animation data at runtime. A delegate is set for a keypath, defined by LOTKeypath. While the animation is running the delagate is asked for the value for the keypath at each frame of the animation. The delegate is given the computed animation value for the the current frame. See LOTKeypath and the setValueDelegate:forKeypath methond on LOTAnimationView. + + Prebuild delegates can be found in LOTBlockCallback, LOTInterpolatorCallback, and LOTValueCallback. These delegates allow direct setting and driving of an animated value. + See LOTColorValueDelegate, LOTNumberValueDelegate, LOTPointValueDelegate, LOTSizeValueDelegate, LOTPathValueDelegate. + */ + +@protocol LOTValueDelegate + +@end + +@protocol LOTColorValueDelegate +@required +/*! + @brief LOTColorValueDelegate is called at runtime to override the color value of a property in a LOTAnimation. The property is defined by at LOTKeypath. The delegate is set via setValueDelegate:forKeypath on LOTAnimationView. + @discussion LOTValueDelegates are used to dynamically change animation data at runtime. A delegate is set for a keypath, defined by LOTKeypath. While the animation is running the delagate is asked for the value for the keypath at each frame of the animation. The delegate is given the computed animation value for the the current frame. See LOTKeypath and the setValueDelegate:forKeypath methond on LOTAnimationView. + @param currentFrame The current frame of the animation in the parent compositions time space. + @param startKeyframe When the block is called, startFrame is the most recent keyframe for the keypath in relation to the current time. + @param endKeyframe When the block is called, endFrame is the next keyframe for the keypath in relation to the current time. + @param interpolatedProgress A value from 0-1 that represents the current progress between keyframes. It respects the keyframes current easing curves. + @param startColor The color from the previous keyframe in relation to the current time. + @param endColor The color from the next keyframe in relation to the current time. + @param interpolatedColor The color interpolated at the current time between startColor and endColor. This represents the keypaths current color for the current time. + @return CGColorRef the color to set the keypath node for the current frame + */ + +- (CGColorRef)colorForFrame:(CGFloat)currentFrame + startKeyframe:(CGFloat)startKeyframe + endKeyframe:(CGFloat)endKeyframe + interpolatedProgress:(CGFloat)interpolatedProgress + startColor:(CGColorRef)startColor + endColor:(CGColorRef)endColor + currentColor:(CGColorRef)interpolatedColor; + + +@end + +@protocol LOTNumberValueDelegate +@required +/*! + @brief LOTNumberValueDelegate is called at runtime to override the number value of a property in a LOTAnimation. The property is defined by at LOTKeypath. The delegate is set via setValueDelegate:forKeypath on LOTAnimationView. + @discussion LOTValueDelegates are used to dynamically change animation data at runtime. A delegate is set for a keypath, defined by LOTKeypath. While the animation is running the delagate is asked for the value for the keypath at each frame of the animation. The delegate is given the computed animation value for the the current frame. See LOTKeypath and the setValueDelegate:forKeypath methond on LOTAnimationView. + @param currentFrame The current frame of the animation in the parent compositions time space. + @param startKeyframe When the block is called, startFrame is the most recent keyframe for the keypath in relation to the current time. + @param endKeyframe When the block is called, endFrame is the next keyframe for the keypath in relation to the current time. + @param interpolatedProgress A value from 0-1 that represents the current progress between keyframes. It respects the keyframes current easing curves. + @param startValue The number from the previous keyframe in relation to the current time. + @param endValue The number from the next keyframe in relation to the current time. + @param interpolatedValue The number interpolated at the current time between startNumber and endNumber. This represents the keypaths current number for the current time. + @return CGFloat the number to set the keypath node for the current frame + */ + +- (CGFloat)floatValueForFrame:(CGFloat)currentFrame + startKeyframe:(CGFloat)startKeyframe + endKeyframe:(CGFloat)endKeyframe + interpolatedProgress:(CGFloat)interpolatedProgress + startValue:(CGFloat)startValue + endValue:(CGFloat)endValue + currentValue:(CGFloat)interpolatedValue; + +@end + +@protocol LOTPointValueDelegate +@required +/*! + @brief LOTPointValueDelegate is called at runtime to override the point value of a property in a LOTAnimation. The property is defined by at LOTKeypath. The delegate is set via setValueDelegate:forKeypath on LOTAnimationView. + @discussion LOTValueDelegates are used to dynamically change animation data at runtime. A delegate is set for a keypath, defined by LOTKeypath. While the animation is running the delagate is asked for the value for the keypath at each frame of the animation. The delegate is given the computed animation value for the the current frame. See LOTKeypath and the setValueDelegate:forKeypath methond on LOTAnimationView. + @param currentFrame The current frame of the animation in the parent compositions time space. + @param startKeyframe When the block is called, startFrame is the most recent keyframe for the keypath in relation to the current time. + @param endKeyframe When the block is called, endFrame is the next keyframe for the keypath in relation to the current time. + @param interpolatedProgress A value from 0-1 that represents the current progress between keyframes. It respects the keyframes current easing curves. + @param startPoint The point from the previous keyframe in relation to the current time. + @param endPoint The point from the next keyframe in relation to the current time. + @param interpolatedPoint The point interpolated at the current time between startPoint and endPoint. This represents the keypaths current point for the current time. + @return CGPoint the point to set the keypath node for the current frame + */ + +- (CGPoint)pointForFrame:(CGFloat)currentFrame + startKeyframe:(CGFloat)startKeyframe + endKeyframe:(CGFloat)endKeyframe + interpolatedProgress:(CGFloat)interpolatedProgress + startPoint:(CGPoint)startPoint + endPoint:(CGPoint)endPoint + currentPoint:(CGPoint)interpolatedPoint; + +@end + +@protocol LOTSizeValueDelegate +@required +/*! + @brief LOTSizeValueDelegate is called at runtime to override the size value of a property in a LOTAnimation. The property is defined by at LOTKeypath. The delegate is set via setValueDelegate:forKeypath on LOTAnimationView. + @discussion LOTValueDelegates are used to dynamically change animation data at runtime. A delegate is set for a keypath, defined by LOTKeypath. While the animation is running the delagate is asked for the value for the keypath at each frame of the animation. The delegate is given the computed animation value for the the current frame. See LOTKeypath and the setValueDelegate:forKeypath methond on LOTAnimationView. + @param currentFrame The current frame of the animation in the parent compositions time space. + @param startKeyframe When the block is called, startFrame is the most recent keyframe for the keypath in relation to the current time. + @param endKeyframe When the block is called, endFrame is the next keyframe for the keypath in relation to the current time. + @param interpolatedProgress A value from 0-1 that represents the current progress between keyframes. It respects the keyframes current easing curves. + @param startSize The size from the previous keyframe in relation to the current time. + @param endSize The size from the next keyframe in relation to the current time. + @param interpolatedSize The size interpolated at the current time between startSize and endSize. This represents the keypaths current size for the current time. + @return CGSize the size to set the keypath node for the current frame + */ + +- (CGSize)sizeForFrame:(CGFloat)currentFrame + startKeyframe:(CGFloat)startKeyframe + endKeyframe:(CGFloat)endKeyframe + interpolatedProgress:(CGFloat)interpolatedProgress + startSize:(CGSize)startSize + endSize:(CGSize)endSize + currentSize:(CGSize)interpolatedSize; + + +@end + +@protocol LOTPathValueDelegate +@required +/*! + @brief LOTPathValueDelegate is called at runtime to override the path value of a property in a LOTAnimation. The property is defined by at LOTKeypath. The delegate is set via setValueDelegate:forKeypath on LOTAnimationView. + @discussion LOTValueDelegates are used to dynamically change animation data at runtime. A delegate is set for a keypath, defined by LOTKeypath. While the animation is running the delagate is asked for the value for the keypath at each frame of the animation. The delegate is given the computed animation value for the the current frame. See LOTKeypath and the setValueDelegate:forKeypath methond on LOTAnimationView. + @param currentFrame The current frame of the animation in the parent compositions time space. + @param startKeyframe When the block is called, startFrame is the most recent keyframe for the keypath in relation to the current time. + @param endKeyframe When the block is called, endFrame is the next keyframe for the keypath in relation to the current time. + @param interpolatedProgress A value from 0-1 that represents the current progress between keyframes. It respects the keyframes current easing curves. + @return CGPathRef the path to set the keypath node for the current frame + */ + +- (CGPathRef)pathForFrame:(CGFloat)currentFrame + startKeyframe:(CGFloat)startKeyframe + endKeyframe:(CGFloat)endKeyframe + interpolatedProgress:(CGFloat)interpolatedProgress; + + +@end diff --git a/News/Pods/lottie-ios/lottie-ios/Classes/PublicHeaders/Lottie.h b/News/Pods/lottie-ios/lottie-ios/Classes/PublicHeaders/Lottie.h index 45bfff62..161ef31a 100644 --- a/News/Pods/lottie-ios/lottie-ios/Classes/PublicHeaders/Lottie.h +++ b/News/Pods/lottie-ios/lottie-ios/Classes/PublicHeaders/Lottie.h @@ -4,7 +4,7 @@ // // Created by brandon_withrow on 1/27/17. // -// +// Dream Big. #if __has_feature(modules) @import Foundation; @@ -36,5 +36,9 @@ FOUNDATION_EXPORT const unsigned char LottieVersionString[]; #import "LOTAnimationView.h" #import "LOTAnimationCache.h" #import "LOTComposition.h" +#import "LOTBlockCallback.h" +#import "LOTInterpolatorCallback.h" +#import "LOTValueCallback.h" +#import "LOTValueDelegate.h" #endif /* Lottie_h */ diff --git a/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTColorInterpolator.h b/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTColorInterpolator.h index b07cf685..5d6009fd 100644 --- a/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTColorInterpolator.h +++ b/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTColorInterpolator.h @@ -8,12 +8,15 @@ #import "LOTValueInterpolator.h" #import "LOTPlatformCompat.h" +#import "LOTValueDelegate.h" NS_ASSUME_NONNULL_BEGIN @interface LOTColorInterpolator : LOTValueInterpolator -- (UIColor *)colorForFrame:(NSNumber *)frame; +- (CGColorRef)colorForFrame:(NSNumber *)frame; + +@property (nonatomic, weak, nullable) id delegate; @end diff --git a/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTColorInterpolator.m b/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTColorInterpolator.m index 6dd6dab0..ae10f8a0 100644 --- a/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTColorInterpolator.m +++ b/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTColorInterpolator.m @@ -12,24 +12,37 @@ @implementation LOTColorInterpolator -- (UIColor *)colorForFrame:(NSNumber *)frame { +- (CGColorRef)colorForFrame:(NSNumber *)frame { CGFloat progress = [self progressForFrame:frame]; + UIColor *returnColor; + if (progress == 0) { - return self.leadingKeyframe.colorValue; + returnColor = self.leadingKeyframe.colorValue; + } else if (progress == 1) { + returnColor = self.trailingKeyframe.colorValue; + } else { + returnColor = [UIColor LOT_colorByLerpingFromColor:self.leadingKeyframe.colorValue toColor:self.trailingKeyframe.colorValue amount:progress]; } - if (progress == 1) { - return self.trailingKeyframe.colorValue; + if (self.hasDelegateOverride) { + return [self.delegate colorForFrame:frame.floatValue + startKeyframe:self.leadingKeyframe.keyframeTime.floatValue + endKeyframe:self.trailingKeyframe.keyframeTime.floatValue + interpolatedProgress:progress + startColor:self.leadingKeyframe.colorValue.CGColor + endColor:self.trailingKeyframe.colorValue.CGColor + currentColor:returnColor.CGColor]; } - UIColor *returnColor = [UIColor LOT_colorByLerpingFromColor:self.leadingKeyframe.colorValue toColor:self.trailingKeyframe.colorValue amount:progress]; - return returnColor; + + return returnColor.CGColor; } -- (id)keyframeDataForValue:(id)value { - if ([value isKindOfClass:[UIColor class]]) { - NSArray *colorComponents = [(UIColor *)value LOT_arrayFromRGBAComponents]; - return colorComponents; - } - return nil; +- (void)setValueDelegate:(id)delegate { + NSAssert(([delegate conformsToProtocol:@protocol(LOTColorValueDelegate)]), @"Color Interpolator set with incorrect callback type. Expected LOTColorValueDelegate"); + self.delegate = (id)delegate; +} + +- (BOOL)hasDelegateOverride { + return self.delegate != nil; } @end diff --git a/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTNumberInterpolator.h b/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTNumberInterpolator.h index 9c0e877a..fe179a37 100644 --- a/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTNumberInterpolator.h +++ b/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTNumberInterpolator.h @@ -8,12 +8,15 @@ #import #import "LOTValueInterpolator.h" +#import "LOTValueDelegate.h" NS_ASSUME_NONNULL_BEGIN @interface LOTNumberInterpolator : LOTValueInterpolator - (CGFloat)floatValueForFrame:(NSNumber *)frame; +@property (nonatomic, weak, nullable) id delegate; + @end NS_ASSUME_NONNULL_END diff --git a/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTNumberInterpolator.m b/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTNumberInterpolator.m index d55a323f..fb560b64 100644 --- a/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTNumberInterpolator.m +++ b/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTNumberInterpolator.m @@ -13,20 +13,34 @@ @implementation LOTNumberInterpolator - (CGFloat)floatValueForFrame:(NSNumber *)frame { CGFloat progress = [self progressForFrame:frame]; + CGFloat returnValue; if (progress == 0) { - return self.leadingKeyframe.floatValue; + returnValue = self.leadingKeyframe.floatValue; + } else if (progress == 1) { + returnValue = self.trailingKeyframe.floatValue; + } else { + returnValue = LOT_RemapValue(progress, 0, 1, self.leadingKeyframe.floatValue, self.trailingKeyframe.floatValue); } - if (progress == 1) { - return self.trailingKeyframe.floatValue; + if (self.hasDelegateOverride) { + return [self.delegate floatValueForFrame:frame.floatValue + startKeyframe:self.leadingKeyframe.keyframeTime.floatValue + endKeyframe:self.trailingKeyframe.keyframeTime.floatValue + interpolatedProgress:progress + startValue:self.leadingKeyframe.floatValue + endValue:self.trailingKeyframe.floatValue + currentValue:returnValue]; } - return LOT_RemapValue(progress, 0, 1, self.leadingKeyframe.floatValue, self.trailingKeyframe.floatValue); + + return returnValue; } -- (id)keyframeDataForValue:(id)value { - if ([value isKindOfClass:[NSNumber class]]) { - return value; - } - return nil; +- (BOOL)hasDelegateOverride { + return self.delegate != nil; +} + +- (void)setValueDelegate:(id _Nonnull)delegate { + NSAssert(([delegate conformsToProtocol:@protocol(LOTNumberValueDelegate)]), @"Number Interpolator set with incorrect callback type. Expected LOTNumberValueDelegate"); + self.delegate = (id)delegate; } @end diff --git a/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTPathInterpolator.h b/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTPathInterpolator.h index b89c58bd..0b7ccdf8 100644 --- a/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTPathInterpolator.h +++ b/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTPathInterpolator.h @@ -9,6 +9,7 @@ #import "LOTValueInterpolator.h" #import "LOTPlatformCompat.h" #import "LOTBezierPath.h" +#import "LOTValueDelegate.h" NS_ASSUME_NONNULL_BEGIN @@ -16,6 +17,8 @@ NS_ASSUME_NONNULL_BEGIN - (LOTBezierPath *)pathForFrame:(NSNumber *)frame cacheLengths:(BOOL)cacheLengths; +@property (nonatomic, weak, nullable) id delegate; + @end NS_ASSUME_NONNULL_END diff --git a/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTPathInterpolator.m b/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTPathInterpolator.m index 2c275e9f..41ef5ffe 100644 --- a/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTPathInterpolator.m +++ b/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTPathInterpolator.m @@ -13,7 +13,14 @@ @implementation LOTPathInterpolator - (LOTBezierPath *)pathForFrame:(NSNumber *)frame cacheLengths:(BOOL)cacheLengths { CGFloat progress = [self progressForFrame:frame]; - + if (self.hasDelegateOverride) { + CGPathRef callBackPath = [self.delegate pathForFrame:frame.floatValue + startKeyframe:self.leadingKeyframe.keyframeTime.floatValue + endKeyframe:self.trailingKeyframe.keyframeTime.floatValue + interpolatedProgress:progress]; + return [LOTBezierPath pathWithCGPath:callBackPath]; + } + LOTBezierPath *returnPath = [[LOTBezierPath alloc] init]; returnPath.cacheLengths = cacheLengths; LOTBezierData *leadingData = self.leadingKeyframe.pathData; @@ -62,4 +69,13 @@ - (LOTBezierPath *)pathForFrame:(NSNumber *)frame cacheLengths:(BOOL)cacheLength return returnPath; } +- (void)setValueDelegate:(id)delegate { + NSAssert(([delegate conformsToProtocol:@protocol(LOTPathValueDelegate)]), @"Path Interpolator set with incorrect callback type. Expected LOTPathValueDelegate"); + self.delegate = (id)delegate; +} + +- (BOOL)hasDelegateOverride { + return self.delegate != nil; +} + @end diff --git a/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTPointInterpolator.h b/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTPointInterpolator.h index 26001324..15643212 100644 --- a/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTPointInterpolator.h +++ b/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTPointInterpolator.h @@ -7,6 +7,7 @@ // #import "LOTValueInterpolator.h" +#import "LOTValueDelegate.h" NS_ASSUME_NONNULL_BEGIN @@ -14,6 +15,8 @@ NS_ASSUME_NONNULL_BEGIN - (CGPoint)pointValueForFrame:(NSNumber *)frame; +@property (nonatomic, weak, nullable) id delegate; + @end NS_ASSUME_NONNULL_END diff --git a/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTPointInterpolator.m b/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTPointInterpolator.m index 4182c0c0..66701b40 100644 --- a/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTPointInterpolator.m +++ b/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTPointInterpolator.m @@ -13,28 +13,39 @@ @implementation LOTPointInterpolator - (CGPoint)pointValueForFrame:(NSNumber *)frame { CGFloat progress = [self progressForFrame:frame]; + CGPoint returnPoint; if (progress == 0) { - return self.leadingKeyframe.pointValue; - } - if (progress == 1) { - return self.trailingKeyframe.pointValue; - } - if (!CGPointEqualToPoint(self.leadingKeyframe.spatialOutTangent, CGPointZero) && - !CGPointEqualToPoint(self.trailingKeyframe.spatialInTangent, CGPointZero)) { + returnPoint = self.leadingKeyframe.pointValue; + } else if (progress == 1) { + returnPoint = self.trailingKeyframe.pointValue; + } else if (!CGPointEqualToPoint(self.leadingKeyframe.spatialOutTangent, CGPointZero) || + !CGPointEqualToPoint(self.trailingKeyframe.spatialInTangent, CGPointZero)) { // Spatial Bezier path CGPoint outTan = LOT_PointAddedToPoint(self.leadingKeyframe.pointValue, self.leadingKeyframe.spatialOutTangent); CGPoint inTan = LOT_PointAddedToPoint(self.trailingKeyframe.pointValue, self.trailingKeyframe.spatialInTangent); - return LOT_PointInCubicCurve(self.leadingKeyframe.pointValue, outTan, inTan, self.trailingKeyframe.pointValue, progress); + returnPoint = LOT_PointInCubicCurve(self.leadingKeyframe.pointValue, outTan, inTan, self.trailingKeyframe.pointValue, progress); + } else { + returnPoint = LOT_PointInLine(self.leadingKeyframe.pointValue, self.trailingKeyframe.pointValue, progress); + } + if (self.hasDelegateOverride) { + return [self.delegate pointForFrame:frame.floatValue + startKeyframe:self.leadingKeyframe.keyframeTime.floatValue + endKeyframe:self.trailingKeyframe.keyframeTime.floatValue + interpolatedProgress:progress + startPoint:self.leadingKeyframe.pointValue + endPoint:self.trailingKeyframe.pointValue + currentPoint:returnPoint]; } - return LOT_PointInLine(self.leadingKeyframe.pointValue, self.trailingKeyframe.pointValue, progress); + return returnPoint; } -- (id)keyframeDataForValue:(id)value { - if ([value isKindOfClass:[NSValue class]]) { - CGPoint pointValue = [(NSValue *)value CGPointValue]; - return @[@(pointValue.x), @(pointValue.y)]; - } - return nil; +- (BOOL)hasDelegateOverride { + return self.delegate != nil; +} + +- (void)setValueDelegate:(id)delegate { + NSAssert(([delegate conformsToProtocol:@protocol(LOTPointValueDelegate)]), @"Point Interpolator set with incorrect callback type. Expected LOTPointValueDelegate"); + self.delegate = (id)delegate; } @end diff --git a/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTSizeInterpolator.h b/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTSizeInterpolator.h index bc6f6c58..a8b4e1f4 100644 --- a/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTSizeInterpolator.h +++ b/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTSizeInterpolator.h @@ -7,6 +7,7 @@ // #import "LOTValueInterpolator.h" +#import "LOTValueDelegate.h" NS_ASSUME_NONNULL_BEGIN @@ -14,6 +15,8 @@ NS_ASSUME_NONNULL_BEGIN - (CGSize)sizeValueForFrame:(NSNumber *)frame; +@property (nonatomic, weak, nullable) id delegate; + @end NS_ASSUME_NONNULL_END diff --git a/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTSizeInterpolator.m b/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTSizeInterpolator.m index 7e231de1..4c06e642 100644 --- a/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTSizeInterpolator.m +++ b/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTSizeInterpolator.m @@ -14,22 +14,33 @@ @implementation LOTSizeInterpolator - (CGSize)sizeValueForFrame:(NSNumber *)frame { CGFloat progress = [self progressForFrame:frame]; + CGSize returnSize; if (progress == 0) { - return self.leadingKeyframe.sizeValue; + returnSize = self.leadingKeyframe.sizeValue; + }else if (progress == 1) { + returnSize = self.trailingKeyframe.sizeValue; + } else { + returnSize = CGSizeMake(LOT_RemapValue(progress, 0, 1, self.leadingKeyframe.sizeValue.width, self.trailingKeyframe.sizeValue.width), + LOT_RemapValue(progress, 0, 1, self.leadingKeyframe.sizeValue.height, self.trailingKeyframe.sizeValue.height)); } - if (progress == 1) { - return self.trailingKeyframe.sizeValue; + if (self.hasDelegateOverride) { + return [self.delegate sizeForFrame:frame.floatValue + startKeyframe:self.leadingKeyframe.keyframeTime.floatValue + endKeyframe:self.trailingKeyframe.keyframeTime.floatValue + interpolatedProgress:progress startSize:self.leadingKeyframe.sizeValue + endSize:self.trailingKeyframe.sizeValue + currentSize:returnSize]; } - return CGSizeMake(LOT_RemapValue(progress, 0, 1, self.leadingKeyframe.sizeValue.width, self.trailingKeyframe.sizeValue.width), - LOT_RemapValue(progress, 0, 1, self.leadingKeyframe.sizeValue.height, self.trailingKeyframe.sizeValue.height)); + return returnSize; } -- (id)keyframeDataForValue:(id)value { - if ([value isKindOfClass:[NSValue class]]) { - CGSize sizeValue = [(NSValue *)value CGSizeValue]; - return @[@(sizeValue.width), @(sizeValue.height)]; - } - return nil; +- (BOOL)hasDelegateOverride { + return self.delegate != nil; +} + +- (void)setValueDelegate:(id)delegate { + NSAssert(([delegate conformsToProtocol:@protocol(LOTSizeValueDelegate)]), @"Size Interpolator set with incorrect callback type. Expected LOTSizeValueDelegate"); + self.delegate = (id)delegate; } @end diff --git a/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTValueInterpolator.h b/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTValueInterpolator.h index dade4829..775dcd8c 100644 --- a/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTValueInterpolator.h +++ b/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTValueInterpolator.h @@ -8,6 +8,7 @@ #import #import "LOTKeyframe.h" +#import "LOTValueDelegate.h" NS_ASSUME_NONNULL_BEGIN @@ -15,12 +16,11 @@ NS_ASSUME_NONNULL_BEGIN - (instancetype)initWithKeyframes:(NSArray *)keyframes; -/// Used to dynamically update keyframe data. -- (BOOL)setValue:(id)value atFrame:(NSNumber *)frame; -- (id _Nullable)keyframeDataForValue:(id)value; - @property (nonatomic, weak, nullable) LOTKeyframe *leadingKeyframe; @property (nonatomic, weak, nullable) LOTKeyframe *trailingKeyframe; +@property (nonatomic, readonly) BOOL hasDelegateOverride; + +- (void)setValueDelegate:(id _Nonnull)delegate; - (BOOL)hasUpdateForFrame:(NSNumber *)frame; - (CGFloat)progressForFrame:(NSNumber *)frame; diff --git a/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTValueInterpolator.m b/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTValueInterpolator.m index 4f332e5c..840f61bf 100644 --- a/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTValueInterpolator.m +++ b/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTValueInterpolator.m @@ -25,62 +25,10 @@ - (instancetype)initWithKeyframes:(NSArray *)keyframes { return self; } -- (id)keyframeDataForValue:(id)value { - NSLog(@"%s: Unsupported Keyframe Data: %@", __PRETTY_FUNCTION__, value); - return nil; -} - -// Change keyframe data -- (BOOL)setValue:(id)value atFrame:(NSNumber *)frame { - id data = [self keyframeDataForValue:value]; - if (data == nil) { - return NO; - } - if (frame == nil) { - frame = @0; - } - [self updateKeyframeSpanForFrame:frame]; - if (frame.floatValue == self.leadingKeyframe.keyframeTime.floatValue) { - // Is leading frame, replace - LOTKeyframe *newKeyframe = [self.leadingKeyframe copyWithData:data]; - NSMutableArray *keyframes = [NSMutableArray arrayWithArray:_keyframes]; - NSUInteger idx = [keyframes indexOfObject:self.leadingKeyframe]; - [keyframes replaceObjectAtIndex:idx withObject:newKeyframe]; - self.leadingKeyframe = newKeyframe; - _keyframes = keyframes; - } else if (frame.floatValue == self.trailingKeyframe.keyframeTime.floatValue) { - // Is trailing frame - LOTKeyframe *newKeyframe = [self.trailingKeyframe copyWithData:data]; - NSMutableArray *keyframes = [NSMutableArray arrayWithArray:_keyframes]; - NSUInteger idx = [keyframes indexOfObject:self.trailingKeyframe]; - [keyframes replaceObjectAtIndex:idx withObject:newKeyframe]; - self.trailingKeyframe = newKeyframe; - _keyframes = keyframes; - } else { - // Is between leading and trailing. Either can be nil. - // For now added keyframes will default to linear interpolation. - // TODO BW Add smart bezier interpolation - NSMutableDictionary *keyframeDict = [NSMutableDictionary dictionary]; - keyframeDict[@"s"] = data; - keyframeDict[@"t"] = frame; - LOTKeyframe *keyframe = [[LOTKeyframe alloc] initWithKeyframe:keyframeDict]; - NSMutableArray *newKeyframes = [NSMutableArray arrayWithArray:_keyframes]; - if (self.trailingKeyframe == nil || - self.trailingKeyframe == newKeyframes.lastObject) { - [newKeyframes addObject:keyframe]; - } else { - NSInteger idx = [newKeyframes indexOfObject:self.trailingKeyframe]; - [newKeyframes insertObject:keyframe atIndex:idx]; - } - _keyframes = newKeyframes; - self.leadingKeyframe = nil; - self.trailingKeyframe = nil; - } - - return YES; -} - - (BOOL)hasUpdateForFrame:(NSNumber *)frame { + if (self.hasDelegateOverride) { + return YES; + } /* Cases we dont update keyframe if time is in span and leading keyframe is hold @@ -212,4 +160,8 @@ - (CGFloat)progressForFrame:(NSNumber *)frame { return progession; } +- (void)setValueDelegate:(id _Nonnull)delegate { + NSAssert((NO), @"Interpolator does not support value callbacks"); +} + @end diff --git a/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/LOTAnimatorNode.h b/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/LOTAnimatorNode.h index 4ba456c8..1567e1f7 100644 --- a/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/LOTAnimatorNode.h +++ b/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/LOTAnimatorNode.h @@ -9,6 +9,8 @@ #import #import "LOTPlatformCompat.h" #import "LOTBezierPath.h" +#import "LOTKeypath.h" +#import "LOTValueDelegate.h" extern NSInteger indentation_level; @interface LOTAnimatorNode : NSObject @@ -51,18 +53,11 @@ extern NSInteger indentation_level; /// Rebuild all outputs for the node. This is called after upstream updates have been performed. - (void)rebuildOutputs; -/// Traverses children untill keypath is found and attempts to set the keypath to the value. -- (BOOL)setValue:(nonnull id)value - forKeyAtPath:(nonnull NSString *)keypath - forFrame:(nullable NSNumber *)frame; - -/// Sets the keyframe to the value, to be overwritten by subclasses -- (BOOL)setInterpolatorValue:(nonnull id)value - forKey:(nonnull NSString *)key - forFrame:(nullable NSNumber *)frame; - - (void)logString:(NSString *_Nonnull)string; -- (void)logHierarchyKeypathsWithParent:(NSString * _Nullable)parent; +- (void)searchNodesForKeypath:(LOTKeypath * _Nonnull)keypath; + +- (void)setValueDelegate:(id _Nonnull)delegate + forKeypath:(LOTKeypath * _Nonnull)keypath; @end diff --git a/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/LOTAnimatorNode.m b/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/LOTAnimatorNode.m index fd181cc8..e13d6b9f 100644 --- a/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/LOTAnimatorNode.m +++ b/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/LOTAnimatorNode.m @@ -14,7 +14,6 @@ @implementation LOTAnimatorNode - - (instancetype _Nonnull)initWithInputNode:(LOTAnimatorNode *_Nullable)inputNode keyName:(NSString *_Nullable)keyname { self = [super init]; @@ -98,42 +97,35 @@ - (void)setPathShouldCacheLengths:(BOOL)pathShouldCacheLengths { self.inputNode.pathShouldCacheLengths = pathShouldCacheLengths; } -/// Traverses children untill keypath is found and attempts to set the keypath to the value. -- (BOOL)setValue:(nonnull id)value - forKeyAtPath:(nonnull NSString *)keypath - forFrame:(nullable NSNumber *)frame { - NSArray *components = [keypath componentsSeparatedByString:@"."]; - NSString *firstKey = components.firstObject; - if ([firstKey isEqualToString:self.keyname] && components.count > 1) { - NSString *nextPath = [keypath stringByReplacingCharactersInRange:NSMakeRange(0, firstKey.length + 1) withString:@""]; - return [self setInterpolatorValue:value forKey:nextPath forFrame:frame]; - } - return [self.inputNode setValue:value forKeyAtPath:keypath forFrame:frame]; -} - -/// Sets the keyframe to the value, to be overwritten by subclasses -- (BOOL)setInterpolatorValue:(nonnull id)value - forKey:(nonnull NSString *)key - forFrame:(nullable NSNumber *)frame { - LOTValueInterpolator *interpolator = self.valueInterpolators[key]; - if (interpolator) { - return [interpolator setValue:value atFrame:frame]; +- (void)searchNodesForKeypath:(LOTKeypath * _Nonnull)keypath { + [self.inputNode searchNodesForKeypath:keypath]; + if ([keypath pushKey:self.keyname]) { + // Matches self. Check interpolators + if (keypath.endOfKeypath) { + // Add self + [keypath addSearchResultForCurrentPath:self]; + } else if (self.valueInterpolators[keypath.currentKey] != nil) { + [keypath pushKey:keypath.currentKey]; + // We have a match! + [keypath addSearchResultForCurrentPath:self]; + [keypath popKey]; + } + [keypath popKey]; } - return NO; } -- (void)logHierarchyKeypathsWithParent:(NSString *)parent { - NSString *keypath = self.keyname; - if (parent && self.keyname) { - keypath = [NSString stringWithFormat:@"%@.%@", parent, self.keyname]; - } - if (keypath) { - for (NSString *interpolator in self.valueInterpolators.allKeys) { - [self logString:[NSString stringWithFormat:@"%@.%@", keypath, interpolator]]; +- (void)setValueDelegate:(id _Nonnull)delegate + forKeypath:(LOTKeypath * _Nonnull)keypath { + if ([keypath pushKey:self.keyname]) { + // Matches self. Check interpolators + LOTValueInterpolator *interpolator = self.valueInterpolators[keypath.currentKey]; + if (interpolator) { + // We have a match! + [interpolator setValueDelegate:delegate]; } + [keypath popKey]; } - - [self.inputNode logHierarchyKeypathsWithParent:parent]; + [self.inputNode setValueDelegate:delegate forKeypath:keypath]; } @end diff --git a/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/RenderNodes/LOTFillRenderer.m b/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/RenderNodes/LOTFillRenderer.m index a36c35e0..31aeddfd 100644 --- a/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/RenderNodes/LOTFillRenderer.m +++ b/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/RenderNodes/LOTFillRenderer.m @@ -46,10 +46,10 @@ - (BOOL)needsUpdateForFrame:(NSNumber *)frame { } - (void)performLocalUpdate { - centerPoint_DEBUG.backgroundColor = [colorInterpolator_ colorForFrame:self.currentFrame].CGColor; + centerPoint_DEBUG.backgroundColor = [colorInterpolator_ colorForFrame:self.currentFrame]; centerPoint_DEBUG.borderColor = [UIColor lightGrayColor].CGColor; centerPoint_DEBUG.borderWidth = 2.f; - self.outputLayer.fillColor = [colorInterpolator_ colorForFrame:self.currentFrame].CGColor; + self.outputLayer.fillColor = [colorInterpolator_ colorForFrame:self.currentFrame]; self.outputLayer.opacity = [opacityInterpolator_ floatValueForFrame:self.currentFrame]; } diff --git a/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/RenderNodes/LOTRenderGroup.m b/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/RenderNodes/LOTRenderGroup.m index d063f8d5..e1c78fd2 100644 --- a/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/RenderNodes/LOTRenderGroup.m +++ b/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/RenderNodes/LOTRenderGroup.m @@ -48,11 +48,18 @@ - (instancetype _Nonnull)initWithInputNode:(LOTAnimatorNode * _Nullable)inputNod - (NSDictionary *)valueInterpolators { if (_opacityInterpolator && _transformInterolator) { - return @{@"Transform.Opacity" : _opacityInterpolator, + return @{@"Opacity" : _opacityInterpolator, + @"Position" : _transformInterolator.positionInterpolator, + @"Scale" : _transformInterolator.scaleInterpolator, + @"Rotation" : _transformInterolator.scaleInterpolator, + @"Anchor Point" : _transformInterolator.anchorInterpolator, + // Deprecated + @"Transform.Opacity" : _opacityInterpolator, @"Transform.Position" : _transformInterolator.positionInterpolator, @"Transform.Scale" : _transformInterolator.scaleInterpolator, @"Transform.Rotation" : _transformInterolator.scaleInterpolator, - @"Transform.Anchor Point" : _transformInterolator.anchorInterpolator}; + @"Transform.Anchor Point" : _transformInterolator.anchorInterpolator + }; } return nil; } @@ -176,29 +183,55 @@ - (LOTBezierPath *)outputPath { return _outputPath; } -- (BOOL)setInterpolatorValue:(id)value - forKey:(NSString *)key - forFrame:(NSNumber *)frame { - BOOL interpolatorsSet = [super setInterpolatorValue:value forKey:key forFrame:frame]; - if (interpolatorsSet) { - return YES; +- (void)searchNodesForKeypath:(LOTKeypath * _Nonnull)keypath { + [self.inputNode searchNodesForKeypath:keypath]; + if ([keypath pushKey:self.keyname]) { + // Matches self. Dig deeper. + // Check interpolators + + if ([keypath pushKey:@"Transform"]) { + // Matches a Transform interpolator! + if (self.valueInterpolators[keypath.currentKey] != nil) { + [keypath pushKey:keypath.currentKey]; + [keypath addSearchResultForCurrentPath:self]; + [keypath popKey]; + } + [keypath popKey]; + } + + if (keypath.endOfKeypath) { + // We have a match! + [keypath addSearchResultForCurrentPath:self]; + } + // Check child nodes + [_rootNode searchNodesForKeypath:keypath]; + [keypath popKey]; } - return [_rootNode setValue:value forKeyAtPath:key forFrame:frame]; } -- (void)logHierarchyKeypathsWithParent:(NSString * _Nullable)parent { - NSString *keypath = self.keyname; - if (parent && self.keyname) { - keypath = [NSString stringWithFormat:@"%@.%@", parent, self.keyname]; - } - if (keypath) { - for (NSString *interpolator in self.valueInterpolators.allKeys) { - [self logString:[NSString stringWithFormat:@"%@.%@", keypath, interpolator]]; +- (void)setValueDelegate:(id _Nonnull)delegate + forKeypath:(LOTKeypath * _Nonnull)keypath { + if ([keypath pushKey:self.keyname]) { + // Matches self. Dig deeper. + // Check interpolators + if ([keypath pushKey:@"Transform"]) { + // Matches a Transform interpolator! + LOTValueInterpolator *interpolator = self.valueInterpolators[keypath.currentKey]; + if (interpolator) { + // We have a match! + [interpolator setValueDelegate:delegate]; + } + [keypath popKey]; } - [_rootNode logHierarchyKeypathsWithParent:keypath]; + + // Check child nodes + [_rootNode setValueDelegate:delegate forKeypath:keypath]; + + [keypath popKey]; } - - [self.inputNode logHierarchyKeypathsWithParent:parent]; + + // Check upstream + [self.inputNode setValueDelegate:delegate forKeypath:keypath]; } @end diff --git a/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/RenderNodes/LOTStrokeRenderer.m b/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/RenderNodes/LOTStrokeRenderer.m index bf013e75..125d93bf 100644 --- a/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/RenderNodes/LOTStrokeRenderer.m +++ b/News/Pods/lottie-ios/lottie-ios/Classes/RenderSystem/RenderNodes/LOTStrokeRenderer.m @@ -104,7 +104,7 @@ - (BOOL)needsUpdateForFrame:(NSNumber *)frame { - (void)performLocalUpdate { self.outputLayer.lineDashPhase = [_dashOffsetInterpolator floatValueForFrame:self.currentFrame]; - self.outputLayer.strokeColor = [_colorInterpolator colorForFrame:self.currentFrame].CGColor; + self.outputLayer.strokeColor = [_colorInterpolator colorForFrame:self.currentFrame]; self.outputLayer.lineWidth = [_widthInterpolator floatValueForFrame:self.currentFrame]; self.outputLayer.opacity = [_opacityInterpolator floatValueForFrame:self.currentFrame]; }