From 06a71147e73274d4299e21f12ef1cb5d7f5dfc50 Mon Sep 17 00:00:00 2001 From: mal0070 Date: Wed, 20 Jul 2022 16:16:18 +0900 Subject: [PATCH 01/10] Feat: add MypageCell --- .../xcschemes/xcschememanagement.plist | 39 +++++++ There-iOS.xcodeproj/project.pbxproj | 20 ++++ .../xcschemes/xcschememanagement.plist | 14 +++ .../UserInterfaceState.xcuserstate | Bin 0 -> 42398 bytes .../PortfolioCollectionViewCell.swift | 25 +++++ .../PortfolioCollectionViewCell.xib | 94 +++++++++++++++++ .../MyPageCell/PostCollectionViewCell.swift | 21 ++++ .../MyPageCell/PostCollectionViewCell.xib | 44 ++++++++ .../ProfileCollectionViewCell.swift | 48 +++++++++ .../MyPageCell/ProfileCollectionViewCell.xib | 96 ++++++++++++++++++ There-iOS/MypageViewController.swift | 54 ++++++++-- 11 files changed, 445 insertions(+), 10 deletions(-) create mode 100644 Pods/Pods.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 There-iOS.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 There-iOS.xcworkspace/xcuserdata/imina.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 There-iOS/MyPageCell/PortfolioCollectionViewCell.swift create mode 100644 There-iOS/MyPageCell/PortfolioCollectionViewCell.xib create mode 100644 There-iOS/MyPageCell/PostCollectionViewCell.swift create mode 100644 There-iOS/MyPageCell/PostCollectionViewCell.xib create mode 100644 There-iOS/MyPageCell/ProfileCollectionViewCell.swift create mode 100644 There-iOS/MyPageCell/ProfileCollectionViewCell.xib diff --git a/Pods/Pods.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/xcschememanagement.plist b/Pods/Pods.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..8f2abfa --- /dev/null +++ b/Pods/Pods.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,39 @@ + + + + + SchemeUserState + + Pods-There-iOS.xcscheme_^#shared#^_ + + orderHint + 5 + + RxCocoa.xcscheme_^#shared#^_ + + orderHint + 1 + + RxRelay.xcscheme_^#shared#^_ + + orderHint + 0 + + RxSwift.xcscheme_^#shared#^_ + + orderHint + 4 + + SnapKit.xcscheme_^#shared#^_ + + orderHint + 3 + + Then.xcscheme_^#shared#^_ + + orderHint + 2 + + + + diff --git a/There-iOS.xcodeproj/project.pbxproj b/There-iOS.xcodeproj/project.pbxproj index e72694e..c66ea78 100644 --- a/There-iOS.xcodeproj/project.pbxproj +++ b/There-iOS.xcodeproj/project.pbxproj @@ -54,6 +54,12 @@ 0749CE292882CBA2002B8D36 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 0749CE2B2882CBA2002B8D36 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 0759B2F82886AF9B005B9018 /* BaseNavigationController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BaseNavigationController.swift; sourceTree = ""; }; + 2F3F78DD2887E0D200315FA0 /* PortfolioCollectionViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PortfolioCollectionViewCell.swift; sourceTree = ""; }; + 2F3F78DE2887E0D200315FA0 /* ProfileCollectionViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = ProfileCollectionViewCell.xib; sourceTree = ""; }; + 2F3F78DF2887E0D200315FA0 /* PostCollectionViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PostCollectionViewCell.swift; sourceTree = ""; }; + 2F3F78E02887E0D200315FA0 /* PortfolioCollectionViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = PortfolioCollectionViewCell.xib; sourceTree = ""; }; + 2F3F78E12887E0D200315FA0 /* PostCollectionViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = PostCollectionViewCell.xib; sourceTree = ""; }; + 2F3F78E22887E0D200315FA0 /* ProfileCollectionViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProfileCollectionViewCell.swift; sourceTree = ""; }; 67AA3DBED054395C30105591 /* Pods-There-iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-There-iOS.debug.xcconfig"; path = "Target Support Files/Pods-There-iOS/Pods-There-iOS.debug.xcconfig"; sourceTree = ""; }; B96D23B6861E2422F09BFCD8 /* Pods_There_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_There_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; C33568F03BF2FAD6BC98DC5C /* Pods-There-iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-There-iOS.release.xcconfig"; path = "Target Support Files/Pods-There-iOS/Pods-There-iOS.release.xcconfig"; sourceTree = ""; }; @@ -92,6 +98,7 @@ 0749CE1C2882CB9F002B8D36 /* There-iOS */ = { isa = PBXGroup; children = ( + 2F3F78DC2887E0D200315FA0 /* MyPageCell */, 0749CE1D2882CB9F002B8D36 /* AppDelegate.swift */, 0749CE1F2882CB9F002B8D36 /* SceneDelegate.swift */, 0749CE212882CB9F002B8D36 /* ViewController.swift */, @@ -110,6 +117,19 @@ path = "There-iOS"; sourceTree = ""; }; + 2F3F78DC2887E0D200315FA0 /* MyPageCell */ = { + isa = PBXGroup; + children = ( + 2F3F78DD2887E0D200315FA0 /* PortfolioCollectionViewCell.swift */, + 2F3F78DE2887E0D200315FA0 /* ProfileCollectionViewCell.xib */, + 2F3F78DF2887E0D200315FA0 /* PostCollectionViewCell.swift */, + 2F3F78E02887E0D200315FA0 /* PortfolioCollectionViewCell.xib */, + 2F3F78E12887E0D200315FA0 /* PostCollectionViewCell.xib */, + 2F3F78E22887E0D200315FA0 /* ProfileCollectionViewCell.swift */, + ); + path = MyPageCell; + sourceTree = ""; + }; 5DB207E99A1CE5A8E118618B /* Pods */ = { isa = PBXGroup; children = ( diff --git a/There-iOS.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/xcschememanagement.plist b/There-iOS.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..5ce01fa --- /dev/null +++ b/There-iOS.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,14 @@ + + + + + SchemeUserState + + There-iOS.xcscheme_^#shared#^_ + + orderHint + 6 + + + + diff --git a/There-iOS.xcworkspace/xcuserdata/imina.xcuserdatad/UserInterfaceState.xcuserstate b/There-iOS.xcworkspace/xcuserdata/imina.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..4b88c8e4cf6d7835e0e7603f1282cc6ce0329dda GIT binary patch literal 42398 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/There-iOS/MyPageCell/PostCollectionViewCell.swift b/There-iOS/MyPageCell/PostCollectionViewCell.swift new file mode 100644 index 0000000..53297da --- /dev/null +++ b/There-iOS/MyPageCell/PostCollectionViewCell.swift @@ -0,0 +1,21 @@ +// +// PostCollectionViewCell.swift +// There-iOS +// +// Created by 이민아 on 2022/07/20. +// + +import UIKit + +class PostCollectionViewCell: UICollectionViewCell { + static let identifier = "PostCollectionViewCell" + @IBOutlet weak var postImageView: UIImageView! + + override func awakeFromNib() { + super.awakeFromNib() + setupData() + } + public func setupData(){ + //이미지뷰의 이미지 업로드 [서버연결] + } +} diff --git a/There-iOS/MyPageCell/PostCollectionViewCell.xib b/There-iOS/MyPageCell/PostCollectionViewCell.xib new file mode 100644 index 0000000..5ba0768 --- /dev/null +++ b/There-iOS/MyPageCell/PostCollectionViewCell.xib @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/There-iOS/MyPageCell/ProfileCollectionViewCell.swift b/There-iOS/MyPageCell/ProfileCollectionViewCell.swift new file mode 100644 index 0000000..8fa5fe0 --- /dev/null +++ b/There-iOS/MyPageCell/ProfileCollectionViewCell.swift @@ -0,0 +1,48 @@ +// +// ProfileCollectionViewCell.swift +// There-iOS +// +// Created by 이민아 on 2022/07/20. +// + +import UIKit + +class ProfileCollectionViewCell: UICollectionViewCell { + static let identifier = "ProfileCollectionViewCell" + + @IBOutlet weak var profileImageView: UIImageView! + + @IBOutlet weak var artistLabel: UILabel! + @IBOutlet weak var followerCountLabel: UILabel! + @IBOutlet weak var followingCountLabel: UILabel! + @IBOutlet weak var introduceLabel: UILabel! + + + @IBOutlet weak var artistNoteButton: UIButton! + @IBOutlet weak var editProfileButton: UIButton! + + + override func awakeFromNib() { + super.awakeFromNib() + setUpAttribute() + + } + + func setUpAttribute(){ + profileImageView.layer.cornerRadius = 88 / 2 + profileImageView.layer.borderColor = UIColor.darkGray.cgColor + profileImageView.layer.borderWidth = 1 + + editProfileButton.layer.cornerRadius = 5 + editProfileButton.layer.borderColor = UIColor.lightGray.cgColor + editProfileButton.layer.borderWidth = 1 + + artistNoteButton.layer.cornerRadius = 5 + artistNoteButton.layer.borderColor = UIColor.lightGray.cgColor + artistNoteButton.layer.borderWidth = 1 + + [followerCountLabel,followingCountLabel] + .forEach { $0.text = "\(Int.random(in: 0...10))"} //임시 [서버연결] + } + +} diff --git a/There-iOS/MyPageCell/ProfileCollectionViewCell.xib b/There-iOS/MyPageCell/ProfileCollectionViewCell.xib new file mode 100644 index 0000000..769eebd --- /dev/null +++ b/There-iOS/MyPageCell/ProfileCollectionViewCell.xib @@ -0,0 +1,96 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/There-iOS/MypageViewController.swift b/There-iOS/MypageViewController.swift index 73763ff..cd28411 100644 --- a/There-iOS/MypageViewController.swift +++ b/There-iOS/MypageViewController.swift @@ -14,20 +14,54 @@ class MypageViewController: UIViewController { self.title = title self.view.backgroundColor = bgColor } + + lazy var userName: UILabel = { + let name = UILabel() + name.textColor = .black + name.text = "계정명" + name.layoutMargins = UIEdgeInsets(top: 0, left: 30, bottom: 0, right: 10) + name.snp.makeConstraints { + $0.width.equalTo(100).priority(999) + + } + return name + }() + + lazy var menuBtn: UIImageView = { + let more = UIImageView(image: UIImage(systemName: "text.justifyleft")) + more.then { + $0.contentMode = .scaleAspectFit + $0.clipsToBounds = true + $0.tintColor = .darkGray + }.snp.makeConstraints{ +// $0.height.equalTo(60.0) + $0.width.equalTo(30.0) + } + return more + }() + + + lazy var userInfoStackView: UIStackView = { + let stackView = UIStackView(arrangedSubviews: [userName, menuBtn]) + stackView.axis = .horizontal // default + stackView.distribution = .fill // default + stackView.alignment = .fill // default + view.addSubview(stackView) + + stackView.snp.makeConstraints { + $0.left.equalToSuperview().offset(25.0) + $0.right.equalToSuperview().offset(-25.0) + $0.height.equalTo(80) + } + + return stackView + }() + override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. } - /* - // MARK: - Navigation - - // In a storyboard-based application, you will often want to do a little preparation before navigation - override func prepare(for segue: UIStoryboardSegue, sender: Any?) { - // Get the new view controller using segue.destination. - // Pass the selected object to the new view controller. - } - */ - + } From 178ec83f4e60cb53cc3ab3be29efeb59ca54bd78 Mon Sep 17 00:00:00 2001 From: mal0070 Date: Wed, 27 Jul 2022 15:37:21 +0900 Subject: [PATCH 02/10] =?UTF-8?q?Fix:=20navigation=20custom=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xcschemes/xcschememanagement.plist | 12 +-- There-iOS.xcodeproj/project.pbxproj | 6 +- .../xcschemes/xcschememanagement.plist | 2 +- .../UserInterfaceState.xcuserstate | Bin 42398 -> 69238 bytes .../xcdebugger/Breakpoints_v2.xcbkptlist | 6 ++ There-iOS/Base.lproj/Main.storyboard | 18 +++- There-iOS/MainTabBarController.swift | 2 +- .../PortfolioCollectionViewCell.swift | 2 - .../PortfolioCollectionViewCell.xib | 34 ++---- .../MyPageCell/PostCollectionViewCell.swift | 13 ++- .../MyPageCell/PostCollectionViewCell.xib | 2 +- .../MyPageCell/ProfileCollectionViewCell.xib | 10 +- There-iOS/MyPageView.swift | 60 +++++++++++ There-iOS/MypageViewController.swift | 102 ++++++++++-------- 14 files changed, 168 insertions(+), 101 deletions(-) create mode 100644 There-iOS.xcworkspace/xcuserdata/imina.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist create mode 100644 There-iOS/MyPageView.swift diff --git a/Pods/Pods.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/xcschememanagement.plist b/Pods/Pods.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/xcschememanagement.plist index 8f2abfa..923059a 100644 --- a/Pods/Pods.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/Pods/Pods.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/xcschememanagement.plist @@ -7,32 +7,32 @@ Pods-There-iOS.xcscheme_^#shared#^_ orderHint - 5 + 0 RxCocoa.xcscheme_^#shared#^_ orderHint - 1 + 4 RxRelay.xcscheme_^#shared#^_ orderHint - 0 + 2 RxSwift.xcscheme_^#shared#^_ orderHint - 4 + 3 SnapKit.xcscheme_^#shared#^_ orderHint - 3 + 6 Then.xcscheme_^#shared#^_ orderHint - 2 + 5 diff --git a/There-iOS.xcodeproj/project.pbxproj b/There-iOS.xcodeproj/project.pbxproj index c66ea78..b21cd3e 100644 --- a/There-iOS.xcodeproj/project.pbxproj +++ b/There-iOS.xcodeproj/project.pbxproj @@ -120,11 +120,11 @@ 2F3F78DC2887E0D200315FA0 /* MyPageCell */ = { isa = PBXGroup; children = ( - 2F3F78DD2887E0D200315FA0 /* PortfolioCollectionViewCell.swift */, - 2F3F78DE2887E0D200315FA0 /* ProfileCollectionViewCell.xib */, + 2F3F78E12887E0D200315FA0 /* PostCollectionViewCell.xib */, 2F3F78DF2887E0D200315FA0 /* PostCollectionViewCell.swift */, 2F3F78E02887E0D200315FA0 /* PortfolioCollectionViewCell.xib */, - 2F3F78E12887E0D200315FA0 /* PostCollectionViewCell.xib */, + 2F3F78DD2887E0D200315FA0 /* PortfolioCollectionViewCell.swift */, + 2F3F78DE2887E0D200315FA0 /* ProfileCollectionViewCell.xib */, 2F3F78E22887E0D200315FA0 /* ProfileCollectionViewCell.swift */, ); path = MyPageCell; diff --git a/There-iOS.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/xcschememanagement.plist b/There-iOS.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/xcschememanagement.plist index 5ce01fa..c142247 100644 --- a/There-iOS.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/There-iOS.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/xcschememanagement.plist @@ -7,7 +7,7 @@ There-iOS.xcscheme_^#shared#^_ orderHint - 6 + 1 diff --git a/There-iOS.xcworkspace/xcuserdata/imina.xcuserdatad/UserInterfaceState.xcuserstate b/There-iOS.xcworkspace/xcuserdata/imina.xcuserdatad/UserInterfaceState.xcuserstate index 4b88c8e4cf6d7835e0e7603f1282cc6ce0329dda..6472cfac760d54e9ef6239e38b479fb27712db2f 100644 GIT binary patch literal 69238 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 + + diff --git a/There-iOS/Base.lproj/Main.storyboard b/There-iOS/Base.lproj/Main.storyboard index 25a7638..da3d31e 100644 --- a/There-iOS/Base.lproj/Main.storyboard +++ b/There-iOS/Base.lproj/Main.storyboard @@ -1,24 +1,32 @@ - + + - + + - + - + - + + + + + + + diff --git a/There-iOS/MainTabBarController.swift b/There-iOS/MainTabBarController.swift index 96db6a4..c5013ae 100644 --- a/There-iOS/MainTabBarController.swift +++ b/There-iOS/MainTabBarController.swift @@ -17,7 +17,7 @@ class MainTabBarController: UITabBarController { let homeNC = UINavigationController.init(rootViewController: HomeViewController(bgColor: UIColor.white)) let searchNC = UINavigationController.init(rootViewController: SearchViewController(title: "검색", bgColor: UIColor.white)) let chatNC = UINavigationController.init(rootViewController: ChatViewController(title: "채팅", bgColor: UIColor.white)) - let mypageNC = UINavigationController.init(rootViewController: MypageViewController(title: "마이페이지", bgColor: UIColor.white)) + let mypageNC = UINavigationController.init(rootViewController: MypageViewController(bgColor: UIColor.white)) let moreNC = UINavigationController.init(rootViewController: MoreViewController(title: "기타", bgColor: UIColor.white)) self.viewControllers = [homeNC, searchNC, chatNC, mypageNC, moreNC] diff --git a/There-iOS/MyPageCell/PortfolioCollectionViewCell.swift b/There-iOS/MyPageCell/PortfolioCollectionViewCell.swift index 06c1c5b..24e3bd1 100644 --- a/There-iOS/MyPageCell/PortfolioCollectionViewCell.swift +++ b/There-iOS/MyPageCell/PortfolioCollectionViewCell.swift @@ -13,9 +13,7 @@ class PortfolioCollectionViewCell: UICollectionViewCell { @IBOutlet weak var portImageView: UIImageView! @IBOutlet weak var portTitleLabel: UILabel! @IBOutlet weak var portCountLabel: UILabel! - @IBOutlet weak var viewerCountLabel: UILabel! @IBOutlet weak var likeCountLabel: UILabel! - @IBOutlet weak var commentCountLabel: UILabel! override func awakeFromNib() { super.awakeFromNib() diff --git a/There-iOS/MyPageCell/PortfolioCollectionViewCell.xib b/There-iOS/MyPageCell/PortfolioCollectionViewCell.xib index 415496c..d521b09 100644 --- a/There-iOS/MyPageCell/PortfolioCollectionViewCell.xib +++ b/There-iOS/MyPageCell/PortfolioCollectionViewCell.xib @@ -9,7 +9,7 @@ - + @@ -27,8 +27,8 @@ - - + + - - - - - + - - - - - - diff --git a/There-iOS/MyPageCell/PostCollectionViewCell.swift b/There-iOS/MyPageCell/PostCollectionViewCell.swift index 53297da..b86bf3c 100644 --- a/There-iOS/MyPageCell/PostCollectionViewCell.swift +++ b/There-iOS/MyPageCell/PostCollectionViewCell.swift @@ -6,6 +6,7 @@ // import UIKit +import Kingfisher //설치해야함 class PostCollectionViewCell: UICollectionViewCell { static let identifier = "PostCollectionViewCell" @@ -15,7 +16,15 @@ class PostCollectionViewCell: UICollectionViewCell { super.awakeFromNib() setupData() } - public func setupData(){ + + public func setupData(_ imageURLStr: String?){ + //imageView의 이미지를 업로드한다. + guard let imageURLStr = imageURLStr else {return } + + if let url = URL(string: imageURLStr){ + postImageView.kf.setImage(with: url, + placeholder: UIImage(systemName: "photo")) + } + } //이미지뷰의 이미지 업로드 [서버연결] - } } diff --git a/There-iOS/MyPageCell/PostCollectionViewCell.xib b/There-iOS/MyPageCell/PostCollectionViewCell.xib index 5ba0768..2035716 100644 --- a/There-iOS/MyPageCell/PostCollectionViewCell.xib +++ b/There-iOS/MyPageCell/PostCollectionViewCell.xib @@ -10,7 +10,7 @@ - + diff --git a/There-iOS/MyPageCell/ProfileCollectionViewCell.xib b/There-iOS/MyPageCell/ProfileCollectionViewCell.xib index 769eebd..0d9fcd6 100644 --- a/There-iOS/MyPageCell/ProfileCollectionViewCell.xib +++ b/There-iOS/MyPageCell/ProfileCollectionViewCell.xib @@ -9,11 +9,11 @@ - - + + - + - + @@ -90,7 +90,7 @@ - + diff --git a/There-iOS/MyPageView.swift b/There-iOS/MyPageView.swift new file mode 100644 index 0000000..a956eaa --- /dev/null +++ b/There-iOS/MyPageView.swift @@ -0,0 +1,60 @@ +// +// MyPageView.swift +// There-iOS +// +// Created by 이민아 on 2022/07/20. +// + +import UIKit + +class MyPageView: UIView { + + //상단바 + lazy var userName: UILabel = { + let name = UILabel() + name.textColor = .black + name.text = "계정명" //서버연동 + name.layoutMargins = UIEdgeInsets(top: 0, left: 30, bottom: 0, right: 10) + name.snp.makeConstraints { + $0.width.equalTo(100).priority(999) + + } + return name + }() + + lazy var addBtn: UIImageView = { + let add = UIImageView(image: UIImage(systemName: "plus")) + add.then { + $0.contentMode = .scaleAspectFit + $0.clipsToBounds = true + $0.tintColor = .darkGray + }.snp.makeConstraints{ +// $0.height.equalTo(60.0) + $0.width.equalTo(30.0) + } + return add + }() + + + lazy var TopStackView: UIStackView = { + let stackView = UIStackView(arrangedSubviews: [userName, addBtn]) + stackView.axis = .horizontal // default + stackView.distribution = .fill // default + stackView.alignment = .fill // default + view.addSubview(stackView) + + stackView.snp.makeConstraints { + $0.left.equalToSuperview().offset(25.0) + $0.right.equalToSuperview().offset(-25.0) + $0.height.equalTo(80) + } + + return stackView + }() + + + //profile cell 등록 + MypageView.register(UINib(nibName: "ProfileCollectionViewCell", bundle: nil), forCellWithReuseIdentifier: ProfileCollectionViewCell.identifier) + + +} diff --git a/There-iOS/MypageViewController.swift b/There-iOS/MypageViewController.swift index cd28411..48b341c 100644 --- a/There-iOS/MypageViewController.swift +++ b/There-iOS/MypageViewController.swift @@ -6,62 +6,70 @@ // import UIKit +import SnapKit +import Then class MypageViewController: UIViewController { - - convenience init(title: String, bgColor: UIColor) { + convenience init(bgColor: UIColor) { self.init() - self.title = title - self.view.backgroundColor = bgColor + view.backgroundColor = bgColor } + - lazy var userName: UILabel = { - let name = UILabel() - name.textColor = .black - name.text = "계정명" - name.layoutMargins = UIEdgeInsets(top: 0, left: 30, bottom: 0, right: 10) - name.snp.makeConstraints { - $0.width.equalTo(100).priority(999) - - } - return name + //collectionView 선언 + let myPageCollectionView: UICollectionView! = { + let layout = UICollectionViewFlowLayout() + layout.minimumLineSpacing = 1 + + layout.scrollDirection = .vertical + layout.sectionInset = .zero + + let cv = UICollectionView(frame: .zero, collectionViewLayout: layout) + cv.backgroundColor = .white + + + return cv }() - lazy var menuBtn: UIImageView = { - let more = UIImageView(image: UIImage(systemName: "text.justifyleft")) - more.then { - $0.contentMode = .scaleAspectFit - $0.clipsToBounds = true - $0.tintColor = .darkGray - }.snp.makeConstraints{ -// $0.height.equalTo(60.0) - $0.width.equalTo(30.0) - } - return more - }() - - - lazy var userInfoStackView: UIStackView = { - let stackView = UIStackView(arrangedSubviews: [userName, menuBtn]) - stackView.axis = .horizontal // default - stackView.distribution = .fill // default - stackView.alignment = .fill // default - view.addSubview(stackView) - - stackView.snp.makeConstraints { - $0.left.equalToSuperview().offset(25.0) - $0.right.equalToSuperview().offset(-25.0) - $0.height.equalTo(80) - } - - return stackView - }() override func viewDidLoad() { - super.viewDidLoad() - // Do any additional setup after loading the view. + super.viewDidLoad() + setUpNavigationBar() + } - - } + +private extension MypageViewController{ + func setUpNavigationBar(){ + + let userName = UILabel() + userName.textColor = .black + userName.text = "계정명" + userName.font = UIFont(name: "Plain", size:30) + navigationItem.leftBarButtonItem = UIBarButtonItem(customView: userName) + + + + let uploadButton = UIButton(type:.custom) + uploadButton.setImage(UIImage(systemName: "plus"), for: .normal) + uploadButton.tintColor = .black + //uploadButton.addTarget(self, action: #selector(buttonTapped(sender:)), for: .touchUpInside) + + let upload = UIBarButtonItem(customView: uploadButton) + upload.customView?.translatesAutoresizingMaskIntoConstraints = false + upload.customView?.heightAnchor.constraint(equalToConstant: 30).isActive = true + upload.customView?.widthAnchor.constraint(equalToConstant: 30).isActive = true + + navigationItem.rightBarButtonItem = upload + + /* + @objc func buttonTapped(sender: UIButton){ + print("post작성화면으로 넘어가기") + } + */ + + } +} + + From 8fc83d502a8919a1fc3c4469eafe4af925d87158 Mon Sep 17 00:00:00 2001 From: mal0070 Date: Thu, 28 Jul 2022 02:32:33 +0900 Subject: [PATCH 03/10] Design: profileCell re-set --- .../xcschemes/xcschememanagement.plist | 12 +- There-iOS.xcodeproj/project.pbxproj | 8 +- .../xcschemes/xcschememanagement.plist | 2 +- .../UserInterfaceState.xcuserstate | Bin 69238 -> 69755 bytes .../ProfileCollectionViewCell.swift | 48 ------- .../MyPageCell/ProfileCollectionViewCell.xib | 96 -------------- There-iOS/MypageViewController.swift | 119 +++++++++++++++--- There-iOS/ProfileDataView.swift | 56 +++++++++ 8 files changed, 170 insertions(+), 171 deletions(-) delete mode 100644 There-iOS/MyPageCell/ProfileCollectionViewCell.swift delete mode 100644 There-iOS/MyPageCell/ProfileCollectionViewCell.xib create mode 100644 There-iOS/ProfileDataView.swift diff --git a/Pods/Pods.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/xcschememanagement.plist b/Pods/Pods.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/xcschememanagement.plist index 923059a..4cc97fa 100644 --- a/Pods/Pods.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/Pods/Pods.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/xcschememanagement.plist @@ -7,32 +7,32 @@ Pods-There-iOS.xcscheme_^#shared#^_ orderHint - 0 + 3 RxCocoa.xcscheme_^#shared#^_ orderHint - 4 + 0 RxRelay.xcscheme_^#shared#^_ orderHint - 2 + 5 RxSwift.xcscheme_^#shared#^_ orderHint - 3 + 1 SnapKit.xcscheme_^#shared#^_ orderHint - 6 + 2 Then.xcscheme_^#shared#^_ orderHint - 5 + 6 diff --git a/There-iOS.xcodeproj/project.pbxproj b/There-iOS.xcodeproj/project.pbxproj index b21cd3e..786f216 100644 --- a/There-iOS.xcodeproj/project.pbxproj +++ b/There-iOS.xcodeproj/project.pbxproj @@ -22,6 +22,7 @@ 0759B2F52886A994005B9018 /* Pods_There_iOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B96D23B6861E2422F09BFCD8 /* Pods_There_iOS.framework */; }; 0759B2F62886A994005B9018 /* Pods_There_iOS.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B96D23B6861E2422F09BFCD8 /* Pods_There_iOS.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 0759B2F92886AF9B005B9018 /* BaseNavigationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0759B2F82886AF9B005B9018 /* BaseNavigationController.swift */; }; + 2F6296642891A3B500331A53 /* ProfileDataView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F6296632891A3B500331A53 /* ProfileDataView.swift */; }; /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -55,11 +56,10 @@ 0749CE2B2882CBA2002B8D36 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 0759B2F82886AF9B005B9018 /* BaseNavigationController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BaseNavigationController.swift; sourceTree = ""; }; 2F3F78DD2887E0D200315FA0 /* PortfolioCollectionViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PortfolioCollectionViewCell.swift; sourceTree = ""; }; - 2F3F78DE2887E0D200315FA0 /* ProfileCollectionViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = ProfileCollectionViewCell.xib; sourceTree = ""; }; 2F3F78DF2887E0D200315FA0 /* PostCollectionViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PostCollectionViewCell.swift; sourceTree = ""; }; 2F3F78E02887E0D200315FA0 /* PortfolioCollectionViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = PortfolioCollectionViewCell.xib; sourceTree = ""; }; 2F3F78E12887E0D200315FA0 /* PostCollectionViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = PostCollectionViewCell.xib; sourceTree = ""; }; - 2F3F78E22887E0D200315FA0 /* ProfileCollectionViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProfileCollectionViewCell.swift; sourceTree = ""; }; + 2F6296632891A3B500331A53 /* ProfileDataView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProfileDataView.swift; sourceTree = ""; }; 67AA3DBED054395C30105591 /* Pods-There-iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-There-iOS.debug.xcconfig"; path = "Target Support Files/Pods-There-iOS/Pods-There-iOS.debug.xcconfig"; sourceTree = ""; }; B96D23B6861E2422F09BFCD8 /* Pods_There_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_There_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; C33568F03BF2FAD6BC98DC5C /* Pods-There-iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-There-iOS.release.xcconfig"; path = "Target Support Files/Pods-There-iOS/Pods-There-iOS.release.xcconfig"; sourceTree = ""; }; @@ -110,6 +110,7 @@ 0712BC9828868D880017A81F /* SearchViewController.swift */, 0712BC9A28868D970017A81F /* ChatViewController.swift */, 0712BC9C28868DA00017A81F /* MypageViewController.swift */, + 2F6296632891A3B500331A53 /* ProfileDataView.swift */, 0712BC9E28868DD20017A81F /* MoreViewController.swift */, 0712BCA0288698AD0017A81F /* MainTabBarController.swift */, 0759B2F82886AF9B005B9018 /* BaseNavigationController.swift */, @@ -124,8 +125,6 @@ 2F3F78DF2887E0D200315FA0 /* PostCollectionViewCell.swift */, 2F3F78E02887E0D200315FA0 /* PortfolioCollectionViewCell.xib */, 2F3F78DD2887E0D200315FA0 /* PortfolioCollectionViewCell.swift */, - 2F3F78DE2887E0D200315FA0 /* ProfileCollectionViewCell.xib */, - 2F3F78E22887E0D200315FA0 /* ProfileCollectionViewCell.swift */, ); path = MyPageCell; sourceTree = ""; @@ -270,6 +269,7 @@ 0749CE1E2882CB9F002B8D36 /* AppDelegate.swift in Sources */, 0749CE202882CB9F002B8D36 /* SceneDelegate.swift in Sources */, 0712BC9F28868DD20017A81F /* MoreViewController.swift in Sources */, + 2F6296642891A3B500331A53 /* ProfileDataView.swift in Sources */, 0712BC9B28868D970017A81F /* ChatViewController.swift in Sources */, 0759B2F92886AF9B005B9018 /* BaseNavigationController.swift in Sources */, 0712BC9728868D770017A81F /* HomeViewController.swift in Sources */, diff --git a/There-iOS.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/xcschememanagement.plist b/There-iOS.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/xcschememanagement.plist index c142247..dbb061c 100644 --- a/There-iOS.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/There-iOS.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/xcschememanagement.plist @@ -7,7 +7,7 @@ There-iOS.xcscheme_^#shared#^_ orderHint - 1 + 4 diff --git a/There-iOS.xcworkspace/xcuserdata/imina.xcuserdatad/UserInterfaceState.xcuserstate b/There-iOS.xcworkspace/xcuserdata/imina.xcuserdatad/UserInterfaceState.xcuserstate index 6472cfac760d54e9ef6239e38b479fb27712db2f..38d89658a1536bae8bb3a698b9abd01535cec0a3 100644 GIT binary patch literal 69755 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 literal 69238 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 kw&|PGlhf1FukJ3pEBT<8hes3;;QbcU - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/There-iOS/MypageViewController.swift b/There-iOS/MypageViewController.swift index 48b341c..170f01c 100644 --- a/There-iOS/MypageViewController.swift +++ b/There-iOS/MypageViewController.swift @@ -9,45 +9,86 @@ import UIKit import SnapKit import Then -class MypageViewController: UIViewController { +class MypageViewController: UIViewController{ + convenience init(bgColor: UIColor) { self.init() view.backgroundColor = bgColor } - - //collectionView 선언 - let myPageCollectionView: UICollectionView! = { - let layout = UICollectionViewFlowLayout() - layout.minimumLineSpacing = 1 + private lazy var profileImageView: UIImageView = { + let imageView = UIImageView() + imageView.layer.cornerRadius = 40.0 + imageView.layer.borderWidth = 1 + imageView.layer.borderColor = UIColor.quaternaryLabel.cgColor + + return imageView + }() + + private lazy var nameLabel: UILabel = { + let label = UILabel() + label.text = "작가이름" + label.font = .systemFont(ofSize: 18.0, weight: .semibold) - layout.scrollDirection = .vertical - layout.sectionInset = .zero + return label + }() + + private lazy var descriptionLabel: UILabel = { + let label = UILabel() + label.text = "이곳에 개인 설명을 작성합니다" + label.font = .systemFont(ofSize: 14.0, weight: .medium) + label.numberOfLines = 0 //아무리 글자가 많아지더라도 계속 화면에 보이도록 - let cv = UICollectionView(frame: .zero, collectionViewLayout: layout) - cv.backgroundColor = .white + return label + }() + + private lazy var artistNoteButton: UIButton = { + let button = UIButton() + button.setTitle("작가노트", for: .normal) + button.setTitleColor(.label, for: .normal) + button.titleLabel?.font = .systemFont(ofSize: 15.0, weight: .medium) + button.backgroundColor = .lightGray + button.layer.cornerRadius = 15.0 - return cv + return button }() + private lazy var EditProfileButton: UIButton = { + var button = UIButton() + button.setTitle("프로필편집", for: .normal) + button.setTitleColor(.label, for: .normal) + button.titleLabel?.font = .systemFont(ofSize: 15.0, weight: .medium) + button.backgroundColor = .lightGray + + button.layer.cornerRadius = 15.0 + + return button + }() + + private let followerDataView = ProfileDataView(title:"팔로워", count:1111) + private let followingDataView = ProfileDataView(title:"팔로우", count:12) + + override func viewDidLoad() { super.viewDidLoad() setUpNavigationBar() + setUpLayOut() } } + private extension MypageViewController{ func setUpNavigationBar(){ - let userName = UILabel() - userName.textColor = .black - userName.text = "계정명" - userName.font = UIFont(name: "Plain", size:30) - navigationItem.leftBarButtonItem = UIBarButtonItem(customView: userName) + let userID = UILabel() + userID.textColor = .black + userID.text = "계정명" + userID.font = UIFont(name: "Plain", size:30) + navigationItem.leftBarButtonItem = UIBarButtonItem(customView: userID) @@ -68,7 +109,53 @@ private extension MypageViewController{ print("post작성화면으로 넘어가기") } */ + } + + func setUpLayOut(){ + let buttonStackView = UIStackView(arrangedSubviews: [artistNoteButton,EditProfileButton]) + buttonStackView.spacing = 4.0 + buttonStackView.distribution = .fillProportionally + + let dataStackView = UIStackView(arrangedSubviews: [followerDataView,followingDataView]) + dataStackView.spacing = 12.0 + + + + [profileImageView, nameLabel, dataStackView, descriptionLabel, buttonStackView].forEach{view.addSubview($0)} + + let inset: CGFloat = 16.0 + + profileImageView.snp.makeConstraints{ + $0.top.equalTo(view.safeAreaLayoutGuide).inset(inset) + $0.leading.equalToSuperview().inset(inset) + $0.width.equalTo(80.0) + $0.height.equalTo(profileImageView.snp.width) + } + + nameLabel.snp.makeConstraints{ + $0.leading.equalTo(profileImageView.snp.trailing).offset(inset) + $0.trailing.equalToSuperview().inset(inset) + } + + dataStackView.snp.makeConstraints{ + $0.top.equalTo(nameLabel.snp.bottom).offset(6.0) + $0.leading.equalTo(profileImageView.snp.trailing).offset(inset) + //$0.trailing.equalToSuperview().inset(inset) + $0.centerY.equalTo(profileImageView.snp.centerY) //중앙정렬 + } + + descriptionLabel.snp.makeConstraints{ + $0.top.equalTo(profileImageView.snp.bottom).offset(12.0) + $0.leading.equalTo(profileImageView.snp.leading) + $0.trailing.equalToSuperview().inset(inset) + } + + buttonStackView.snp.makeConstraints{ + $0.top.equalTo(descriptionLabel.snp.bottom).offset(6.0) + $0.leading.equalTo(descriptionLabel.snp.leading) + $0.trailing.equalTo(descriptionLabel.snp.trailing) + } } } diff --git a/There-iOS/ProfileDataView.swift b/There-iOS/ProfileDataView.swift new file mode 100644 index 0000000..9a04503 --- /dev/null +++ b/There-iOS/ProfileDataView.swift @@ -0,0 +1,56 @@ +// +// ProfileDataView.swift +// There-iOS +// +// Created by 이민아 on 2022/07/28. +// + +import SnapKit +import UIKit + +final class ProfileDataView: UIView { + private let title: String + private let count: Int + + private lazy var titleLabel: UILabel = { + let label = UILabel() + label.font = .systemFont(ofSize: 14.0, weight: .medium) + label.text = title + + return label + }() + + private lazy var countLabel: UILabel = { + let label = UILabel() + label.font = .systemFont(ofSize: 16.0, weight: .medium) + label.text = "\(count)" + + return label + }() + + init(title: String, count: Int){ + self.title = title + self.count = count + + super.init(frame: .zero) + + setupLayOut() + } + + required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } +} + +private extension ProfileDataView{ + func setupLayOut(){ + let stackView = UIStackView(arrangedSubviews: [titleLabel, countLabel]) + stackView.axis = .horizontal //방향 + //stackView.alignment = .center + stackView.spacing = 3.0 + + addSubview(stackView) + stackView.snp.makeConstraints{ $0.edges.equalToSuperview()} + } +} + From a26d4d48231d75ca74b8653e2158c7aa38acecec Mon Sep 17 00:00:00 2001 From: mal0070 Date: Thu, 28 Jul 2022 15:33:52 +0900 Subject: [PATCH 04/10] Feat: SegmentedControl --- .../xcschemes/xcschememanagement.plist | 10 +-- There-iOS.xcodeproj/project.pbxproj | 16 +++- .../UserInterfaceState.xcuserstate | Bin 69755 -> 93615 bytes There-iOS/MyPage/MyPageSegmentedControl.swift | 59 ++++++++++++ .../{ => MyPage}/MypageViewController.swift | 84 ++++++++++++++++-- There-iOS/{ => MyPage}/ProfileDataView.swift | 0 6 files changed, 157 insertions(+), 12 deletions(-) create mode 100644 There-iOS/MyPage/MyPageSegmentedControl.swift rename There-iOS/{ => MyPage}/MypageViewController.swift (64%) rename There-iOS/{ => MyPage}/ProfileDataView.swift (100%) diff --git a/Pods/Pods.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/xcschememanagement.plist b/Pods/Pods.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/xcschememanagement.plist index 4cc97fa..845ff4c 100644 --- a/Pods/Pods.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/Pods/Pods.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/xcschememanagement.plist @@ -7,27 +7,27 @@ Pods-There-iOS.xcscheme_^#shared#^_ orderHint - 3 + 0 RxCocoa.xcscheme_^#shared#^_ orderHint - 0 + 3 RxRelay.xcscheme_^#shared#^_ orderHint - 5 + 1 RxSwift.xcscheme_^#shared#^_ orderHint - 1 + 2 SnapKit.xcscheme_^#shared#^_ orderHint - 2 + 5 Then.xcscheme_^#shared#^_ diff --git a/There-iOS.xcodeproj/project.pbxproj b/There-iOS.xcodeproj/project.pbxproj index 786f216..7c3d549 100644 --- a/There-iOS.xcodeproj/project.pbxproj +++ b/There-iOS.xcodeproj/project.pbxproj @@ -23,6 +23,7 @@ 0759B2F62886A994005B9018 /* Pods_There_iOS.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B96D23B6861E2422F09BFCD8 /* Pods_There_iOS.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 0759B2F92886AF9B005B9018 /* BaseNavigationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0759B2F82886AF9B005B9018 /* BaseNavigationController.swift */; }; 2F6296642891A3B500331A53 /* ProfileDataView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F6296632891A3B500331A53 /* ProfileDataView.swift */; }; + 2F6296662891AF0700331A53 /* MyPageSegmentedControl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F6296652891AF0700331A53 /* MyPageSegmentedControl.swift */; }; /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -60,6 +61,7 @@ 2F3F78E02887E0D200315FA0 /* PortfolioCollectionViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = PortfolioCollectionViewCell.xib; sourceTree = ""; }; 2F3F78E12887E0D200315FA0 /* PostCollectionViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = PostCollectionViewCell.xib; sourceTree = ""; }; 2F6296632891A3B500331A53 /* ProfileDataView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProfileDataView.swift; sourceTree = ""; }; + 2F6296652891AF0700331A53 /* MyPageSegmentedControl.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MyPageSegmentedControl.swift; sourceTree = ""; }; 67AA3DBED054395C30105591 /* Pods-There-iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-There-iOS.debug.xcconfig"; path = "Target Support Files/Pods-There-iOS/Pods-There-iOS.debug.xcconfig"; sourceTree = ""; }; B96D23B6861E2422F09BFCD8 /* Pods_There_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_There_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; C33568F03BF2FAD6BC98DC5C /* Pods-There-iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-There-iOS.release.xcconfig"; path = "Target Support Files/Pods-There-iOS/Pods-There-iOS.release.xcconfig"; sourceTree = ""; }; @@ -109,8 +111,7 @@ 0712BC9628868D770017A81F /* HomeViewController.swift */, 0712BC9828868D880017A81F /* SearchViewController.swift */, 0712BC9A28868D970017A81F /* ChatViewController.swift */, - 0712BC9C28868DA00017A81F /* MypageViewController.swift */, - 2F6296632891A3B500331A53 /* ProfileDataView.swift */, + 2F6296672891AF1900331A53 /* MyPage */, 0712BC9E28868DD20017A81F /* MoreViewController.swift */, 0712BCA0288698AD0017A81F /* MainTabBarController.swift */, 0759B2F82886AF9B005B9018 /* BaseNavigationController.swift */, @@ -129,6 +130,16 @@ path = MyPageCell; sourceTree = ""; }; + 2F6296672891AF1900331A53 /* MyPage */ = { + isa = PBXGroup; + children = ( + 0712BC9C28868DA00017A81F /* MypageViewController.swift */, + 2F6296632891A3B500331A53 /* ProfileDataView.swift */, + 2F6296652891AF0700331A53 /* MyPageSegmentedControl.swift */, + ); + path = MyPage; + sourceTree = ""; + }; 5DB207E99A1CE5A8E118618B /* Pods */ = { isa = PBXGroup; children = ( @@ -269,6 +280,7 @@ 0749CE1E2882CB9F002B8D36 /* AppDelegate.swift in Sources */, 0749CE202882CB9F002B8D36 /* SceneDelegate.swift in Sources */, 0712BC9F28868DD20017A81F /* MoreViewController.swift in Sources */, + 2F6296662891AF0700331A53 /* MyPageSegmentedControl.swift in Sources */, 2F6296642891A3B500331A53 /* ProfileDataView.swift in Sources */, 0712BC9B28868D970017A81F /* ChatViewController.swift in Sources */, 0759B2F92886AF9B005B9018 /* BaseNavigationController.swift in Sources */, diff --git a/There-iOS.xcworkspace/xcuserdata/imina.xcuserdatad/UserInterfaceState.xcuserstate b/There-iOS.xcworkspace/xcuserdata/imina.xcuserdatad/UserInterfaceState.xcuserstate index 38d89658a1536bae8bb3a698b9abd01535cec0a3..1dad5534dcb01a71070ef611f13629bbb8eb1686 100644 GIT binary patch literal 93615 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 diff --git a/There-iOS/MyPage/MyPageSegmentedControl.swift b/There-iOS/MyPage/MyPageSegmentedControl.swift new file mode 100644 index 0000000..f01a894 --- /dev/null +++ b/There-iOS/MyPage/MyPageSegmentedControl.swift @@ -0,0 +1,59 @@ +// +// MyPageSegmentedControl.swift +// There-iOS +// +// Created by 이민아 on 2022/07/28. +// + +import UIKit + +final class MyPageSegmentedControl: UISegmentedControl { + + //회색 배경과 divider 지움 + override init(frame: CGRect) { + super.init(frame: frame) + self.removeBackgroundAndDivider() + } + override init(items: [Any]?) { + super.init(items: items) + self.removeBackgroundAndDivider() + } + required init?(coder: NSCoder) { + fatalError() + } + + private func removeBackgroundAndDivider() { + let image = UIImage() + self.setBackgroundImage(image, for: .normal, barMetrics: .default) + self.setBackgroundImage(image, for: .selected, barMetrics: .default) + self.setBackgroundImage(image, for: .highlighted, barMetrics: .default) + + self.setDividerImage(image, forLeftSegmentState: .selected, rightSegmentState: .normal, barMetrics: .default) + } + + //언더라인 추가 + private lazy var underlineView: UIView = { + let width = self.bounds.size.width / CGFloat(self.numberOfSegments) + let height = 2.0 + let xPosition = CGFloat(self.selectedSegmentIndex * Int(width)) + let yPosition = self.bounds.size.height - 1.0 + let frame = CGRect(x: xPosition, y: yPosition, width: width, height: height) + let view = UIView(frame: frame) + view.backgroundColor = .lightGray + self.addSubview(view) + return view + }() + + override func layoutSubviews() { + super.layoutSubviews() + + let underlineFinalXPosition = (self.bounds.width / CGFloat(self.numberOfSegments)) * CGFloat(self.selectedSegmentIndex) + UIView.animate( + withDuration: 0.1, + animations: { + self.underlineView.frame.origin.x = underlineFinalXPosition + } + ) + } + +} diff --git a/There-iOS/MypageViewController.swift b/There-iOS/MyPage/MypageViewController.swift similarity index 64% rename from There-iOS/MypageViewController.swift rename to There-iOS/MyPage/MypageViewController.swift index 170f01c..f55bd6b 100644 --- a/There-iOS/MypageViewController.swift +++ b/There-iOS/MyPage/MypageViewController.swift @@ -69,18 +69,81 @@ class MypageViewController: UIViewController{ private let followerDataView = ProfileDataView(title:"팔로워", count:1111) private let followingDataView = ProfileDataView(title:"팔로우", count:12) - + + + private let segmentedControl: UISegmentedControl = { + let postSectionImage = UIImage(systemName: "square.grid.2x2") + let porfolSectionImage = UIImage(systemName: "folder") + + let control = UISegmentedControl(items:[postSectionImage ?? UIImage(),porfolSectionImage! ]) + control.translatesAutoresizingMaskIntoConstraints = false + return control + }() + + let firstView: UIView = { + let view = UIView() + view.backgroundColor = .green + view.translatesAutoresizingMaskIntoConstraints = false + return view + }() + + let secondView: UIView = { + let view = UIView() + view.backgroundColor = .yellow + view.translatesAutoresizingMaskIntoConstraints = false + return view + }() + + var shouldHideFirstView: Bool? { + didSet { + guard let shouldHideFirstView = self.shouldHideFirstView else { return } + self.firstView.isHidden = shouldHideFirstView + self.secondView.isHidden = !self.firstView.isHidden + } + } + override func viewDidLoad() { super.viewDidLoad() setUpNavigationBar() setUpLayOut() + self.view.addSubview(self.segmentedControl) + self.view.addSubview(self.firstView) + self.view.addSubview(self.secondView) + + + NSLayoutConstraint.activate([ + self.firstView.leftAnchor.constraint(equalTo: self.segmentedControl.leftAnchor), + self.firstView.rightAnchor.constraint(equalTo: self.segmentedControl.rightAnchor), + self.firstView.bottomAnchor.constraint(equalTo: self.view.bottomAnchor, constant: -80), + self.firstView.topAnchor.constraint(equalTo: self.segmentedControl.bottomAnchor, constant: 16), + ]) + NSLayoutConstraint.activate([ + self.secondView.leftAnchor.constraint(equalTo: self.firstView.leftAnchor), + self.secondView.rightAnchor.constraint(equalTo: self.firstView.rightAnchor), + self.secondView.bottomAnchor.constraint(equalTo: self.firstView.bottomAnchor), + self.secondView.topAnchor.constraint(equalTo: self.firstView.topAnchor), + ]) - } + + self.segmentedControl.addTarget(self, action: #selector(didChangeValue(segment:)), for: .valueChanged) + + self.segmentedControl.selectedSegmentIndex = 0 + self.didChangeValue(segment: self.segmentedControl) + } + + + @objc private func didChangeValue(segment: UISegmentedControl) { + self.shouldHideFirstView = segment.selectedSegmentIndex != 0 + } + } + + + private extension MypageViewController{ func setUpNavigationBar(){ @@ -109,8 +172,7 @@ private extension MypageViewController{ print("post작성화면으로 넘어가기") } */ - } - + } func setUpLayOut(){ let buttonStackView = UIStackView(arrangedSubviews: [artistNoteButton,EditProfileButton]) @@ -122,7 +184,7 @@ private extension MypageViewController{ - [profileImageView, nameLabel, dataStackView, descriptionLabel, buttonStackView].forEach{view.addSubview($0)} + [profileImageView, nameLabel, dataStackView, descriptionLabel, buttonStackView, segmentedControl].forEach{view.addSubview($0)} let inset: CGFloat = 16.0 @@ -156,7 +218,19 @@ private extension MypageViewController{ $0.leading.equalTo(descriptionLabel.snp.leading) $0.trailing.equalTo(descriptionLabel.snp.trailing) } + + segmentedControl.snp.makeConstraints{ + $0.top.equalTo(buttonStackView.snp.bottom).offset(6.0) + $0.leading.equalTo(descriptionLabel.snp.leading) + $0.trailing.equalTo(descriptionLabel.snp.trailing) + } + + } + + + + } diff --git a/There-iOS/ProfileDataView.swift b/There-iOS/MyPage/ProfileDataView.swift similarity index 100% rename from There-iOS/ProfileDataView.swift rename to There-iOS/MyPage/ProfileDataView.swift From e6952a99ea2231839d48d81d5ec05d7c9641d612 Mon Sep 17 00:00:00 2001 From: mal0070 Date: Thu, 28 Jul 2022 17:00:17 +0900 Subject: [PATCH 05/10] Feat: PostCollectionViewCell add --- .../xcschemes/xcschememanagement.plist | 10 +-- There-iOS.xcodeproj/project.pbxproj | 12 ++-- .../xcschemes/xcschememanagement.plist | 2 +- .../UserInterfaceState.xcuserstate | Bin 93615 -> 91854 bytes There-iOS/MyPage/MyPageSegmentedControl.swift | 59 ---------------- There-iOS/MyPage/MypageViewController.swift | 64 +++++++++++++----- There-iOS/MyPage/PostCollectionViewCell.swift | 19 ++++++ .../MyPageCell/PostCollectionViewCell.swift | 30 -------- .../MyPageCell/PostCollectionViewCell.xib | 44 ------------ 9 files changed, 77 insertions(+), 163 deletions(-) delete mode 100644 There-iOS/MyPage/MyPageSegmentedControl.swift create mode 100644 There-iOS/MyPage/PostCollectionViewCell.swift delete mode 100644 There-iOS/MyPageCell/PostCollectionViewCell.swift delete mode 100644 There-iOS/MyPageCell/PostCollectionViewCell.xib diff --git a/Pods/Pods.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/xcschememanagement.plist b/Pods/Pods.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/xcschememanagement.plist index 845ff4c..dd30219 100644 --- a/Pods/Pods.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/Pods/Pods.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/xcschememanagement.plist @@ -12,27 +12,27 @@ RxCocoa.xcscheme_^#shared#^_ orderHint - 3 + 4 RxRelay.xcscheme_^#shared#^_ orderHint - 1 + 3 RxSwift.xcscheme_^#shared#^_ orderHint - 2 + 5 SnapKit.xcscheme_^#shared#^_ orderHint - 5 + 6 Then.xcscheme_^#shared#^_ orderHint - 6 + 2 diff --git a/There-iOS.xcodeproj/project.pbxproj b/There-iOS.xcodeproj/project.pbxproj index 7c3d549..e9fe7d8 100644 --- a/There-iOS.xcodeproj/project.pbxproj +++ b/There-iOS.xcodeproj/project.pbxproj @@ -23,7 +23,7 @@ 0759B2F62886A994005B9018 /* Pods_There_iOS.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B96D23B6861E2422F09BFCD8 /* Pods_There_iOS.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 0759B2F92886AF9B005B9018 /* BaseNavigationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0759B2F82886AF9B005B9018 /* BaseNavigationController.swift */; }; 2F6296642891A3B500331A53 /* ProfileDataView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F6296632891A3B500331A53 /* ProfileDataView.swift */; }; - 2F6296662891AF0700331A53 /* MyPageSegmentedControl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F6296652891AF0700331A53 /* MyPageSegmentedControl.swift */; }; + 2F62966F28926EE700331A53 /* PostCollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F62966E28926EE700331A53 /* PostCollectionViewCell.swift */; }; /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -57,11 +57,9 @@ 0749CE2B2882CBA2002B8D36 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 0759B2F82886AF9B005B9018 /* BaseNavigationController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BaseNavigationController.swift; sourceTree = ""; }; 2F3F78DD2887E0D200315FA0 /* PortfolioCollectionViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PortfolioCollectionViewCell.swift; sourceTree = ""; }; - 2F3F78DF2887E0D200315FA0 /* PostCollectionViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PostCollectionViewCell.swift; sourceTree = ""; }; 2F3F78E02887E0D200315FA0 /* PortfolioCollectionViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = PortfolioCollectionViewCell.xib; sourceTree = ""; }; - 2F3F78E12887E0D200315FA0 /* PostCollectionViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = PostCollectionViewCell.xib; sourceTree = ""; }; 2F6296632891A3B500331A53 /* ProfileDataView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProfileDataView.swift; sourceTree = ""; }; - 2F6296652891AF0700331A53 /* MyPageSegmentedControl.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MyPageSegmentedControl.swift; sourceTree = ""; }; + 2F62966E28926EE700331A53 /* PostCollectionViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PostCollectionViewCell.swift; sourceTree = ""; }; 67AA3DBED054395C30105591 /* Pods-There-iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-There-iOS.debug.xcconfig"; path = "Target Support Files/Pods-There-iOS/Pods-There-iOS.debug.xcconfig"; sourceTree = ""; }; B96D23B6861E2422F09BFCD8 /* Pods_There_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_There_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; C33568F03BF2FAD6BC98DC5C /* Pods-There-iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-There-iOS.release.xcconfig"; path = "Target Support Files/Pods-There-iOS/Pods-There-iOS.release.xcconfig"; sourceTree = ""; }; @@ -122,8 +120,6 @@ 2F3F78DC2887E0D200315FA0 /* MyPageCell */ = { isa = PBXGroup; children = ( - 2F3F78E12887E0D200315FA0 /* PostCollectionViewCell.xib */, - 2F3F78DF2887E0D200315FA0 /* PostCollectionViewCell.swift */, 2F3F78E02887E0D200315FA0 /* PortfolioCollectionViewCell.xib */, 2F3F78DD2887E0D200315FA0 /* PortfolioCollectionViewCell.swift */, ); @@ -135,7 +131,7 @@ children = ( 0712BC9C28868DA00017A81F /* MypageViewController.swift */, 2F6296632891A3B500331A53 /* ProfileDataView.swift */, - 2F6296652891AF0700331A53 /* MyPageSegmentedControl.swift */, + 2F62966E28926EE700331A53 /* PostCollectionViewCell.swift */, ); path = MyPage; sourceTree = ""; @@ -280,8 +276,8 @@ 0749CE1E2882CB9F002B8D36 /* AppDelegate.swift in Sources */, 0749CE202882CB9F002B8D36 /* SceneDelegate.swift in Sources */, 0712BC9F28868DD20017A81F /* MoreViewController.swift in Sources */, - 2F6296662891AF0700331A53 /* MyPageSegmentedControl.swift in Sources */, 2F6296642891A3B500331A53 /* ProfileDataView.swift in Sources */, + 2F62966F28926EE700331A53 /* PostCollectionViewCell.swift in Sources */, 0712BC9B28868D970017A81F /* ChatViewController.swift in Sources */, 0759B2F92886AF9B005B9018 /* BaseNavigationController.swift in Sources */, 0712BC9728868D770017A81F /* HomeViewController.swift in Sources */, diff --git a/There-iOS.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/xcschememanagement.plist b/There-iOS.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/xcschememanagement.plist index dbb061c..c142247 100644 --- a/There-iOS.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/There-iOS.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/xcschememanagement.plist @@ -7,7 +7,7 @@ There-iOS.xcscheme_^#shared#^_ orderHint - 4 + 1 diff --git a/There-iOS.xcworkspace/xcuserdata/imina.xcuserdatad/UserInterfaceState.xcuserstate b/There-iOS.xcworkspace/xcuserdata/imina.xcuserdatad/UserInterfaceState.xcuserstate index 1dad5534dcb01a71070ef611f13629bbb8eb1686..e2926255b489a8c41e173546ad72a91764b580da 100644 GIT binary patch literal 91854 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 inaU%~<3(0r2Riv3+52C1=KucR)o<|s{g=^c+ UICollectionViewCell { + let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "PostCollectionViewCell", for: indexPath) as? PostCollectionViewCell + + cell?.setup(with: UIImage()) //named:"asset name" 하면 이미지 띄울 수 있음 + + return cell ?? UICollectionViewCell() + } + + func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { + return 10 + } + +} + +extension MypageViewController: UICollectionViewDelegateFlowLayout { + func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize { + let width: CGFloat = (collectionView.frame.width / 3) - 1.0 + return CGSize(width: width, height: width) + } +} + + private extension MypageViewController{ diff --git a/There-iOS/MyPage/PostCollectionViewCell.swift b/There-iOS/MyPage/PostCollectionViewCell.swift new file mode 100644 index 0000000..8235deb --- /dev/null +++ b/There-iOS/MyPage/PostCollectionViewCell.swift @@ -0,0 +1,19 @@ +// +// PostCollectionViewCell.swift +// There-iOS +// +// Created by 이민아 on 2022/07/28. +// + +import UIKit +import SnapKit + +final class PostCollectionViewCell: UICollectionViewCell { + private let imageView = UIImageView() + func setup(with image: UIImage){ + addSubview(imageView) + imageView.snp.makeConstraints{ $0.edges.equalToSuperview() } + + imageView.backgroundColor = .tertiaryLabel + } +} diff --git a/There-iOS/MyPageCell/PostCollectionViewCell.swift b/There-iOS/MyPageCell/PostCollectionViewCell.swift deleted file mode 100644 index b86bf3c..0000000 --- a/There-iOS/MyPageCell/PostCollectionViewCell.swift +++ /dev/null @@ -1,30 +0,0 @@ -// -// PostCollectionViewCell.swift -// There-iOS -// -// Created by 이민아 on 2022/07/20. -// - -import UIKit -import Kingfisher //설치해야함 - -class PostCollectionViewCell: UICollectionViewCell { - static let identifier = "PostCollectionViewCell" - @IBOutlet weak var postImageView: UIImageView! - - override func awakeFromNib() { - super.awakeFromNib() - setupData() - } - - public func setupData(_ imageURLStr: String?){ - //imageView의 이미지를 업로드한다. - guard let imageURLStr = imageURLStr else {return } - - if let url = URL(string: imageURLStr){ - postImageView.kf.setImage(with: url, - placeholder: UIImage(systemName: "photo")) - } - } - //이미지뷰의 이미지 업로드 [서버연결] -} diff --git a/There-iOS/MyPageCell/PostCollectionViewCell.xib b/There-iOS/MyPageCell/PostCollectionViewCell.xib deleted file mode 100644 index 2035716..0000000 --- a/There-iOS/MyPageCell/PostCollectionViewCell.xib +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - From 6814faf58e2e5d194823168c7f26069aa218056a Mon Sep 17 00:00:00 2001 From: ChaeyeonYang <69382168+chaeyeon-yang@users.noreply.github.com> Date: Mon, 8 Aug 2022 21:09:14 +0900 Subject: [PATCH 06/10] Create README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..02cd771 --- /dev/null +++ b/README.md @@ -0,0 +1,2 @@ +# There-iOS +re-start From f38a3084835a82a11b3ac98846d619481878672f Mon Sep 17 00:00:00 2001 From: mal0070 Date: Thu, 11 Aug 2022 15:23:52 +0900 Subject: [PATCH 07/10] Fix: nari2 update --- .DS_Store | Bin 0 -> 6148 bytes .../xcschemes/xcschememanagement.plist | 49 ++++++++++++++++++ There-iOS/There-iOS.xcodeproj/project.pbxproj | 12 +++++ .../xcschemes/xcschememanagement.plist | 14 +++++ .../UserInterfaceState.xcuserstate | Bin 0 -> 29623 bytes .../MyProfileView/UploadDataInput.swift | 15 ++++++ .../MyProfileView/UploadDataManager.swift | 31 +++++++++++ .../MyProfileView/UploadDataModel.swift | 19 +++++++ .../MyProfileView/UploadViewController.swift | 31 ++++++----- 9 files changed, 159 insertions(+), 12 deletions(-) create mode 100644 .DS_Store create mode 100644 There-iOS/Pods/Pods.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 There-iOS/There-iOS.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 There-iOS/There-iOS.xcworkspace/xcuserdata/imina.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 There-iOS/There-iOS/MainView/ProfileView/MyProfileView/UploadDataInput.swift create mode 100644 There-iOS/There-iOS/MainView/ProfileView/MyProfileView/UploadDataManager.swift create mode 100644 There-iOS/There-iOS/MainView/ProfileView/MyProfileView/UploadDataModel.swift diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..6352970d6bb0061532b28d96e5a12c9c08231f99 GIT binary patch literal 6148 zcmeHKU2D`p6uq-u+k_%4XwjEKz}K~|>o>ln>-M1!A~Z!GRMw;kHf@?&l3i0+7V@h8 z7$5y7{X6yCnW=P}7T-kdT)1=Qn*YE!v6CJpJ_^OJi~CL@gUtFZ~+I8}xkGj?g85-Q;L zDWx|QY-bCMAAe>~5n_4?2H z^R730(eHJ=$B&-Q=dQDM@4?HR(P4I!%dcv&B=B-8yJ_$YzM*o76kmcO&t(1?qs+Y3 z6bm28G3}A07y^zVqojjH0mV9)=OtgeGD`(^L5EZ#Q;4j|g-qWsWJ1%LRlq86-4!s~ znzMS{g|O?l3Rndi3h@5m!5MvnwMMmdpiox;U>n`aQ0E^;=6D8ugSAGCz=Wm(HC31^ zhR}5MdnV2|SZmaD66W$D%*?{vP=uNt`8^d*!q;d^tAJHtQGq4h?C|-&b@ly!kz`v| z0jt1&rGRJ;gW&*6GG}XJaeUT#@K10yj;l5Prl6vZV#M-Md>5_^{T^3 + + + + SchemeUserState + + Alamofire.xcscheme_^#shared#^_ + + orderHint + 5 + + Kingfisher.xcscheme_^#shared#^_ + + orderHint + 0 + + Pods-There-iOS.xcscheme_^#shared#^_ + + orderHint + 3 + + RxCocoa.xcscheme_^#shared#^_ + + orderHint + 7 + + RxRelay.xcscheme_^#shared#^_ + + orderHint + 2 + + RxSwift.xcscheme_^#shared#^_ + + orderHint + 4 + + SnapKit.xcscheme_^#shared#^_ + + orderHint + 6 + + Then.xcscheme_^#shared#^_ + + orderHint + 1 + + + + diff --git a/There-iOS/There-iOS.xcodeproj/project.pbxproj b/There-iOS/There-iOS.xcodeproj/project.pbxproj index 03a6142..79498a2 100644 --- a/There-iOS/There-iOS.xcodeproj/project.pbxproj +++ b/There-iOS/There-iOS.xcodeproj/project.pbxproj @@ -50,6 +50,9 @@ 07A4F6B728A122B7006D24FE /* MainTabBarController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07A4F6B628A122B7006D24FE /* MainTabBarController.swift */; }; 07A4F6B928A122CE006D24FE /* NavigationViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07A4F6B828A122CE006D24FE /* NavigationViewController.swift */; }; 07A4F6BB28A12300006D24FE /* ChatViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07A4F6BA28A12300006D24FE /* ChatViewController.swift */; }; + 2F51284A28A4D6E200BFD4A2 /* UploadDataManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F51284928A4D6E200BFD4A2 /* UploadDataManager.swift */; }; + 2F51284C28A4D6FE00BFD4A2 /* UploadDataModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F51284B28A4D6FE00BFD4A2 /* UploadDataModel.swift */; }; + 2F51284E28A4D72600BFD4A2 /* UploadDataInput.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F51284D28A4D72600BFD4A2 /* UploadDataInput.swift */; }; /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -111,6 +114,9 @@ 07A4F6B828A122CE006D24FE /* NavigationViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NavigationViewController.swift; sourceTree = ""; }; 07A4F6BA28A12300006D24FE /* ChatViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatViewController.swift; sourceTree = ""; }; 22722C1C4D5D09C328FAA5C6 /* Pods-There-iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-There-iOS.release.xcconfig"; path = "Target Support Files/Pods-There-iOS/Pods-There-iOS.release.xcconfig"; sourceTree = ""; }; + 2F51284928A4D6E200BFD4A2 /* UploadDataManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UploadDataManager.swift; sourceTree = ""; }; + 2F51284B28A4D6FE00BFD4A2 /* UploadDataModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UploadDataModel.swift; sourceTree = ""; }; + 2F51284D28A4D72600BFD4A2 /* UploadDataInput.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UploadDataInput.swift; sourceTree = ""; }; 6D386B0B995F0BF8159ED417 /* Pods_There_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_There_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; E5B19E80E5B22621CC89CB27 /* Pods-There-iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-There-iOS.debug.xcconfig"; path = "Target Support Files/Pods-There-iOS/Pods-There-iOS.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ @@ -184,6 +190,9 @@ 074EF98628A1316700D93ABC /* ProfileDataView.swift */, 074EF98828A1318100D93ABC /* UINavigationItems+.swift */, 074EF98A28A1319A00D93ABC /* UploadViewController.swift */, + 2F51284928A4D6E200BFD4A2 /* UploadDataManager.swift */, + 2F51284B28A4D6FE00BFD4A2 /* UploadDataModel.swift */, + 2F51284D28A4D72600BFD4A2 /* UploadDataInput.swift */, ); path = MyProfileView; sourceTree = ""; @@ -455,7 +464,9 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 2F51284C28A4D6FE00BFD4A2 /* UploadDataModel.swift in Sources */, 074EF97728A1304900D93ABC /* HomeViewController.swift in Sources */, + 2F51284E28A4D72600BFD4A2 /* UploadDataInput.swift in Sources */, 074EF98B28A1319A00D93ABC /* UploadViewController.swift in Sources */, 074EF96A28A12E8F00D93ABC /* LoginService.swift in Sources */, 07A4F69F28A121B9006D24FE /* CustomButton.swift in Sources */, @@ -464,6 +475,7 @@ 07A4F6A328A121DD006D24FE /* CustomSnsButton.swift in Sources */, 074D675D28A3DB89006C00C1 /* CustomOptionCell.swift in Sources */, 07A4F6AF28A12253006D24FE /* NetworkResult.swift in Sources */, + 2F51284A28A4D6E200BFD4A2 /* UploadDataManager.swift in Sources */, 074D675B28A3CBB3006C00C1 /* CustomPaymentCell.swift in Sources */, 07A4F6A528A121F1006D24FE /* CustomTabBar.swift in Sources */, 07A4F68A28A12104006D24FE /* ViewController.swift in Sources */, diff --git a/There-iOS/There-iOS.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/xcschememanagement.plist b/There-iOS/There-iOS.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..5e29cb3 --- /dev/null +++ b/There-iOS/There-iOS.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,14 @@ + + + + + SchemeUserState + + There-iOS.xcscheme_^#shared#^_ + + orderHint + 8 + + + + diff --git a/There-iOS/There-iOS.xcworkspace/xcuserdata/imina.xcuserdatad/UserInterfaceState.xcuserstate b/There-iOS/There-iOS.xcworkspace/xcuserdata/imina.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..3ab67e46f171a1955f2a4f41fe46ce25733760c6 GIT binary patch literal 29623 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 literal 0 HcmV?d00001 diff --git a/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/UploadDataInput.swift b/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/UploadDataInput.swift new file mode 100644 index 0000000..22fe9c1 --- /dev/null +++ b/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/UploadDataInput.swift @@ -0,0 +1,15 @@ +// +// UploadDataInput.swift +// There-iOS +// +// Created by 이민아 on 2022/08/11. +// + + +import Foundation + +struct UploadDataInput: Codable { + var images : [String?] + var jsonList : String + var userIdx : Int32 +} diff --git a/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/UploadDataManager.swift b/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/UploadDataManager.swift new file mode 100644 index 0000000..d7b70e8 --- /dev/null +++ b/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/UploadDataManager.swift @@ -0,0 +1,31 @@ +// +// UploadDataManager.swift +// There-iOS +// +// Created by 이민아 on 2022/08/11. +// + +import Alamofire +//게시물 생성 +class UploadDataManager{ + func uploadDataManager(_ viewController: MypageViewController, _ parameter: UploadDataInput, _ userIdx: Int32){ //이거 맞나.. + AF.request("3.39.57.176:8080/posts/users/\(userIdx)", + method: .post, + parameters: parameter, + encoder:JSONParameterEncoder.default, headers: nil) + .validate() + .responseDecodable(of: UploadDataModel.self) { response in + switch response.result { + case .success(let result): + if result.isSuccess { + print(result) + } else { + + } + case.failure(let error): + print(error.localizedDescription) + } + } + } +} + diff --git a/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/UploadDataModel.swift b/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/UploadDataModel.swift new file mode 100644 index 0000000..2e352c9 --- /dev/null +++ b/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/UploadDataModel.swift @@ -0,0 +1,19 @@ +// +// UploadDataModel.swift +// There-iOS +// +// Created by 이민아 on 2022/08/11. +// + +import Foundation + +struct UploadDataModel: Codable { + let code: Int + let isSuccess: Bool + let message: String + let postIdx: PostIdx +} + +struct PostIdx: Codable{ + let postIdx: Int? +} diff --git a/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/UploadViewController.swift b/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/UploadViewController.swift index 71e80cc..5521bb1 100644 --- a/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/UploadViewController.swift +++ b/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/UploadViewController.swift @@ -9,7 +9,6 @@ import SnapKit import UIKit final class UploadViewController: UIViewController { - let tapGestureRecognizer = UITapGestureRecognizer(target: UploadViewController.self, action: #selector(imgPick)) private lazy var postTitleLabel: UILabel = { let label = UILabel() @@ -34,16 +33,18 @@ final class UploadViewController: UIViewController { //private let selectImgImage = UIImage(systemName: "fold") - private lazy var selectImageLabel : UILabel = { - let label = UILabel() - label.text = "사진선택" - label.font = .systemFont(ofSize: 15.0) - - label.isUserInteractionEnabled = true - label.addGestureRecognizer(tapGestureRecognizer) - return label - }() + private lazy var selectButton : UIButton = { + let button = UIButton(type: .custom) + button.translatesAutoresizingMaskIntoConstraints = false + button.setTitle("사진선택", for: .normal) + button.setTitleColor(.secondaryLabel, for: .normal) + button.contentHorizontalAlignment = .center + + button.addTarget(self, action: #selector(imgPick), for: .touchUpInside) + + return button + }() private let uploadImage: UIImage @@ -119,6 +120,9 @@ final class UploadViewController: UIViewController { setUpLayOut() uploadImageView.image = uploadImage + if uploadImage != UIImage() { + self.selectButton.isHidden = true + } } } @@ -138,6 +142,9 @@ extension UploadViewController : UIImagePickerControllerDelegate, UINavigationCo } print(selectImage) + //let input = UploadDataInput(images: imageString, jsonList: String, userIdx: Int32) -> mypage + //완료를 눌렀을 때, Mypage.PostView.PostCell로 이미지 넘어가도록 + picker.dismiss(animated: true) { [weak self] in //메모리위해 ..뒤에 self? let uploadViewController = UploadViewController(uploadImage: selectImage ?? UIImage()) @@ -191,7 +198,7 @@ private extension UploadViewController{ - [postTitleLabel, postTitleTextField, underLineView1, uploadImageView, selectImageLabel, postIntroLabel,introImageView, postIntroTextView, hashTagTextfield, underLineView2].forEach{view.addSubview($0)} + [postTitleLabel, postTitleTextField, underLineView1, uploadImageView, selectButton, postIntroLabel,introImageView, postIntroTextView, hashTagTextfield, underLineView2].forEach{view.addSubview($0)} let inset: CGFloat = 16.0 @@ -220,7 +227,7 @@ private extension UploadViewController{ } - selectImageLabel.snp.makeConstraints{ + selectButton.snp.makeConstraints{ $0.centerX.equalTo(uploadImageView.snp.centerX) $0.centerY.equalTo(uploadImageView.snp.centerY) From 16b7fde45c6a1d342ee4f3e2935db6cdc0daa611 Mon Sep 17 00:00:00 2001 From: mal0070 Date: Thu, 11 Aug 2022 20:34:00 +0900 Subject: [PATCH 08/10] Feat: UserFeedGet API, UploadPost API --- .../contents.xcworkspacedata | 4 ++ .../xcshareddata/IDEWorkspaceChecks.plist | 8 +++ .../xcschemes/xcschememanagement.plist | 14 ++--- There-iOS/There-iOS.xcodeproj/project.pbxproj | 32 ++++++++-- .../xcschemes/xcschememanagement.plist | 2 +- .../UserInterfaceState.xcuserstate | Bin 29623 -> 42907 bytes .../MainView/EtcView/MoreViewController.swift | 2 +- .../MyProfileView/MypageViewController.swift | 57 ++++++++++-------- .../PostCollectionViewCell.swift | 31 +++++++--- .../PostGet/UserFeedDataManager.swift | 29 +++++++++ .../MyProfileView/PostGet/UserFeedModel.swift | 29 +++++++++ .../{ => PostPost}/UploadDataInput.swift | 0 .../{ => PostPost}/UploadDataManager.swift | 0 .../{ => PostPost}/UploadDataModel.swift | 0 .../MyProfileView/UploadViewController.swift | 26 ++++---- 15 files changed, 173 insertions(+), 61 deletions(-) create mode 100644 There-iOS.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 There-iOS.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 There-iOS/There-iOS/MainView/ProfileView/MyProfileView/PostGet/UserFeedDataManager.swift create mode 100644 There-iOS/There-iOS/MainView/ProfileView/MyProfileView/PostGet/UserFeedModel.swift rename There-iOS/There-iOS/MainView/ProfileView/MyProfileView/{ => PostPost}/UploadDataInput.swift (100%) rename There-iOS/There-iOS/MainView/ProfileView/MyProfileView/{ => PostPost}/UploadDataManager.swift (100%) rename There-iOS/There-iOS/MainView/ProfileView/MyProfileView/{ => PostPost}/UploadDataModel.swift (100%) diff --git a/There-iOS.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/There-iOS.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..94b2795 --- /dev/null +++ b/There-iOS.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,4 @@ + + + diff --git a/There-iOS.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/There-iOS.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/There-iOS.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/There-iOS/Pods/Pods.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/xcschememanagement.plist b/There-iOS/Pods/Pods.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/xcschememanagement.plist index 4a14246..c7bfa3c 100644 --- a/There-iOS/Pods/Pods.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/There-iOS/Pods/Pods.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/xcschememanagement.plist @@ -7,17 +7,17 @@ Alamofire.xcscheme_^#shared#^_ orderHint - 5 + 0 Kingfisher.xcscheme_^#shared#^_ orderHint - 0 + 6 Pods-There-iOS.xcscheme_^#shared#^_ orderHint - 3 + 5 RxCocoa.xcscheme_^#shared#^_ @@ -27,22 +27,22 @@ RxRelay.xcscheme_^#shared#^_ orderHint - 2 + 3 RxSwift.xcscheme_^#shared#^_ orderHint - 4 + 2 SnapKit.xcscheme_^#shared#^_ orderHint - 6 + 8 Then.xcscheme_^#shared#^_ orderHint - 1 + 4 diff --git a/There-iOS/There-iOS.xcodeproj/project.pbxproj b/There-iOS/There-iOS.xcodeproj/project.pbxproj index 79498a2..652a519 100644 --- a/There-iOS/There-iOS.xcodeproj/project.pbxproj +++ b/There-iOS/There-iOS.xcodeproj/project.pbxproj @@ -53,6 +53,8 @@ 2F51284A28A4D6E200BFD4A2 /* UploadDataManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F51284928A4D6E200BFD4A2 /* UploadDataManager.swift */; }; 2F51284C28A4D6FE00BFD4A2 /* UploadDataModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F51284B28A4D6FE00BFD4A2 /* UploadDataModel.swift */; }; 2F51284E28A4D72600BFD4A2 /* UploadDataInput.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F51284D28A4D72600BFD4A2 /* UploadDataInput.swift */; }; + 2F51285028A4F7F800BFD4A2 /* UserFeedModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F51284F28A4F7F800BFD4A2 /* UserFeedModel.swift */; }; + 2F51285228A4F80F00BFD4A2 /* UserFeedDataManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F51285128A4F80F00BFD4A2 /* UserFeedDataManager.swift */; }; /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -117,6 +119,8 @@ 2F51284928A4D6E200BFD4A2 /* UploadDataManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UploadDataManager.swift; sourceTree = ""; }; 2F51284B28A4D6FE00BFD4A2 /* UploadDataModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UploadDataModel.swift; sourceTree = ""; }; 2F51284D28A4D72600BFD4A2 /* UploadDataInput.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UploadDataInput.swift; sourceTree = ""; }; + 2F51284F28A4F7F800BFD4A2 /* UserFeedModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserFeedModel.swift; sourceTree = ""; }; + 2F51285128A4F80F00BFD4A2 /* UserFeedDataManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserFeedDataManager.swift; sourceTree = ""; }; 6D386B0B995F0BF8159ED417 /* Pods_There_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_There_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; E5B19E80E5B22621CC89CB27 /* Pods-There-iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-There-iOS.debug.xcconfig"; path = "Target Support Files/Pods-There-iOS/Pods-There-iOS.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ @@ -184,15 +188,14 @@ 074EF97F28A130E700D93ABC /* MyProfileView */ = { isa = PBXGroup; children = ( + 074EF98828A1318100D93ABC /* UINavigationItems+.swift */, 074EF98028A1311600D93ABC /* MypageViewController.swift */, 074EF98228A1313400D93ABC /* PortfolioTableViewCell.swift */, 074EF98428A1314E00D93ABC /* PostCollectionViewCell.swift */, 074EF98628A1316700D93ABC /* ProfileDataView.swift */, - 074EF98828A1318100D93ABC /* UINavigationItems+.swift */, 074EF98A28A1319A00D93ABC /* UploadViewController.swift */, - 2F51284928A4D6E200BFD4A2 /* UploadDataManager.swift */, - 2F51284B28A4D6FE00BFD4A2 /* UploadDataModel.swift */, - 2F51284D28A4D72600BFD4A2 /* UploadDataInput.swift */, + 2F51285328A5105A00BFD4A2 /* PostGet */, + 2F51285428A5108700BFD4A2 /* PostPost */, ); path = MyProfileView; sourceTree = ""; @@ -331,6 +334,25 @@ path = SearchView; sourceTree = ""; }; + 2F51285328A5105A00BFD4A2 /* PostGet */ = { + isa = PBXGroup; + children = ( + 2F51284F28A4F7F800BFD4A2 /* UserFeedModel.swift */, + 2F51285128A4F80F00BFD4A2 /* UserFeedDataManager.swift */, + ); + path = PostGet; + sourceTree = ""; + }; + 2F51285428A5108700BFD4A2 /* PostPost */ = { + isa = PBXGroup; + children = ( + 2F51284D28A4D72600BFD4A2 /* UploadDataInput.swift */, + 2F51284B28A4D6FE00BFD4A2 /* UploadDataModel.swift */, + 2F51284928A4D6E200BFD4A2 /* UploadDataManager.swift */, + ); + path = PostPost; + sourceTree = ""; + }; 9261EA09D75AC4D6F75E6809 /* Pods */ = { isa = PBXGroup; children = ( @@ -482,6 +504,8 @@ 07149CEB28A13690000B894F /* PostViewController.swift in Sources */, 074EF97528A1301600D93ABC /* CollectionTableViewCell.swift in Sources */, 07A4F6A928A12216006D24FE /* UIButton+.swift in Sources */, + 2F51285228A4F80F00BFD4A2 /* UserFeedDataManager.swift in Sources */, + 2F51285028A4F7F800BFD4A2 /* UserFeedModel.swift in Sources */, 074EF98328A1313400D93ABC /* PortfolioTableViewCell.swift in Sources */, 074EF96C28A12EAD00D93ABC /* LoginViewController.swift in Sources */, 074EF96828A12E7400D93ABC /* LoginDataModel.swift in Sources */, diff --git a/There-iOS/There-iOS.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/xcschememanagement.plist b/There-iOS/There-iOS.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/xcschememanagement.plist index 5e29cb3..c142247 100644 --- a/There-iOS/There-iOS.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/There-iOS/There-iOS.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/xcschememanagement.plist @@ -7,7 +7,7 @@ There-iOS.xcscheme_^#shared#^_ orderHint - 8 + 1 diff --git a/There-iOS/There-iOS.xcworkspace/xcuserdata/imina.xcuserdatad/UserInterfaceState.xcuserstate b/There-iOS/There-iOS.xcworkspace/xcuserdata/imina.xcuserdatad/UserInterfaceState.xcuserstate index 3ab67e46f171a1955f2a4f41fe46ce25733760c6..ee5a1de858f0e1713b263ba8ff50e7381a17b93d 100644 GIT binary patch literal 42907 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 =rVr{hAkR~V`P0&nm4 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 G+x`buI`YK; literal 29623 zcmeHwd0bTG_y2vKyW#@FzAwW*z`y|G28aX04g)watSXE!DvE&2;BMZlnJuPPYO5x= zl&F-!#ospJpp`kl+XhLy5&`G4beSXZ#e=m*_`$5?+Ki5lzGpN+OnsBUD5@ zkw7F8nM4+mP2>={L>`e(6c9S1lBgo8i4nv|qJbDsOduMGiNqvg3Ne+qkC;u&CGIC4 zA{G!!h^53bVl(k7v4wbzc%68Ic$0XGc$;{Kc$e5pY$M($b`pDtPl(Tnqr?})G2%G! z9q~Q!196VHLR=-T5q}VW5;u_(k|B5Gg}jju@<#zE5CtJQia?Pl8pWV2l#OywF3Lms zr~v6uAu2+}XgD&UKBy8^p=vY&)uI+O3AG|KvY<9J8SzL!bI@G006m9ZMC;II^d@=> zy^Xe^9q0qJ8|^_Kp^wog=n(oG9YtTFuh2>K13HC%LcgHj(G_$RJ7F1i#xB?uyJ2_i zfjzMo_Qw7=6o=t(9D|j303L`3;Ut`lQ}9rniL-Dv&cV4@hs*FtJO+=)6L2GL!4^Cf z&%`_y@I3qgei%Q3m*8jdYWyNzhdc30cr$(-zm2!y_wWaJC*Ffk;&1VH_PQng zh8#v2>C_x*E_FXOk9vSw zNG+nCpq5b2QfsJn)JEzhYBTjZ^)|JQ+ChCl?V~=Yj#6Jx$Ef4fY3fJn4D}Ormimpl zKwYJ-Q8#Fo=4c1H58an`r#)yNI*1OV<7gEfPbbqU^iVpD&ZMj95%frU6kS8t(nfkT zT}Ri`^t<#2^j>-& zeTY6xe@>sEzoD;vpVb`kpm`y#uJ?PS-p8`zEPOYF<+ zE9@rrHTGS02m1lLpZ$paj6K5s!k%Y;Wq)HYuov0i*-PwY_6mEIz0P5d;~Y3=&V_U3 zd^tZ(%?;oNa)Y?R+z>8_OXgCzp6 z=5r5n4{;B3k8lgPN4bUEB5pDF8232$1h<4+$}QtMxK-S0ZVk7Vdx3kATgSc3y~VxF zy~DlBZRNIcd$_&aKJH`gYwiU14R@0Jmivx7&Hcok<<4`LxNF>XLugZ5W8-0>KjBC? z5i-J+@F*`ViJf4YX0C$YHtt&%TGwban>z?+!iC2?*+IAw?mQ)+`*?YcEHp8G;Gl#7 z>O|#0bz-7YotZFDnU<*@q|6#LAY*_kAw4}oon9kz%gx9vZ*HAnZZX!GGMek!CYqWo z_MUx+U?S=T!k6$P{D}Y}kO(5=Jk2va%X7Q~--qw}0ue%l5@Apvf`}v{_R)B1ehMH#F5ZPswUEPBhiXQg83C)Hqt(++=BOZfrEQ)}$v4&KeRwSgjnApv_XM z)foxOApKa)T~k=1H<>NXt;W%fCac)VFj|Z?vOp-B zR%ZdZ)iuMOJ<7tnh6gXwjjiQIb6JDA0h%dqu#78dXd2sSf;TlX@9u)l&5fgtt-1Ds zH8QX6ch*L3d*wM}M!b4ZOpt0;Ob~oisbYc#4;nCQmVJTMM2fh;1BijdAYw2vgh(Qi zc}L!fm+{WL3-8Liy#ULaN(>`3L>he4!m4`kWqdhb1>dUq$QqdpdM_E*Jf+Y$xnZmk z7D0N{^=DeE36{bcN*OE-jSZFtlexU1-ZD-qmfK`*0ZHE6+Fh)x=558q4!Ww3gtjv4 z8*G&v>~kq3N{Fb{L=jO;3@7xwC-233^FFJIQbJFZ5#_uu@53wj7;(%&6?M(^rdVhv zzrhmQ)nRNGnP9*rrbZZ;slMwi=o#6q&225x3(!i;H8TJI&`_?~+-5S{M>dM66Gv7< z)DlKwH1Egz^8tL|YNDPn5o3sYK8O$IL*OTj%q^>-(PC<~f+&5O4n_%@4UDG1Xts2X zM0{K$^Ds1xxocrBsSQ)TA-88c_VF|k&4kCwmAw2A(Mp&J3(;03ZRIA|A{EkClX*m8 zNk#*px4FsKI;{grO|B>`DY7bF66Si0r=%HZ3kB_cOe1Cx9__?*KD3>f$%ly?LB#1@ z>l^|m!xI8Ar$*)jgb{a9v8WR2O)ae^Gw=hWI0`<34=-}Y7f0LGMTAL;Ru4$7Y_OOn zT4xHF0*+)!tE)4a&8B+Tg{D#FI&pg!H=6-^%}pcCHnQeI9rFgp(bdDpUmhA66{|YL zat{4VTa1=*mB27eQ*#=cEUWwU>D#ZebeyTxq--cEsn8i4n#vkXQ>u$wn_=-y;&&N3 zq^E{>8B(3hLb8nJQrk-BNOHFn6;%ln?2n(A;K z8uIOLZOE?z=4cTIbSNM&=-%6KQbQZTA**08GV)MZc*H$do$}MmP*vg5-sezsjPl;A zZF7NYaV{Nw`W%W+NWAxYhd;8e;He*4ojV2&?ie&Egs}bBF(fHOGfDa*MDw7R^;>%i zbTf3=TI(vO*2p{!Esf1a5fnz9vB@~r)EaA^(lEv%W8k>p3_>QB7zzh~3Q+q;gUUY% z0DM2On0TCclIR4*eg~-Ydx-rqq(HEsGzRQC8aB z2e8M4f!%-J)@A9m7L$39t-G4ClA6T$?s8VRmw-TM8k<`W`?q0C1ISlt8V?hX)W}>5 zOLT1(alqXyW)<(ZL71i zwE~9>{=0HLS@e^{Y9eX_@f7hi@eJ`S@f@+7SV25btR&ir4q_FrEiH+88ukb_oWcUmL6-4~F^QG2r266PFDAWQ=GPVGV z0#JNGB7@CrZEbFq1OTjlW|O$a z_0p@ZPJ7l8RSUhT4#?EInx8l>kiFXGi6Se80Rw64CRlYTv#48%FU{%G#Gy%}wLQ?c z0o6r)%LNK`b!?@OwVqAOfqpHAtV-s4#P*eZk_3?*#0Q4Lk`j}p19shH>HUYq?sj4q zpTfg#5S7xs#O_tZK4L%d5kHhq=QDY|9XJPwLxe{M@hNeTPvwVo5QmA+cnzP%%k>TQ zddswKZa#dhy~>xwi5^wHAx`pIK0_2*{$0$!L}V60;z|I`T7#?$J-ka*Jw=@9(Zo;0 zSw4#&&dcq6{6btHqE->-iC>A|_-sCh&s{}aBz`9@@p*hcU(83ATBJp+w<*B|&2?6} zXRaOt%D4_zA9xmM2zMKYv?kYy8|}njd;wo{oVbMugb+p~;RMWzMhs#RhaBKvANbc7 z^#cah4>?xbdo$<@plvgVa0}oDDAqQysjzM0XxO(h7gJMxuZPZcYyvqBRp60Sw*WYm)Lf;A3+QKJ3p8x+ulqHi=#GY)>v)~aUq?ID;9?L~#uh8=8!987A`tFcHOdk?pSE>~cIV(^4mj%s5?htCf>> z9|t7iUw@%BPYB5>$n%oSt6?#ZP>|V+1yM(a4MI{<1MZW}8dje=~Ciba#C8P@*} z_1HX0XPgRqV7iq@TSRtjtqppPb%-L&4vc91*n^;8BO_kqM1KV*wP+d<#E`Z{^KvQ3D!}Ccw{$aK5+jZ32qnEdnYA zi7HA{X)UGWvvr+e0i|a-uuK3}cvv^VJW_fl(l{8K^FhtGp04~sXtg!gi=wL- zSgqbP2@Y=-fQo2~Fw00gnx~){z{1f~G!0GXC-YPIsjJXTGz;t<(|BHheFNih5f>oM zZ0p;4$^a&4$0xkBt~i_}Gp505tD(;RMA}C86F1hPdFTN&A3ca3LJ#xP`7QiT{wD$T z6ObQY^aXkpEkujZVj$vU=y6aom!PF+8F~_w&8N{b=vlB7*g3j{VG#e~APTL<54p%O zMFm)t*Rf_xE3oK0(dT3q!P>2s)yRCCtVerWOLvxc?(tUar>9KuwU4KpX>_TC{A_+H zzl@*3zshgspWrurj+Ubp=y{mjO4N=z&?>YVtwC#1GA!Yp{Bu;dW-0A(_pZ~szPVY{ zWlYj@s5udiZQaF1Yl_GiipJR6?0&~D;AioR_{aH~d_#>au1kUJv6xbW-PVFGl~W>O zr%1&0Xam}aUP3RUSNQw*IsE-zvDUxKgv?1R?@7Bmf1+82Ahk*b^tqm0$8(KTiR#Bq-Z5jJ;-UF`t20s_LtkCmB zYA>*p*a!vYfhH^5e)_e)-i!9Z>-qeHywG(@hMgl#mN;x}T_d(`uOK~oM10h(k{u>) z!P3y^3v>+i=O5)4^1w=_{1@c>ZAa|59tZBY|Gd!BGJlOu++Bcopl`(0y}N98Lf@kA z(DzlMIYFWd{}{g*tcUlitVo@oMn6`A?qCOV2RZ{x_qGR8sk7*3$u8LgrQNXTxn(=h zIdR;g9rK>bA4cbaCclEdcmaJOnt?|f%_iXdv8|>?P*5kEc!FQTKPnC761ohkJ1CPK z=#q7HTG~c8Hq=SVl+xVX)>>z>v(sysB%(UeALvhX9sPxFpquCxCNRR7f0BQSf0}=W zf0loaU(T=KpXXP0VhYYy@DFp?0r!F5{fJ1u9i)KxZwyi z65o%N>^>mSVL$YK37lWo&;&9Zlv4R!UyDs?o52HVRl)=BS|+z?vShpkQQy0jMyqnr z#RWxmpm!@)W0h5m#Ws%_V>W>@(Yqzdq$QOSO#uICN@;DDam}sJQSTXpdTz>UZj^NN z-m5jG)z~8H@$8ZAbN9FlU-wHEeTu{a(MQD78N@h|f0I&cC`GXKhLts2I_3f$RVjZE3a z^+oHjG+?`=h%GjaHJaPZ-IN>E2C}48Tr81U$6L1n&cpejbi)plYTu>}bl?JUU)=Rw zFX@g8LAv+H!_iZ?1ec;``8Ppc68vi*FF)XS+#xS|Jh(>=i#>r4f~_p#Dx9PZKA>U z=q~aA&$5b$_wFhW@Eof=cwdqSmj45J(924A8yCcLtQ_xsfV4$4uZVPytVyafH8y57 zx9Xdxq*;;_y=l1sEyWA*BB130{5a5Z576>3{~^$F4}a)RS}w)Qx@h?+zpE!LpA%`h z9IwF7mL}g7hW*y4b`e{^uTSf(!;WL57f_ zWEdGvMv#&GIsQEVEB_mRfxpM2`t~sk~&Sl}TK-6Sk171SUZik;UY2QcsqUrKEu@Bg@GO{u=)W|0jQ) z|BJuD-{fxzh!7C!B&#GgL5`Bx1UZ_B6cCp9gn(#?Q3$BdzntQ~&nd_j;1uK}0g*OV zL0W)SkZr_9@gpFLFSY&vX5nb3@J#YPU>4*o0Wt05Yyq+N#xBUYUuYi2+WERhpEA7leKwbiJ?8z?HitOSA@?zd?hJOv*C26S!EN}T z{314zk{8f@A{l~3>!(m|^QOosJH_uw^(SvheMa1smJ}t?QX$du|HA2W8`UUEqM8CM z&9|x0Qv87RWJNiGL7RfDq6F6@ZiY3hJi!AOWd*(3=VedQ%ZpB&DFDD8Ng+fPft(3P>%W0e7eO zU5Wa?A|;h7k#gYwOiCLIq_QbJ2vjPE%BAwCe5!!bQH4|yRZM}CXNZ831e7eG6aftt zP^y522}mQLGy$b|QYDgLrOK%as*;GHszt%7wF}lP0p$y*fG-h{?qAXR-xsY^1Bg~? zya2vA$tpxm1kp-0p=9wRpiI8O`U9XQ#gS4LYBC5`3LH4u?bH+j<=mTKrDjkdkUOZE zqF~Jh!Ai{*1#8}21gkSgg=m5#OTNJW+y@agQctb6w z9+M(6dhA^=x7AJPpdJ^kH)6O(@0Z}zvAdOOq_;i%8PrnBcBUs^5zq($>7@+|GE`zD zaIAlUT28H?o~Kq)?NkS~Ne_((to z@fir3-t61H$8YEJ_Gdkq`TuU;TkQt|s_wb(?;3_cQPhXjE-4Iw+JpMT$5B8EnS-nd zT>MEqVW-=E>Qe}tq&}iPraqw#2xydmY6Mg(AmeK4Aa#h?NPQ-t(E_*&VTl^}$O_Td zDC!=SR(GTLtx7U9N?u)Skd5fA72kAuR_(ogNu3mX`-=LSIzfFSpgIB73&AnP}*C{a*-!gC`i`E~A!!=E@M!o2bQ>-3SFu3~kd~1t2EU9Z2!(@VbytGzt zZUt8_m~|Ukz+(yZJ$e+ewl2Et>|_0z`UM>I)Hwl-Yljmr%pJrN_=(KTjVACFK*)eN zV|(d~)FrX>?*ba%PF)tz1Z#2dB6RtMt!_#QgntmbJE%XY>jG*N(4;OWEp?N|gvToC z7ERD_zXW{nO#*6OMSVm>(ln5U2mP>xmyd*2yIoo%#J{@Zlx6UzI9r`@Y*T}!t=<%( znW3_7R@+GFezfdvoqPkh)7097YrR7CS`&cWd?%iJRsQ4qx%8#i#! z(9HY-U2%Cu<%k;TA_N?8Ac{Un6(mN`ivjfTRs2IO{b7K?CJkGtnypXE;He2Nl4;@ZCc*;GnjzA((OM^#FvFV$2nYwCj~F%AH9ct- z#gf>uJ0iNh!iQB5MXMfQyNyvXr9r&ykedNMhL)~Sk?uXoJILI5u1p;AfB}aF4@pYC zTkLm@ETFKYJJQ6EYYpf!L8uA@0-2iXOdUxnUD4o&Q-`TE=@}w$@3xP&TRn{P8AGi#ofLo1&;5K6;F`bwL zHx%26b;K(W!2A*1Lj0My3ejo`2*Mf)_X!K(E+GU2p;8E5E{FSs)o3K#CL9e>IAb8( zMt~rcwGhQ{75Bsa;pSfqPK4WjCD;Itrb=)mnc#lkH2e%WBG%%K_%*y8?|?geyWkez zKCqgfBN0i$eLWU#=q173yh1RSRgp8v<>XuBJLFdKJvi20Ag@p~+@tGH`B45=E(qRV z={Hep`)&J0#RzDYRXwBAX)W+7d-yPL%2n_vgP06FNc7s+Wk42POhm1tv*{cl3u7t%!nnk^t+Kmy#76wq7&-7lbd0(t9j^~NlKvAPiqFx5O~GS zBc%I4C3WLWVsxyV^e05ig7}BPOB;(*iPt^EP_;%AG}yflrE2Nmf3LSzY_LoN-##c0 zVmy&8Y*a#_sDnt~#8^Ox&lE$Mtb!-EX-qQ|w?`y(759>2fTc0p8xx0YUr-Z0R*VjO zmfzG)j}y>C-QsovJz2Dg9!JlRUbvKQp(l~g;m2tU-6kGep8&J<4gozZpar5)>X3jI z3TSaBJ%yf1Pot;PGw7N0Ec!lrHVssHTtI6D^p1c&5zr3;`a{6Z0uB@KU;!6EhuxtF z^gQWc4#DJY|G0Ta)LOb3uH7i!Wh15^md5hvKOL*0o7Mv12mjM(7D=O7R3rOm{cEJNFbn9cd-*Vg0lXZHRi+)u%q;GtCfL1CR!QRbkLttAZS+I&CFo0 za+3a8#N@a1cl7u45A-SeH2ouehW?2@E1(wy^rC>)38+&*>jktyK;W);NkGu{E1mQ? z8zz6FFVGj^jB!cCyCR9?CWDD(`1~S1` zJTh_-k8l4?WqXZCCK2GsD3~ZFnu%eQOe_<}sF-*LtZnZKXsdv>3FtimZ5Pn{0s@i# zfq-@j=)+D%Ey0l)EV($D6cLWQ>~P#;cX597FBty;Fy@J11XK5JI~WW9gNxHnX9H6% z!V!#$d)pZ>D(<^SIF4Xy08z|HkwNaaIyglJ>2Nm&Y46I!jFUh(Rs`Y4077!Ul_@&( zg0Q_x6EjUjVKdXhOk!FYGh<=en90l(W~zV=2nc#SC?HTG4+{v)e@6uLxqyxe=!;Hf zx($W*F|);Z9A=J)!ee$6ekGu9!BPf1@w@U-`_llnPkg$Tsu0{Xh00Y&P>JpyqRvsU7ZYec^I4WNpF-ymvF_Cl32IXlFD zlC*dG60=DHEl2_(JP&Hzb&zehy=%$%1H`HP6iOCqFxvm)|x zZ$#4H$-L~iy23zU8iXb@*F-2@`@4GfD!14^07aHy5sO)prC6F}SeE5jV8nk4=(>RZ z63`6+-4xI*0TTj70*3rcWGCBKf+Fk0%2;P2f^`KbV#)?Z%n7)^fE@vf*y&#={`aBC z$^nXOuz+bB6xlF|l`9xZmAmwR7x_5KW{_eSFp4v4+)Jk;$e5GO-Mh$qp6~jr;XNw7p6$ zTPh+mkIiQbSRGr)7O}y?34*3_D{{S#2h`?+Vu)iIc&40%u*~#ow5t3jG4Qywp32*}h{96C> zV!viju-~vJ z1w2H+Ndit5aEgG33OH53!vw4maGHSAJK67S2s~}$gl9zr+GCn+d)rM{+bkkfQ{g)y{$Z&b~JYa(%e|RtR$aLU@zd~`-|F||&tYA|OuHjEWBG(wct?Im)}i zxMu|nWCT5Ox`1b_=9Y6SxaYZ*0-h=0SpvRKz_Ue9y9Yp|r_0+Go+ReH>iMEfjCv6R zg?hg#Y7s+-fIzBVwQSyYcwN#qQOxBcfw9Ci)|v#wklxnNSYIBWm^nbDGRn?c!^yZ# zNJ7P}=QeN~11ZzGxw^11p&_y@Z440YuxMHasl5DDUo54 z;@rd}pgpJ1qi@J9)7%Q4{u){I-xo}W0M!x`q_>f>a4P=3wA6<+U@=4^?Q3Fqkex*D zaUa}m@H@E=xm^ODFW?6S3=se!!)*87>WH8)Oaxh@*tq?)rpTGRa%c3~|9?Jj&Y`pw za(X~AZ<%-Bey(nQ{t=O}5W5tdJS-ccit>jW%Bn`%lGaKgZV;Sgo1m1=5`t&aERY>z zbQ>h%fn>E_JXw}ygd8FDhuu9KJ-vPJ7QN)fQ|&$wA?6C9C0URs_6Q_alsk&ya^dhq zj8B4Y#$+`b$6AwRb_H<4OOc(0Xu_p+b$(C=A!iKl2{?{TYY~$MO@j|3Mt?MO?9crRH;My8ZO7ShK+ReQ_g1)=8F?r1caaMxQgz_t60jF2&h3Uq}SFkFRE;%ot!qWh8QlB)p{ zB(*>e_-T+-W;TMbCWzg72t5MXf)+snojvG#bOxP8=g@g{8C`>X8-GEj4M?AgX&eIi z+lS#a$lyL4SK+acx!nvo+vh{3_9yTf$kDzP;<^swFYq^zm;Fb`!G24EbXS~~(Z)J# zzeqQT)3P&>Pq-tH*afW1^?j=_J=#YE8jkA)yY1qwy{eM@2?YXs{5Sh5rn*jY=4XgF!whq&(v zC+-LCl*mQI{B|K}JM|6MCWV5P;W2B}8uuf225=*G(!u>G-XV~cLZ;hkK}JhZVv=fL zP_a%DDdN>;!WlS}-6qZb%0c2l>$7(5qJWp$Vwt(iaPP=kQp$+PLF6{1V3S&ba|^^{ zLCT0{$mbv$%L}5h+8`dQMU2PV!9M|USP+c`aarI;TWpQTg2Y4sO>fAz9Ye%J7U*FB z%QE<1AdI3PhnSf)^hQVo|DG6HLGPhIrVl_e_|NF;knTMYoWv?7fl)I9nZZmFlfvXf zdiNqm4=LWum8L**Dp@A(i?8_B-|pBue+^RFDpR7+1g#)$_Nr%-A>l`*a zeC%-C;cJI)9KLh-!QnJyMeNfjqK~3abbopOsQxAWtNPFFf2RKhN7m8N(bqA^G1xKG zQQ;WvsC0~TEO(sg_>g0V<7&sXjxRcPI&N@$$?+A(&5m0fUw3@d@omS$jz=7iIv#WU z((!A@ZydjM{NC}D6VOx3lM!} zZZaQPpe#}rEmO+kWP@eHWN9+3EK`;(E0tBss%0Z(qhukpLgEkyvO-V=kw0jT>87nT|!*KTq0Z)F3~PZmw_(N zxvX({&t;d(NtY`ww_I7*ey&4Zhq>msmb;E}t#LKFPIVPr7rH*?`h@E;*QZ>caoy&+ z+jWoYKG(ypCta_){^5Gv^@i&$H{?dT(Qd4pgIiy>{%)ae;ck&`QEoAAv2H52M7M!% zL)?0`-O)YNJ=?v^eZ2b=_eb1UxUY0y=l+`e+wQyE54svDah2$4QUhJ!wxzPhU@e&p=PPXNYIGr@}MZv%qtl z=K{|ap6_~o>iL!DpPqkt-t;28uovaUcyV5Ryh6MNdS!Zz^lI^1;I+_evDf2XOT3nO zJ>|8}>#)~JukXBm@H*{v#_O!tIj{3x*S#6ANF40 zz0iBH_X_Xz-W$DN_TJ>Z)q9`!N8X=!f9ieA`%CXL-e*M9) zUz6XXew+Lb`(5?-_fPY$^`Gtkoc|jC7yUc^H~7Eizs-NU{|^71{=5A5 z`0w-o$p4uCSN@Cfh<@DB(KkOzbW#08`VWC!E~ur1)@fX@Sd3Ah;O5EvC06Brw)3QP!82M!Dz9GDbX z5@-l453CHV4jdU+6F4rgEpSTUw7?mGvjS%a3W0M27Y9BbxFm2{;46Wf1K$gLKk$RV z4+9Sceirz7;1_|X0)GtrDe&jOYk_|T{uOvLsBcjJAg3VbAm5gX3&wKD?!(S{tWsn=%$>IV>u;fssO|F$^%CqIU@_e~Y zUL+qOA0@AqkCsoD&y+tTe?9|=Ahd@T6O;ID(f3H~l;SkX`A~GU7VnW2D5t|~8 zMqH2di5wDH7FiQHI?@z5HnJshTI9^g`yz$NxsmfC=SMDyd@}Nx$mNkMBReABi~K0^ zVB}|!pGSTfc_Q*;Yu;D#cpGI>ma$n~HZ7+Z5Xs-zdISoLBs&xTv@k zg`&tPI*N^Qi}Hx_it>qyh=OB4lrkzQYG~B3sI;j3sEVlSsF6`MQC~)#i8>o~F6!54 zDmpAWG8*oxM8`$PN2{X;MGuMAM;oFmqN}1uM30KDjc$mxL{EvH9z83XkDePnFZ%K5 zrO{7DKOMa#`u*sg(YvGfMjwnm9DOqSyXYUHPe=bAeL4DS^dB)yj6+P{nEo-IF`+RL zF^ZVzn8#vP#H@_zh*=Z!R?Lo=4`cSk?29=Zb3W!m%q69}(o5;1^j8KcgO#Dm2&F=q zuFO>CDD#vB%0gwavQk;E9IG6!oTzM3nw4$JIm&s;`O1fs%al(mpHr?-u2*hUzO3A& z+@{>F+@aj5JgEFk`ML57<#)t{SkLv<)sQ!MX8jkIF(v8NHs*2tjbgARAs6P zl}R;T)u?J#SyYo%(^NB5538O~tyjIG+M_zI`dxKJ^@r-Z>W1o8JdW=h?-TDI9~2)F zA0DrWkBN^1TS#iWCO$nrBYt>%X?$6HMf}A0>G8ATXU7Zi3*#S)UlPA8epURM_!r{W z#lIf^X8han@5b+q|0w>G_)p`HCy)tD0+-MypkdTm^keZN| zpiRh1$VnKUP@OO);l6}N5|$)9nea@)@`RNM>k`%{Y)p7LVN=4Z2?rC-CpsraB@RkV zN*tP~NlZ`7NUTUSC5}s+kl2(sDbbubKXGy5(!{3{pG{nz*qOK~aZBPGiEk&qpSUw| zSK{8p{fWmCPbdDN#%d?EhuT~1rw&wys}<^Kb*x&Y9-_`tXRCA6dFpa?m3pMQR$Zqy zshiYh^P70u)l1b+sh?MOs8_3BP_I+Js(x3!SN*B_u=;cLG4)CH_v%yX zGwQSIzXs3)90zzLg(oSJ5|T7Y*-3>-)k#fBlaee+QaC9iKWobx!KM)CW@^ zNnM!wSn870CsUtEU7or*^|jPDQr}8_Cv{uu`>8uqcct!4-Jkk#>e*oq!<55{hM9*w zJ#6c+uZCUMcxmLCP)&qJp-IprYf?2DjaHMX$<~x=$~9G*k(ye~Xw7WR0?lKZC7NZL zXEiG{?V44Z&6;;K?`pPb_G>=X9MT-o9M^oUIjQ+hb3t=6%{9#<%{$F6Eif%OEi5fE zEjleWEj}$PEjKMcO_x@brcX1ZRiss=jZCXaGp5~_wmj|qwC~f|bY=SR^p^BR=^N5t zOMf%{o%F5gyV4J&A51@-ekA>9`myxW=|82POaC?fV)`Ymvo=5*q7BnVYL!}*HbJY_ zYPAL0LT$CSRy$g2(vH_o)HZ7;X?g9V+79g+?Tgy=+LyGOv|F@qXy4Xu)o#}w(SD&l zuKh}TLi?@ud+jOhkJ_`^bK3J6eKVpm3Nuu33>;(OI!s@mcDuL0L&zL$fql+N`Xs>a0;&wOOOH>a)gXjn8V# zYRa0FWzK5LdOT}W){(5M*}mCn*{1CKvsYzr&)%E;QTBoCgW1Qkzt29MeJ1|e5f z&AyO*GY92RIc!d!oPIfqoPjyXIYV*Ir%xdoDn%SIpcELa;E3Z%$c2Yf6n}z zhjSL>Je%`k&eojmIUnTg%GsOqQO<#!LpeuszR3A9=eL~Sb1vsx&G{qeubf-CIG4(0 za~*Q~=0@gb=T69dG;Z*kre zdCT&i&U-FzMczAkd-6WcJCJuM?`Yofysz`V$vdBSA@BEmBA?D@^ZVpG<-6p&=X>Ud z=O^ap)DVl!DO(4-~8^*jeyx!P$ae3VtiNSa4lO=~!JKU4NZS=c04d$#tQ+2wjv; zsf*JU=qh!Ps#;g48>gF~YtpsoX6xqY9??Cjdq(%Xu3fiUw@$Y~_p)x2ZoBSd-FLcE zx-+_;b?0>#beD8jb${w^6cUB*gDRO zES_CFr+8lRgT>2>R~B~^uP$C&ysmhC@y6npi#HcWI@A2EE+@U_D~ z9R7nI>HFyW>t%Wuy{|r0AFhwoN9kkqvHE0vsyc{BK`lDTBx^&9jr>$m9N(7&aBN54;hRDVwYtNxy8dPfDxpf)l0GGYCBY@3 zCE+EJCDA3ZC90Byk^v=yN`{n_m9&*SUGh%JH>Gr`qBN&;Z0Y@_kCrYjeWG+}>59@9 zO4pUHFWp%Ba_OehZKdy*?kwG1y07%3(w|DNlwL2rVIT~&fiv_q^f&k!0u3>SctfIL zpds0iYDhC^4SGY3!D5(Vm~NP5;0<#P4;UUYEHErGJZ^Zw&}rCUc**dJ;Z?)yhPMpw z7`7R<8+I7JG2AQ*F3TtzSGKThbJ@YN-^%-!dz5>Z`;`ZjN0h6|6Ux=)1Iq`OCzWTH z=auWqi_1&O4dt!nv&-)LoV)>@>SIf7Te^|b|d|&y2@nl)AynL7F~8!WibpDzR&1zvqvF$w?<@YSbgB%kOsO)cjm?zUD&BrJAcXf7aZn?Ni&o)~VK|*1guV*1OiXR#R)L zT~zy4?T*_0wTElJs{N++Ozp3=myE1YW^^^W8$FGo#t5Ur7-Nhx#v7B2Lyg0XX~sNb szENi^GfsefHlp94%{bLK-8j=Y+c?KK&t~Yu(r*Wwsmo^PBaHL^AH)Wur~m)} diff --git a/There-iOS/There-iOS/MainView/EtcView/MoreViewController.swift b/There-iOS/There-iOS/MainView/EtcView/MoreViewController.swift index cc436d6..474b884 100644 --- a/There-iOS/There-iOS/MainView/EtcView/MoreViewController.swift +++ b/There-iOS/There-iOS/MainView/EtcView/MoreViewController.swift @@ -58,7 +58,7 @@ extension MoreViewController: UITableViewDataSource { } func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { - switch self.tableView + // switch self.tableView let cell = tableView.dequeueReusableCell(withIdentifier: "CustomPaymentCell", for: indexPath) as? CustomPaymentCell cell?.selectionStyle = .none diff --git a/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/MypageViewController.swift b/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/MypageViewController.swift index 6d856fe..4ec7aca 100644 --- a/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/MypageViewController.swift +++ b/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/MypageViewController.swift @@ -16,6 +16,13 @@ class MypageViewController: UIViewController{ view.backgroundColor = bgColor } + var userPosts: [Result]?{ + didSet { self.postCollectionView.reloadData()} + } //데이터 업로드 + + // var deletedIndex: Int? + + let uploadViewController = UINavigationController(rootViewController: UploadViewController(uploadImage: UIImage())) private lazy var profileImageView: UIImageView = { @@ -84,7 +91,7 @@ class MypageViewController: UIViewController{ }() - private lazy var postCollectionView: UICollectionView = { + lazy var postCollectionView: UICollectionView = { let layout = UICollectionViewFlowLayout() layout.minimumLineSpacing = 0.5 layout.minimumInteritemSpacing = 0.5 @@ -114,6 +121,8 @@ class MypageViewController: UIViewController{ return tableView }() + + //뷰 왔다갔다 할 때 사라지게 하기 var shouldHideFirstView: Bool? { didSet { @@ -165,19 +174,22 @@ extension MypageViewController: UICollectionViewDataSource { func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "PostCollectionViewCell", for: indexPath) as? PostCollectionViewCell - cell?.setup(with: UIImage()) //named:"asset name" 하면 이미지 띄울 수 있음 - + //cell?.setupImage(with: UIImage()) //named:"asset name" 하면 이미지 띄울 수 있음 + + let itemIndex = indexPath.item + //PostIdx.init(postIdx: indexPath.item) //인덱스 설정 post까지 구현하면 수정하기 + if let cellData = self.userPosts{ //데이터 셀에 전달 + cell?.uploadData(cellData[itemIndex].imgURL) + } + return cell ?? UICollectionViewCell() } func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { - return 10 //무한대로 생성가능하게 + return userPosts?.count ?? 0 //업로드 한 만큼 셀 생성 } func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { -// -// print("click index=\(indexPath.row)") -// let cell = collectionView.cellForItem(at: indexPath) let post = PostViewController(bgColor: UIColor.white) self.navigationController?.pushViewController(post, animated: true) @@ -212,25 +224,10 @@ extension MypageViewController: UITableViewDataSource { } } -/* -extension MypageViewController: UITableViewDelegate{ - func scrollViewDidScroll(_ scrollView: UIScrollView) { - if scrollView.contentOffset.y < 0 { - heightConstraint.constant = max(abs(scrollView.contentOffset.y), minHeight) - } else { - heightConstraint.constant = minHeight - } - let offset = -scrollView.contentOffset.y - let percentage = (offset-100)/50 - upperHeaderView.alpha = percentage - } -} - */ - - +//UI private extension MypageViewController{ func setUpNavigationBar(){ @@ -322,9 +319,21 @@ private extension MypageViewController{ } - } +//API 통신 +extension MypageViewController{ + func sucessAPI(_ result: UserFeedModel){ + // self.userPosts.result.postIdx = result.result?.postIdx + print("ddd") + } + + func successDeletePostAPI(_ isSuccess: Bool){ + guard isSuccess else {return} + + } +} + diff --git a/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/PostCollectionViewCell.swift b/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/PostCollectionViewCell.swift index aee3fdf..3a93736 100644 --- a/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/PostCollectionViewCell.swift +++ b/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/PostCollectionViewCell.swift @@ -7,19 +7,32 @@ import UIKit import SnapKit +import Kingfisher final class PostCollectionViewCell: UICollectionViewCell { - private let imageView = UIImageView() - func setup(with image: UIImage){ - addSubview(imageView) - imageView.snp.makeConstraints{ $0.edges.equalToSuperview() } - - imageView.backgroundColor = .tertiaryLabel //서버연동해서 이미지데이터받아오기 - } - + let postImageView = UIImageView() + /* + func setupImage(with image: UIImage){ + addSubview(postImageView) + postImageView.snp.makeConstraints{ $0.edges.equalToSuperview() } + postImageView.image = UIImage() // + postImageView.backgroundColor = .tertiaryLabel //서버연동해서 이미지데이터받아오기 + }*/ + public func uploadData(_ imageURLStr: String?){ + //imageView의 이미지를 업로드한다. + guard let imageURLStr = imageURLStr else {return } + + if let url = URL(string: imageURLStr){ + postImageView.kf.setImage(with: url, + placeholder: UIImage(systemName: "photo")) + } + + addSubview(postImageView) + postImageView.snp.makeConstraints{ $0.edges.equalToSuperview() } + postImageView.backgroundColor = .tertiaryLabel - + } } diff --git a/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/PostGet/UserFeedDataManager.swift b/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/PostGet/UserFeedDataManager.swift new file mode 100644 index 0000000..5a76ca8 --- /dev/null +++ b/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/PostGet/UserFeedDataManager.swift @@ -0,0 +1,29 @@ +// +// UserFeedDataManager.swift +// There-iOS +// +// Created by 이민아 on 2022/08/11. +// + +import Alamofire + +class UserFeedDataManager{ + //MARK: 유저 피드 조회 API + func getUserFeed(_ viewController : MypageViewController, + _ postIdx: Int32 + ){ + //통신 + AF.request("https://3.39.57.176:8080/posts/\(postIdx)", + method: .get, + parameters: postIdx) + .validate() + .responseDecodable(of: UserFeedModel.self) { response in + switch response.result{ + case.success(let result): + viewController.sucessAPI(result) + case.failure(let error): + print(error.localizedDescription) + } + } + } +} diff --git a/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/PostGet/UserFeedModel.swift b/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/PostGet/UserFeedModel.swift new file mode 100644 index 0000000..5fbcee5 --- /dev/null +++ b/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/PostGet/UserFeedModel.swift @@ -0,0 +1,29 @@ +// +// UserFeedModel.swift +// There-iOS +// +// Created by 이민아 on 2022/08/11. +// + +import Foundation + +struct UserFeedModel: Codable { + let code: Int? + let isSuccess: Bool? + let message: String? + let result: Result? +} + +struct Result: Codable { + let content: String? + let getPostTagist: [GetPostTagist]? + let imgURL : String? + let likeCount: Int? + let nickName: String? + let postIdx: Int? + let profileImgUrl: String? +} + +struct GetPostTagist: Codable { + let name : String? +} diff --git a/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/UploadDataInput.swift b/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/PostPost/UploadDataInput.swift similarity index 100% rename from There-iOS/There-iOS/MainView/ProfileView/MyProfileView/UploadDataInput.swift rename to There-iOS/There-iOS/MainView/ProfileView/MyProfileView/PostPost/UploadDataInput.swift diff --git a/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/UploadDataManager.swift b/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/PostPost/UploadDataManager.swift similarity index 100% rename from There-iOS/There-iOS/MainView/ProfileView/MyProfileView/UploadDataManager.swift rename to There-iOS/There-iOS/MainView/ProfileView/MyProfileView/PostPost/UploadDataManager.swift diff --git a/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/UploadDataModel.swift b/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/PostPost/UploadDataModel.swift similarity index 100% rename from There-iOS/There-iOS/MainView/ProfileView/MyProfileView/UploadDataModel.swift rename to There-iOS/There-iOS/MainView/ProfileView/MyProfileView/PostPost/UploadDataModel.swift diff --git a/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/UploadViewController.swift b/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/UploadViewController.swift index 5521bb1..797d246 100644 --- a/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/UploadViewController.swift +++ b/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/UploadViewController.swift @@ -7,6 +7,7 @@ import SnapKit import UIKit +import SwiftUI final class UploadViewController: UIViewController { @@ -46,7 +47,7 @@ final class UploadViewController: UIViewController { return button }() - private let uploadImage: UIImage + private var uploadImage: UIImage private lazy var uploadImageView: UIImageView = { let imageView = UIImageView() @@ -55,6 +56,7 @@ final class UploadViewController: UIViewController { return imageView }() + init(uploadImage: UIImage) { self.uploadImage = uploadImage @@ -132,28 +134,22 @@ final class UploadViewController: UIViewController { //image upload extension UploadViewController : UIImagePickerControllerDelegate, UINavigationControllerDelegate { //imagepicker 델리게이트를 따를 때 반드시 navigation delegate 따라야한다. func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) { //media를 pick했을 때 할 수 있는 동작 구현 -> 게시물 작성 화면으로 넘기기 - var selectImage: UIImage? + var selectImage: UIImage? = nil if let editedImage = info[UIImagePickerController.InfoKey.editedImage] as? UIImage{ selectImage = editedImage - }//info: pick한 정보를 가지고 있는 딕셔너리 + } else if let originalImage = info[UIImagePickerController.InfoKey.originalImage] as? UIImage{ selectImage = originalImage } + self.uploadImageView.image = selectImage ?? UIImage() - print(selectImage) + picker.dismiss(animated: true) + //let input = UploadDataInput(images: imageString, jsonList: String, userIdx: Int32) -> mypage //완료를 눌렀을 때, Mypage.PostView.PostCell로 이미지 넘어가도록 - - - picker.dismiss(animated: true) { [weak self] in //메모리위해 ..뒤에 self? - let uploadViewController = UploadViewController(uploadImage: selectImage ?? UIImage()) - let navigationController = UINavigationController(rootViewController: uploadViewController) - //navigationController.modalPresentationStyle = .fullScreen - - self?.present(navigationController, animated: true) + // self?.uploadImage = selectImage ?? UIImage() - }//imagePicker 창닫고, completion: 게시물 작성창으로 넘김 } } @@ -186,12 +182,12 @@ private extension UploadViewController{ } @objc func didUploadPost(){ - print("upload") + uploadImage //-> MypageViewController로 넘기기 dismiss(animated: true) } @objc func imgPick(){ - present(imagePickerViewController, animated: true) + self.present(self.imagePickerViewController, animated: true) } func setUpLayOut(){ From 35c8750df325561a79c6d8495351fd80208c4f9d Mon Sep 17 00:00:00 2001 From: mal0070 Date: Thu, 18 Aug 2022 17:47:10 +0900 Subject: [PATCH 09/10] =?UTF-8?q?Fix:=20UploadViewController=20=EC=A4=91?= =?UTF-8?q?=EB=B3=B5=20=ED=95=B4=EA=B2=B0,=20Feat:=20UserFeed=20=EC=A1=B0?= =?UTF-8?q?=ED=9A=8C=20flow?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .DS_Store | Bin 6148 -> 8196 bytes .../UserInterfaceState.xcuserstate | Bin 91854 -> 74259 bytes There-iOS/.DS_Store | Bin 0 -> 6148 bytes .../xcschemes/xcschememanagement.plist | 16 +++--- There-iOS/There-iOS.xcodeproj/project.pbxproj | 20 +++---- .../xcschemes/xcschememanagement.plist | 2 +- .../UserInterfaceState.xcuserstate | Bin 42907 -> 56571 bytes .../MyProfileView/MypageViewController.swift | 53 ++++++------------ .../PostCollectionViewCell.swift | 18 +----- .../PostGet/PostDetailModel.swift | 29 ++++++++++ .../PostGet/UserFeedDataManager.swift | 2 +- .../MyProfileView/PostGet/UserFeedModel.swift | 38 ++++++++----- .../PostPost/UploadDataInput.swift | 6 +- .../PostPost/UploadDataModel.swift | 2 +- .../MyProfileView/UploadViewController.swift | 51 ++++++++++------- 15 files changed, 121 insertions(+), 116 deletions(-) create mode 100644 There-iOS/.DS_Store create mode 100644 There-iOS/There-iOS/MainView/ProfileView/MyProfileView/PostGet/PostDetailModel.swift diff --git a/.DS_Store b/.DS_Store index 6352970d6bb0061532b28d96e5a12c9c08231f99..14f93397ed2ba263fac72c3d0e43d16ee6897cdd 100644 GIT binary patch delta 343 zcmZoMXmOBWU|?W$DortDU;r^WfEYvza8E20o2aMA$iFdQH{)gn4tAE!0xVw{7qfG4 zOl)9b zUyy-pjKbs%%zl%%Fl(b4rxc_XtPit(>*NE?8She#ldN0vY}o-trzq3mXLp6AS5 k65K#1x`KjdGb77)=E?jbj+5Pa1UMKWA;+*eo@Wj-0K83FNB{r; delta 151 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 literal 91854 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.xcscheme_^#shared#^_ orderHint - 0 + 7 Kingfisher.xcscheme_^#shared#^_ orderHint - 6 + 3 Pods-There-iOS.xcscheme_^#shared#^_ orderHint - 5 + 2 RxCocoa.xcscheme_^#shared#^_ orderHint - 7 + 0 RxRelay.xcscheme_^#shared#^_ orderHint - 3 + 6 RxSwift.xcscheme_^#shared#^_ orderHint - 2 + 1 SnapKit.xcscheme_^#shared#^_ orderHint - 8 + 5 Then.xcscheme_^#shared#^_ orderHint - 4 + 8 diff --git a/There-iOS/There-iOS.xcodeproj/project.pbxproj b/There-iOS/There-iOS.xcodeproj/project.pbxproj index 652a519..216a291 100644 --- a/There-iOS/There-iOS.xcodeproj/project.pbxproj +++ b/There-iOS/There-iOS.xcodeproj/project.pbxproj @@ -50,11 +50,10 @@ 07A4F6B728A122B7006D24FE /* MainTabBarController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07A4F6B628A122B7006D24FE /* MainTabBarController.swift */; }; 07A4F6B928A122CE006D24FE /* NavigationViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07A4F6B828A122CE006D24FE /* NavigationViewController.swift */; }; 07A4F6BB28A12300006D24FE /* ChatViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07A4F6BA28A12300006D24FE /* ChatViewController.swift */; }; - 2F51284A28A4D6E200BFD4A2 /* UploadDataManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F51284928A4D6E200BFD4A2 /* UploadDataManager.swift */; }; 2F51284C28A4D6FE00BFD4A2 /* UploadDataModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F51284B28A4D6FE00BFD4A2 /* UploadDataModel.swift */; }; 2F51284E28A4D72600BFD4A2 /* UploadDataInput.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F51284D28A4D72600BFD4A2 /* UploadDataInput.swift */; }; - 2F51285028A4F7F800BFD4A2 /* UserFeedModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F51284F28A4F7F800BFD4A2 /* UserFeedModel.swift */; }; - 2F51285228A4F80F00BFD4A2 /* UserFeedDataManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F51285128A4F80F00BFD4A2 /* UserFeedDataManager.swift */; }; + 2F51285028A4F7F800BFD4A2 /* PostDetailModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F51284F28A4F7F800BFD4A2 /* PostDetailModel.swift */; }; + 2FFDB62328AE1DC3006D2813 /* UserFeedModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2FFDB62228AE1DC3006D2813 /* UserFeedModel.swift */; }; /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -116,11 +115,10 @@ 07A4F6B828A122CE006D24FE /* NavigationViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NavigationViewController.swift; sourceTree = ""; }; 07A4F6BA28A12300006D24FE /* ChatViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatViewController.swift; sourceTree = ""; }; 22722C1C4D5D09C328FAA5C6 /* Pods-There-iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-There-iOS.release.xcconfig"; path = "Target Support Files/Pods-There-iOS/Pods-There-iOS.release.xcconfig"; sourceTree = ""; }; - 2F51284928A4D6E200BFD4A2 /* UploadDataManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UploadDataManager.swift; sourceTree = ""; }; 2F51284B28A4D6FE00BFD4A2 /* UploadDataModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UploadDataModel.swift; sourceTree = ""; }; 2F51284D28A4D72600BFD4A2 /* UploadDataInput.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UploadDataInput.swift; sourceTree = ""; }; - 2F51284F28A4F7F800BFD4A2 /* UserFeedModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserFeedModel.swift; sourceTree = ""; }; - 2F51285128A4F80F00BFD4A2 /* UserFeedDataManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserFeedDataManager.swift; sourceTree = ""; }; + 2F51284F28A4F7F800BFD4A2 /* PostDetailModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PostDetailModel.swift; sourceTree = ""; }; + 2FFDB62228AE1DC3006D2813 /* UserFeedModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserFeedModel.swift; sourceTree = ""; }; 6D386B0B995F0BF8159ED417 /* Pods_There_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_There_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; E5B19E80E5B22621CC89CB27 /* Pods-There-iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-There-iOS.debug.xcconfig"; path = "Target Support Files/Pods-There-iOS/Pods-There-iOS.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ @@ -337,8 +335,8 @@ 2F51285328A5105A00BFD4A2 /* PostGet */ = { isa = PBXGroup; children = ( - 2F51284F28A4F7F800BFD4A2 /* UserFeedModel.swift */, - 2F51285128A4F80F00BFD4A2 /* UserFeedDataManager.swift */, + 2F51284F28A4F7F800BFD4A2 /* PostDetailModel.swift */, + 2FFDB62228AE1DC3006D2813 /* UserFeedModel.swift */, ); path = PostGet; sourceTree = ""; @@ -348,7 +346,6 @@ children = ( 2F51284D28A4D72600BFD4A2 /* UploadDataInput.swift */, 2F51284B28A4D6FE00BFD4A2 /* UploadDataModel.swift */, - 2F51284928A4D6E200BFD4A2 /* UploadDataManager.swift */, ); path = PostPost; sourceTree = ""; @@ -497,15 +494,14 @@ 07A4F6A328A121DD006D24FE /* CustomSnsButton.swift in Sources */, 074D675D28A3DB89006C00C1 /* CustomOptionCell.swift in Sources */, 07A4F6AF28A12253006D24FE /* NetworkResult.swift in Sources */, - 2F51284A28A4D6E200BFD4A2 /* UploadDataManager.swift in Sources */, 074D675B28A3CBB3006C00C1 /* CustomPaymentCell.swift in Sources */, 07A4F6A528A121F1006D24FE /* CustomTabBar.swift in Sources */, 07A4F68A28A12104006D24FE /* ViewController.swift in Sources */, 07149CEB28A13690000B894F /* PostViewController.swift in Sources */, + 2FFDB62328AE1DC3006D2813 /* UserFeedModel.swift in Sources */, 074EF97528A1301600D93ABC /* CollectionTableViewCell.swift in Sources */, 07A4F6A928A12216006D24FE /* UIButton+.swift in Sources */, - 2F51285228A4F80F00BFD4A2 /* UserFeedDataManager.swift in Sources */, - 2F51285028A4F7F800BFD4A2 /* UserFeedModel.swift in Sources */, + 2F51285028A4F7F800BFD4A2 /* PostDetailModel.swift in Sources */, 074EF98328A1313400D93ABC /* PortfolioTableViewCell.swift in Sources */, 074EF96C28A12EAD00D93ABC /* LoginViewController.swift in Sources */, 074EF96828A12E7400D93ABC /* LoginDataModel.swift in Sources */, diff --git a/There-iOS/There-iOS.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/xcschememanagement.plist b/There-iOS/There-iOS.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/xcschememanagement.plist index c142247..dbb061c 100644 --- a/There-iOS/There-iOS.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/There-iOS/There-iOS.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/xcschememanagement.plist @@ -7,7 +7,7 @@ There-iOS.xcscheme_^#shared#^_ orderHint - 1 + 4 diff --git a/There-iOS/There-iOS.xcworkspace/xcuserdata/imina.xcuserdatad/UserInterfaceState.xcuserstate b/There-iOS/There-iOS.xcworkspace/xcuserdata/imina.xcuserdatad/UserInterfaceState.xcuserstate index ee5a1de858f0e1713b263ba8ff50e7381a17b93d..7b5284b6009f96b5ad3d04bcd9f1dba7a5d2a745 100644 GIT binary patch literal 56571 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 =rVr{hAkR~V`P0&nm4 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 G+x`buI`YK; diff --git a/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/MypageViewController.swift b/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/MypageViewController.swift index 4ec7aca..99a38c0 100644 --- a/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/MypageViewController.swift +++ b/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/MypageViewController.swift @@ -8,22 +8,16 @@ import UIKit import SnapKit import Then +import Kingfisher class MypageViewController: UIViewController{ - convenience init(bgColor: UIColor) { + convenience init(bgColor: UIColor) { self.init() view.backgroundColor = bgColor } - var userPosts: [Result]?{ - didSet { self.postCollectionView.reloadData()} - } //데이터 업로드 - - // var deletedIndex: Int? - - - let uploadViewController = UINavigationController(rootViewController: UploadViewController(uploadImage: UIImage())) + var userFeedModel : UserFeedModel? private lazy var profileImageView: UIImageView = { let imageView = UIImageView() @@ -91,7 +85,7 @@ class MypageViewController: UIViewController{ }() - lazy var postCollectionView: UICollectionView = { + private lazy var postCollectionView: UICollectionView = { let layout = UICollectionViewFlowLayout() layout.minimumLineSpacing = 0.5 layout.minimumInteritemSpacing = 0.5 @@ -172,28 +166,23 @@ class MypageViewController: UIViewController{ extension MypageViewController: UICollectionViewDataSource { func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { - let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "PostCollectionViewCell", for: indexPath) as? PostCollectionViewCell + guard let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "PostCollectionViewCell", for: indexPath) as? PostCollectionViewCell else {return UICollectionViewCell()} - //cell?.setupImage(with: UIImage()) //named:"asset name" 하면 이미지 띄울 수 있음 - - let itemIndex = indexPath.item - //PostIdx.init(postIdx: indexPath.item) //인덱스 설정 post까지 구현하면 수정하기 - if let cellData = self.userPosts{ //데이터 셀에 전달 - cell?.uploadData(cellData[itemIndex].imgURL) - } + let imageUrl = URL(string: userFeedModel?.result.getUserPosts[indexPath.row].imgUrl ?? "default") + cell.postImageView.kf.setImage(with: imageUrl) + + //cell?.setupImage(with: UIImage) //named:"asset name" 하면 이미지 띄울 수 있음 - return cell ?? UICollectionViewCell() + return cell } func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { - return userPosts?.count ?? 0 //업로드 한 만큼 셀 생성 + return userFeedModel?.result.getUserPosts.count ?? 0 //포스트 개수만큼 } func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { - let post = PostViewController(bgColor: UIColor.white) self.navigationController?.pushViewController(post, animated: true) - } @@ -227,6 +216,8 @@ extension MypageViewController: UITableViewDataSource { + + //UI private extension MypageViewController{ @@ -249,7 +240,9 @@ private extension MypageViewController{ } @objc func didTapUploadButton(){ - present(uploadViewController, animated: true) + let uploadViewController = UploadViewController(uploadImage: UIImage()) + uploadViewController.modalPresentationStyle = .fullScreen + navigationController?.show(uploadViewController, sender: nil) } @objc func didTapPopUpButton() { @@ -322,18 +315,4 @@ private extension MypageViewController{ } -//API 통신 -extension MypageViewController{ - func sucessAPI(_ result: UserFeedModel){ - // self.userPosts.result.postIdx = result.result?.postIdx - print("ddd") - } - - func successDeletePostAPI(_ isSuccess: Bool){ - guard isSuccess else {return} - - } -} - - diff --git a/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/PostCollectionViewCell.swift b/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/PostCollectionViewCell.swift index 3a93736..b07c215 100644 --- a/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/PostCollectionViewCell.swift +++ b/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/PostCollectionViewCell.swift @@ -9,29 +9,13 @@ import UIKit import SnapKit import Kingfisher -final class PostCollectionViewCell: UICollectionViewCell { +class PostCollectionViewCell: UICollectionViewCell { let postImageView = UIImageView() - /* func setupImage(with image: UIImage){ addSubview(postImageView) postImageView.snp.makeConstraints{ $0.edges.equalToSuperview() } postImageView.image = UIImage() // postImageView.backgroundColor = .tertiaryLabel //서버연동해서 이미지데이터받아오기 - }*/ - - public func uploadData(_ imageURLStr: String?){ - //imageView의 이미지를 업로드한다. - guard let imageURLStr = imageURLStr else {return } - - if let url = URL(string: imageURLStr){ - postImageView.kf.setImage(with: url, - placeholder: UIImage(systemName: "photo")) - } - - addSubview(postImageView) - postImageView.snp.makeConstraints{ $0.edges.equalToSuperview() } - postImageView.backgroundColor = .tertiaryLabel - } } diff --git a/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/PostGet/PostDetailModel.swift b/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/PostGet/PostDetailModel.swift new file mode 100644 index 0000000..c0a9468 --- /dev/null +++ b/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/PostGet/PostDetailModel.swift @@ -0,0 +1,29 @@ +// +// UserFeedModel.swift +// There-iOS +// +// Created by 이민아 on 2022/08/11. +// + +import Foundation + +struct PostDetailModel: Codable { + let code: Int + let isSuccess: Bool? + let message: String? + let result: Result? +} + +struct Result: Codable { + let content: String? + let getPostTagist: [GetPostTagist]? + let imgURL : String? + let likeCount: Int? + let nickName: String? + let postIdx: Int? + let profileImgUrl: String? +} + +struct GetPostTagist: Codable { + let name : String? +} diff --git a/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/PostGet/UserFeedDataManager.swift b/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/PostGet/UserFeedDataManager.swift index 5a76ca8..e9dcf84 100644 --- a/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/PostGet/UserFeedDataManager.swift +++ b/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/PostGet/UserFeedDataManager.swift @@ -20,7 +20,7 @@ class UserFeedDataManager{ .responseDecodable(of: UserFeedModel.self) { response in switch response.result{ case.success(let result): - viewController.sucessAPI(result) + print ("success") case.failure(let error): print(error.localizedDescription) } diff --git a/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/PostGet/UserFeedModel.swift b/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/PostGet/UserFeedModel.swift index 5fbcee5..779896f 100644 --- a/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/PostGet/UserFeedModel.swift +++ b/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/PostGet/UserFeedModel.swift @@ -1,29 +1,37 @@ // -// UserFeedModel.swift +// FeedDataModel.swift // There-iOS // -// Created by 이민아 on 2022/08/11. +// Created by 이민아 on 2022/08/18. // import Foundation +//parameter: userIdx struct UserFeedModel: Codable { - let code: Int? - let isSuccess: Bool? - let message: String? - let result: Result? + let code: Int + let isSuccess: Bool + let message: String + let result: FeedResult } -struct Result: Codable { - let content: String? - let getPostTagist: [GetPostTagist]? - let imgURL : String? - let likeCount: Int? - let nickName: String? +struct FeedResult: Codable { + let getUserPosts: [GetUserPosts] + let getUserRes: GetUserRes +} + +struct GetUserPosts: Codable { + let imgUrl: String? let postIdx: Int? - let profileImgUrl: String? } -struct GetPostTagist: Codable { - let name : String? +struct GetUserRes: Codable { + let email: String + let followeeIdx: Int + let followerIdx: Int + let info: String + let name: String + let nickName: String + let profileImgUrl: String + let userIdx: Int } diff --git a/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/PostPost/UploadDataInput.swift b/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/PostPost/UploadDataInput.swift index 22fe9c1..a9aa074 100644 --- a/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/PostPost/UploadDataInput.swift +++ b/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/PostPost/UploadDataInput.swift @@ -8,8 +8,8 @@ import Foundation -struct UploadDataInput: Codable { +struct UploadDataInput: Codable { //파라미터 var images : [String?] - var jsonList : String - var userIdx : Int32 + var jsonList : String? + var userIdx : Int32? } diff --git a/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/PostPost/UploadDataModel.swift b/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/PostPost/UploadDataModel.swift index 2e352c9..ec82244 100644 --- a/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/PostPost/UploadDataModel.swift +++ b/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/PostPost/UploadDataModel.swift @@ -11,7 +11,7 @@ struct UploadDataModel: Codable { let code: Int let isSuccess: Bool let message: String - let postIdx: PostIdx + let result: PostIdx? } struct PostIdx: Codable{ diff --git a/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/UploadViewController.swift b/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/UploadViewController.swift index 797d246..5850eb4 100644 --- a/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/UploadViewController.swift +++ b/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/UploadViewController.swift @@ -7,7 +7,8 @@ import SnapKit import UIKit -import SwiftUI +import Kingfisher + final class UploadViewController: UIViewController { @@ -47,7 +48,7 @@ final class UploadViewController: UIViewController { return button }() - private var uploadImage: UIImage + private lazy var uploadImageView: UIImageView = { let imageView = UIImageView() @@ -55,7 +56,8 @@ final class UploadViewController: UIViewController { imageView.layer.borderColor = UIColor.quaternaryLabel.cgColor return imageView }() - + + public let uploadImage: UIImage init(uploadImage: UIImage) { self.uploadImage = uploadImage @@ -114,7 +116,6 @@ final class UploadViewController: UIViewController { return lineView }() - override func viewDidLoad() { super.viewDidLoad() view.backgroundColor = .white @@ -122,10 +123,17 @@ final class UploadViewController: UIViewController { setUpLayOut() uploadImageView.image = uploadImage - if uploadImage != UIImage() { + /*if uploadImage != UIImage() { self.selectButton.isHidden = true - } + }*/ } + override func viewWillAppear(_ animated: Bool) { + super.viewWillAppear(animated) + + //navigationBar 보이기 + navigationController?.navigationBar.isHidden = false + } + } @@ -134,7 +142,7 @@ final class UploadViewController: UIViewController { //image upload extension UploadViewController : UIImagePickerControllerDelegate, UINavigationControllerDelegate { //imagepicker 델리게이트를 따를 때 반드시 navigation delegate 따라야한다. func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) { //media를 pick했을 때 할 수 있는 동작 구현 -> 게시물 작성 화면으로 넘기기 - var selectImage: UIImage? = nil + var selectImage: UIImage? if let editedImage = info[UIImagePickerController.InfoKey.editedImage] as? UIImage{ selectImage = editedImage @@ -144,12 +152,9 @@ extension UploadViewController : UIImagePickerControllerDelegate, UINavigationCo } self.uploadImageView.image = selectImage ?? UIImage() - picker.dismiss(animated: true) - - //let input = UploadDataInput(images: imageString, jsonList: String, userIdx: Int32) -> mypage - //완료를 눌렀을 때, Mypage.PostView.PostCell로 이미지 넘어가도록 - // self?.uploadImage = selectImage ?? UIImage() - + picker.dismiss(animated: true){ + self.selectButton.isHidden = true + } } } @@ -161,6 +166,12 @@ extension UploadViewController: UITextViewDelegate { textView.text = nil textView.textColor = .label } + + //return 키 -> 키보드 내려가도록 + func textFieldShouldReturn(_ textField: UITextField) -> Bool { + view.endEditing(true) + return false + } } private extension UploadViewController{ @@ -172,18 +183,18 @@ private extension UploadViewController{ navigationItem.title = "게시글" let didButton = UIBarButtonItem(title: "완료", style: .plain, target: self, action: #selector(didUploadPost)) - - didButton.tintColor = .black + //didButton.tintColor = .black navigationItem.rightBarButtonItem = didButton } @objc func closeView(){ - dismiss(animated: true) + self.navigationController?.popViewController(animated: true) } - @objc func didUploadPost(){ - uploadImage //-> MypageViewController로 넘기기 - dismiss(animated: true) + @objc func didUploadPost() -> UIImage{ + self.navigationController?.popViewController(animated: true) + return (uploadImage) + } @objc func imgPick(){ @@ -192,8 +203,6 @@ private extension UploadViewController{ func setUpLayOut(){ - - [postTitleLabel, postTitleTextField, underLineView1, uploadImageView, selectButton, postIntroLabel,introImageView, postIntroTextView, hashTagTextfield, underLineView2].forEach{view.addSubview($0)} let inset: CGFloat = 16.0 From 078d901b3cab3b1f107a3c89adad5d75ef4edf8f Mon Sep 17 00:00:00 2001 From: mal0070 Date: Sat, 20 Aug 2022 15:00:52 +0900 Subject: [PATCH 10/10] =?UTF-8?q?Fix:=20=ED=94=84=EB=A1=9C=ED=95=84=20?= =?UTF-8?q?=EC=84=9C=EB=B2=84=EC=97=B0=EB=8F=99=EC=BD=94=EB=93=9C=20?= =?UTF-8?q?=EC=88=98=EC=A0=95,=20pod=ED=8C=8C=EC=9D=BC=20=EC=82=AD?= =?UTF-8?q?=EC=A0=9C=20=ED=9B=84=20=EB=8B=A4=EC=8B=9C=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- There-iOS/.DS_Store | Bin 6148 -> 6148 bytes There-iOS/Podfile | 2 - There-iOS/Podfile.lock | 10 +- There-iOS/Pods/Manifest.lock | 10 +- There-iOS/Pods/Pods.xcodeproj/project.pbxproj | 3706 +++++++---------- .../xcschemes/Alamofire.xcscheme | 58 + .../xcschemes/Kingfisher.xcscheme | 58 + .../xcschemes/Pods-There-iOS.xcscheme | 58 + .../xcschemes/RxCocoa.xcscheme | 58 + .../xcschemes/RxRelay.xcscheme | 58 + .../xcschemes/RxSwift.xcscheme | 58 + .../xcschemes/xcschememanagement.plist | 44 +- There-iOS/Pods/SnapKit/LICENSE | 19 - There-iOS/Pods/SnapKit/README.md | 155 - .../Pods/SnapKit/Sources/Constraint.swift | 341 -- .../Sources/ConstraintAttributes.swift | 203 - .../SnapKit/Sources/ConstraintConfig.swift | 37 - .../Sources/ConstraintConstantTarget.swift | 213 - .../Pods/SnapKit/Sources/ConstraintDSL.swift | 209 - .../Sources/ConstraintDescription.swift | 69 - .../ConstraintDirectionalInsetTarget.swift | 49 - .../Sources/ConstraintDirectionalInsets.swift | 34 - .../Sources/ConstraintInsetTarget.swift | 72 - .../SnapKit/Sources/ConstraintInsets.swift | 35 - .../Pods/SnapKit/Sources/ConstraintItem.swift | 61 - .../ConstraintLayoutGuide+Extensions.swift | 36 - .../Sources/ConstraintLayoutGuide.swift | 37 - .../Sources/ConstraintLayoutGuideDSL.swift | 66 - .../Sources/ConstraintLayoutSupport.swift | 36 - .../Sources/ConstraintLayoutSupportDSL.swift | 56 - .../SnapKit/Sources/ConstraintMaker.swift | 224 - .../Sources/ConstraintMakerEditable.swift | 64 - .../Sources/ConstraintMakerExtendable.swift | 195 - .../Sources/ConstraintMakerFinalizable.swift | 49 - .../ConstraintMakerPrioritizable.swift | 70 - .../ConstraintMakerRelatable+Extensions.swift | 57 - .../Sources/ConstraintMakerRelatable.swift | 115 - .../Sources/ConstraintMultiplierTarget.swift | 75 - .../Sources/ConstraintOffsetTarget.swift | 69 - .../SnapKit/Sources/ConstraintPriority.swift | 77 - .../Sources/ConstraintPriorityTarget.swift | 85 - .../Sources/ConstraintRelatableTarget.swift | 72 - .../SnapKit/Sources/ConstraintRelation.swift | 48 - .../Sources/ConstraintView+Extensions.swift | 152 - .../Pods/SnapKit/Sources/ConstraintView.swift | 35 - .../SnapKit/Sources/ConstraintViewDSL.swift | 101 - .../Pods/SnapKit/Sources/Debugging.swift | 169 - .../SnapKit/Sources/LayoutConstraint.swift | 61 - .../Sources/LayoutConstraintItem.swift | 93 - .../Pods/SnapKit/Sources/Typealiases.swift | 42 - .../Sources/UILayoutSupport+Extensions.swift | 36 - .../Pods-There-iOS-acknowledgements.markdown | 48 - .../Pods-There-iOS-acknowledgements.plist | 60 - ...OS-frameworks-Debug-input-files.xcfilelist | 4 +- ...S-frameworks-Debug-output-files.xcfilelist | 4 +- ...-frameworks-Release-input-files.xcfilelist | 4 +- ...frameworks-Release-output-files.xcfilelist | 4 +- .../Pods-There-iOS-frameworks.sh | 4 - .../Pods-There-iOS.debug.xcconfig | 6 +- .../Pods-There-iOS.release.xcconfig | 6 +- .../SnapKit/SnapKit-Info.plist | 26 - .../SnapKit/SnapKit-dummy.m | 5 - .../SnapKit/SnapKit-prefix.pch | 12 - .../SnapKit/SnapKit-umbrella.h | 16 - .../SnapKit/SnapKit.debug.xcconfig | 13 - .../SnapKit/SnapKit.modulemap | 6 - .../SnapKit/SnapKit.release.xcconfig | 13 - .../Target Support Files/Then/Then-Info.plist | 26 - .../Target Support Files/Then/Then-dummy.m | 5 - .../Target Support Files/Then/Then-prefix.pch | 12 - .../Target Support Files/Then/Then-umbrella.h | 16 - .../Then/Then.debug.xcconfig | 13 - .../Target Support Files/Then/Then.modulemap | 6 - .../Then/Then.release.xcconfig | 13 - There-iOS/Pods/Then/LICENSE | 21 - There-iOS/Pods/Then/README.md | 124 - There-iOS/Pods/Then/Sources/Then/Then.swift | 98 - There-iOS/There-iOS.xcodeproj/project.pbxproj | 56 + .../xcschemes/xcschememanagement.plist | 2 +- .../xcshareddata/swiftpm/Package.resolved | 23 + .../UserInterfaceState.xcuserstate | Bin 56571 -> 63260 bytes .../xcschemes/xcschememanagement.plist | 30 + .../MyProfileView/MypageViewController.swift | 16 +- .../PostCollectionViewCell.swift | 2 + .../PostGet/PostDetailGetManager.swift | 8 + .../PostGet/UserFeedGetManager.swift | 26 + .../MyProfileView/PostGet/UserFeedModel.swift | 7 +- .../PostPost/UploadDataManager.swift | 2 +- 88 files changed, 2146 insertions(+), 6328 deletions(-) create mode 100644 There-iOS/Pods/Pods.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/Alamofire.xcscheme create mode 100644 There-iOS/Pods/Pods.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/Kingfisher.xcscheme create mode 100644 There-iOS/Pods/Pods.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/Pods-There-iOS.xcscheme create mode 100644 There-iOS/Pods/Pods.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/RxCocoa.xcscheme create mode 100644 There-iOS/Pods/Pods.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/RxRelay.xcscheme create mode 100644 There-iOS/Pods/Pods.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/RxSwift.xcscheme delete mode 100644 There-iOS/Pods/SnapKit/LICENSE delete mode 100644 There-iOS/Pods/SnapKit/README.md delete mode 100644 There-iOS/Pods/SnapKit/Sources/Constraint.swift delete mode 100644 There-iOS/Pods/SnapKit/Sources/ConstraintAttributes.swift delete mode 100644 There-iOS/Pods/SnapKit/Sources/ConstraintConfig.swift delete mode 100644 There-iOS/Pods/SnapKit/Sources/ConstraintConstantTarget.swift delete mode 100644 There-iOS/Pods/SnapKit/Sources/ConstraintDSL.swift delete mode 100644 There-iOS/Pods/SnapKit/Sources/ConstraintDescription.swift delete mode 100644 There-iOS/Pods/SnapKit/Sources/ConstraintDirectionalInsetTarget.swift delete mode 100644 There-iOS/Pods/SnapKit/Sources/ConstraintDirectionalInsets.swift delete mode 100644 There-iOS/Pods/SnapKit/Sources/ConstraintInsetTarget.swift delete mode 100644 There-iOS/Pods/SnapKit/Sources/ConstraintInsets.swift delete mode 100644 There-iOS/Pods/SnapKit/Sources/ConstraintItem.swift delete mode 100644 There-iOS/Pods/SnapKit/Sources/ConstraintLayoutGuide+Extensions.swift delete mode 100644 There-iOS/Pods/SnapKit/Sources/ConstraintLayoutGuide.swift delete mode 100644 There-iOS/Pods/SnapKit/Sources/ConstraintLayoutGuideDSL.swift delete mode 100644 There-iOS/Pods/SnapKit/Sources/ConstraintLayoutSupport.swift delete mode 100644 There-iOS/Pods/SnapKit/Sources/ConstraintLayoutSupportDSL.swift delete mode 100644 There-iOS/Pods/SnapKit/Sources/ConstraintMaker.swift delete mode 100644 There-iOS/Pods/SnapKit/Sources/ConstraintMakerEditable.swift delete mode 100644 There-iOS/Pods/SnapKit/Sources/ConstraintMakerExtendable.swift delete mode 100644 There-iOS/Pods/SnapKit/Sources/ConstraintMakerFinalizable.swift delete mode 100644 There-iOS/Pods/SnapKit/Sources/ConstraintMakerPrioritizable.swift delete mode 100644 There-iOS/Pods/SnapKit/Sources/ConstraintMakerRelatable+Extensions.swift delete mode 100644 There-iOS/Pods/SnapKit/Sources/ConstraintMakerRelatable.swift delete mode 100644 There-iOS/Pods/SnapKit/Sources/ConstraintMultiplierTarget.swift delete mode 100644 There-iOS/Pods/SnapKit/Sources/ConstraintOffsetTarget.swift delete mode 100644 There-iOS/Pods/SnapKit/Sources/ConstraintPriority.swift delete mode 100644 There-iOS/Pods/SnapKit/Sources/ConstraintPriorityTarget.swift delete mode 100644 There-iOS/Pods/SnapKit/Sources/ConstraintRelatableTarget.swift delete mode 100644 There-iOS/Pods/SnapKit/Sources/ConstraintRelation.swift delete mode 100644 There-iOS/Pods/SnapKit/Sources/ConstraintView+Extensions.swift delete mode 100644 There-iOS/Pods/SnapKit/Sources/ConstraintView.swift delete mode 100644 There-iOS/Pods/SnapKit/Sources/ConstraintViewDSL.swift delete mode 100644 There-iOS/Pods/SnapKit/Sources/Debugging.swift delete mode 100644 There-iOS/Pods/SnapKit/Sources/LayoutConstraint.swift delete mode 100644 There-iOS/Pods/SnapKit/Sources/LayoutConstraintItem.swift delete mode 100644 There-iOS/Pods/SnapKit/Sources/Typealiases.swift delete mode 100644 There-iOS/Pods/SnapKit/Sources/UILayoutSupport+Extensions.swift delete mode 100644 There-iOS/Pods/Target Support Files/SnapKit/SnapKit-Info.plist delete mode 100644 There-iOS/Pods/Target Support Files/SnapKit/SnapKit-dummy.m delete mode 100644 There-iOS/Pods/Target Support Files/SnapKit/SnapKit-prefix.pch delete mode 100644 There-iOS/Pods/Target Support Files/SnapKit/SnapKit-umbrella.h delete mode 100644 There-iOS/Pods/Target Support Files/SnapKit/SnapKit.debug.xcconfig delete mode 100644 There-iOS/Pods/Target Support Files/SnapKit/SnapKit.modulemap delete mode 100644 There-iOS/Pods/Target Support Files/SnapKit/SnapKit.release.xcconfig delete mode 100644 There-iOS/Pods/Target Support Files/Then/Then-Info.plist delete mode 100644 There-iOS/Pods/Target Support Files/Then/Then-dummy.m delete mode 100644 There-iOS/Pods/Target Support Files/Then/Then-prefix.pch delete mode 100644 There-iOS/Pods/Target Support Files/Then/Then-umbrella.h delete mode 100644 There-iOS/Pods/Target Support Files/Then/Then.debug.xcconfig delete mode 100644 There-iOS/Pods/Target Support Files/Then/Then.modulemap delete mode 100644 There-iOS/Pods/Target Support Files/Then/Then.release.xcconfig delete mode 100644 There-iOS/Pods/Then/LICENSE delete mode 100644 There-iOS/Pods/Then/README.md delete mode 100644 There-iOS/Pods/Then/Sources/Then/Then.swift create mode 100644 There-iOS/There-iOS.xcworkspace/xcshareddata/swiftpm/Package.resolved create mode 100644 There-iOS/There-iOS.xcworkspace/xcuserdata/imina.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 There-iOS/There-iOS/MainView/ProfileView/MyProfileView/PostGet/PostDetailGetManager.swift create mode 100644 There-iOS/There-iOS/MainView/ProfileView/MyProfileView/PostGet/UserFeedGetManager.swift diff --git a/There-iOS/.DS_Store b/There-iOS/.DS_Store index bb50a2ac3b7758bb02124e1eaa2744be09c16ab5..7f8048653fd3c850a533281efbd86d6c951cb2fa 100644 GIT binary patch delta 121 zcmZoMXffE(#LBep*d#Ws$?I5o*beO$D@LFbq!4&n*B-FfcF*Oe}2K%+B$b F9{|m0C*1%5 diff --git a/There-iOS/Podfile b/There-iOS/Podfile index b75a9b4..c6b89ee 100644 --- a/There-iOS/Podfile +++ b/There-iOS/Podfile @@ -7,8 +7,6 @@ target 'There-iOS' do # Pods for There-iOS - pod 'SnapKit', '~> 5.6.0' - pod 'Then', '~> 3.0.0' pod 'RxSwift', '~> 6.5.0' pod 'RxCocoa', '~> 6.5.0' pod 'Alamofire', '~> 5.6.0' diff --git a/There-iOS/Podfile.lock b/There-iOS/Podfile.lock index 09b49aa..9f2615f 100644 --- a/There-iOS/Podfile.lock +++ b/There-iOS/Podfile.lock @@ -7,16 +7,12 @@ PODS: - RxRelay (6.5.0): - RxSwift (= 6.5.0) - RxSwift (6.5.0) - - SnapKit (5.6.0) - - Then (3.0.0) DEPENDENCIES: - Alamofire (~> 5.6.0) - Kingfisher (~> 7.0) - RxCocoa (~> 6.5.0) - RxSwift (~> 6.5.0) - - SnapKit (~> 5.6.0) - - Then (~> 3.0.0) SPEC REPOS: trunk: @@ -25,8 +21,6 @@ SPEC REPOS: - RxCocoa - RxRelay - RxSwift - - SnapKit - - Then SPEC CHECKSUMS: Alamofire: 87bd8c952f9a4454320fce00d9cc3de57bcadaf5 @@ -34,9 +28,7 @@ SPEC CHECKSUMS: RxCocoa: 94f817b71c07517321eb4f9ad299112ca8af743b RxRelay: 1de1523e604c72b6c68feadedd1af3b1b4d0ecbd RxSwift: 5710a9e6b17f3c3d6e40d6e559b9fa1e813b2ef8 - SnapKit: e01d52ebb8ddbc333eefe2132acf85c8227d9c25 - Then: 844265ae87834bbe1147d91d5d41a404da2ec27d -PODFILE CHECKSUM: 2006427e6fc6daa4773c570268b7c6d0c672b015 +PODFILE CHECKSUM: a5d4006e317cad406eb8c1fbda8593803bffb042 COCOAPODS: 1.11.3 diff --git a/There-iOS/Pods/Manifest.lock b/There-iOS/Pods/Manifest.lock index 09b49aa..9f2615f 100644 --- a/There-iOS/Pods/Manifest.lock +++ b/There-iOS/Pods/Manifest.lock @@ -7,16 +7,12 @@ PODS: - RxRelay (6.5.0): - RxSwift (= 6.5.0) - RxSwift (6.5.0) - - SnapKit (5.6.0) - - Then (3.0.0) DEPENDENCIES: - Alamofire (~> 5.6.0) - Kingfisher (~> 7.0) - RxCocoa (~> 6.5.0) - RxSwift (~> 6.5.0) - - SnapKit (~> 5.6.0) - - Then (~> 3.0.0) SPEC REPOS: trunk: @@ -25,8 +21,6 @@ SPEC REPOS: - RxCocoa - RxRelay - RxSwift - - SnapKit - - Then SPEC CHECKSUMS: Alamofire: 87bd8c952f9a4454320fce00d9cc3de57bcadaf5 @@ -34,9 +28,7 @@ SPEC CHECKSUMS: RxCocoa: 94f817b71c07517321eb4f9ad299112ca8af743b RxRelay: 1de1523e604c72b6c68feadedd1af3b1b4d0ecbd RxSwift: 5710a9e6b17f3c3d6e40d6e559b9fa1e813b2ef8 - SnapKit: e01d52ebb8ddbc333eefe2132acf85c8227d9c25 - Then: 844265ae87834bbe1147d91d5d41a404da2ec27d -PODFILE CHECKSUM: 2006427e6fc6daa4773c570268b7c6d0c672b015 +PODFILE CHECKSUM: a5d4006e317cad406eb8c1fbda8593803bffb042 COCOAPODS: 1.11.3 diff --git a/There-iOS/Pods/Pods.xcodeproj/project.pbxproj b/There-iOS/Pods/Pods.xcodeproj/project.pbxproj index 1c38fd1..065ec4e 100644 --- a/There-iOS/Pods/Pods.xcodeproj/project.pbxproj +++ b/There-iOS/Pods/Pods.xcodeproj/project.pbxproj @@ -7,1024 +7,904 @@ objects = { /* Begin PBXBuildFile section */ - 00248C2FB6FF166D20CE1DEEED4F61FD /* SchedulerType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78CD0AE127F2118D1B135D21123B567C /* SchedulerType.swift */; }; - 005B319B494ED2DAA239B9939A504DFC /* Alamofire-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = B0EF334BF437A3AAE88D02BC04BDC3F7 /* Alamofire-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 00A2749F46C967ED4725A32357E3FB1B /* ConstraintLayoutSupport.swift in Sources */ = {isa = PBXBuildFile; fileRef = 388572D8342AC9984B65C463B3F59CE0 /* ConstraintLayoutSupport.swift */; }; - 00BEA6029C428FEE644AC3D42AD83282 /* ImagePrefetcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88120D6186A3327ED8A9731885CAD570 /* ImagePrefetcher.swift */; }; - 0285857A24F66E925987A5876F0BE63B /* ImageDataProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD0EC135ECC1602F717B3C6A0FFDD706 /* ImageDataProvider.swift */; }; - 034331C7BF871D4334C7A5E32C8B1051 /* SerialDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9490D032196631216F57127B64B19BA /* SerialDisposable.swift */; }; - 0440216540E02486CB67CF3029B76647 /* TakeLast.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6150A67385F2551D9AC90B6E0F6C85A0 /* TakeLast.swift */; }; - 045DE6EBF9B2F63F60F5BE60C1198E06 /* RedirectHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 97E005EA91A106712D975AEE786304C8 /* RedirectHandler.swift */; }; - 04637C70546B34F93C3A1D79C3F78B37 /* ConstraintDirectionalInsetTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1D9DF1056F596AA0CD8F94BFF548E5D2 /* ConstraintDirectionalInsetTarget.swift */; }; - 04A896288CE3A59B530250337A5F8362 /* Result+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51395A3F31443E10D5D0D3C251622CFE /* Result+Alamofire.swift */; }; - 04E929B4C587DDD3A77CDDCEA720C67B /* Merge.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8465C45E9E93FBD759A4B73864D23EC2 /* Merge.swift */; }; - 0510E8EA51914CB2176AD0F173937FAB /* KFImageRenderer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DE7E1B56AC9054D7556E751895125F8 /* KFImageRenderer.swift */; }; - 05228565AAA7FCED4BAFB2B7EF71D53D /* KingfisherOptionsInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 776E05050225F30B14E0071859FB29FF /* KingfisherOptionsInfo.swift */; }; - 057D0EC1E728D714A73210ACAF1FAC6A /* UISearchBar+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6050A1249660A9E7EC5EEDF8D9330913 /* UISearchBar+Rx.swift */; }; - 0591132B5EA1BE4DDA268D8A9C3D0421 /* LayoutConstraint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1FA400B74FCBF7D2B5EF3560299C861C /* LayoutConstraint.swift */; }; - 059639E700DEFAEF08F56484E5F67BE7 /* NSButton+Kingfisher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8E978BB81DF1C42184501D238D4F0435 /* NSButton+Kingfisher.swift */; }; - 06E43B4751069B47B3BD4AFD936A57E3 /* ConstraintPriority.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34D48950F27FF4654DB84E4C7DF47F76 /* ConstraintPriority.swift */; }; - 07386205AD0FACB2349C3274F43FEB56 /* Do.swift in Sources */ = {isa = PBXBuildFile; fileRef = DA36C83021D98DE90FEB177307AAEAAD /* Do.swift */; }; - 074A4EBCF451449922B3877041F5E5BC /* Observable+Bind.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5586AFC8EB75A3EE3A83307B450CFCF /* Observable+Bind.swift */; }; - 07550E0A8451CACE9593873C543F1B78 /* RxTabBarControllerDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = FB5B51A7D789E669AFF0CC71360AFD39 /* RxTabBarControllerDelegateProxy.swift */; }; - 075CAA2D4B70580D69D457969404CD53 /* Observable.swift in Sources */ = {isa = PBXBuildFile; fileRef = EBF7DB3313290A31E6E7487B1137D90E /* Observable.swift */; }; - 082EDC820D76DF95C71A5018112DE512 /* UIButton+Kingfisher.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF9705F6F2A7054D7F69DFB3AE176D4F /* UIButton+Kingfisher.swift */; }; - 0833E66E7F19849322305D67777B77DB /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4207BEE6DFA63E5CF69828DD467E9674 /* Foundation.framework */; }; - 08DC9A11345CFE4109504A7B78AFD301 /* Platform.Darwin.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7BF7335FF6D11A25744B6FCF31E5012 /* Platform.Darwin.swift */; }; - 08FC08A91B50E71BC53597C572F45357 /* Dematerialize.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A0593C337BAA3B21AA5C9669902DEF5 /* Dematerialize.swift */; }; - 08FF5D9EA234FDD468C6B850C873E96D /* CombineLatest+Collection.swift in Sources */ = {isa = PBXBuildFile; fileRef = A2EF1EADD760E9AE6DAB52EC5351A20D /* CombineLatest+Collection.swift */; }; - 0907413AF1BF312948C6CA8289CE29AE /* ControlProperty.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37ED7806674C4F72D11A094114F6B5FB /* ControlProperty.swift */; }; - 0ABF09B876F4CAECCAC14DF0C2BA0E47 /* Zip+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = A2AF511FA4A7880DD68E6DD9D4B5EC65 /* Zip+arity.swift */; }; - 0B5BB08F1937AD6324F0ADDD8F9E067B /* Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = F9F5CAC1EDF2B44D3301E0172254C6D6 /* Driver.swift */; }; - 0B994CDC79B1AD3A7BE62490D27C60C8 /* ConstraintAttributes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 391465662C54A731FEF6EBCA43287123 /* ConstraintAttributes.swift */; }; - 0CC1C92826F85034F89979385DD859EB /* SynchronizedOnType.swift in Sources */ = {isa = PBXBuildFile; fileRef = C67A73189CB386B8D58D186B82E98684 /* SynchronizedOnType.swift */; }; - 0D4DDCAC1C6B2EF83B5426A0A3569AC8 /* Bag+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8BE7761AA7EDF740E5A15DE82632D39 /* Bag+Rx.swift */; }; - 0ED8FBFD9A86D21BF69137EC9350E575 /* SessionDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = D146F0260D78CBCAA11274438E7C766E /* SessionDelegate.swift */; }; + 005B319B494ED2DAA239B9939A504DFC /* Alamofire-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = D971E3B9BAE2AE9CAE660E4495419BEA /* Alamofire-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 00BEA6029C428FEE644AC3D42AD83282 /* ImagePrefetcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5FF245DC5E5E5115A0CCE928068EB36E /* ImagePrefetcher.swift */; }; + 0285857A24F66E925987A5876F0BE63B /* ImageDataProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9FBAF4D997BFF2667709D54B12CFB958 /* ImageDataProvider.swift */; }; + 034230FFE4F1FB15F532C522C2D71EF8 /* SingleAsync.swift in Sources */ = {isa = PBXBuildFile; fileRef = ACAAED49289E38E4347A0DA89EB9D124 /* SingleAsync.swift */; }; + 035D92F968E4C2F84AA6D4837E92FD60 /* RecursiveLock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53175CAB142FE09893D8362D65F2FC4E /* RecursiveLock.swift */; }; + 045DE6EBF9B2F63F60F5BE60C1198E06 /* RedirectHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 035AB900CB9D4FCE3B754833527218D9 /* RedirectHandler.swift */; }; + 04A896288CE3A59B530250337A5F8362 /* Result+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4D3F30CED42F29C1B4B138C2EBFBBF37 /* Result+Alamofire.swift */; }; + 0510E8EA51914CB2176AD0F173937FAB /* KFImageRenderer.swift in Sources */ = {isa = PBXBuildFile; fileRef = FE3F675BC754116E602F5544044876F3 /* KFImageRenderer.swift */; }; + 05228565AAA7FCED4BAFB2B7EF71D53D /* KingfisherOptionsInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0506603C4536006DE5AD80266F4915BF /* KingfisherOptionsInfo.swift */; }; + 057D0EC1E728D714A73210ACAF1FAC6A /* UISearchBar+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA4D8AC3183B18DBC49FB0A82ABD9E2A /* UISearchBar+Rx.swift */; }; + 0590BD82D969A42F60FF2F65DEE8A393 /* PrimitiveSequence+Concurrency.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67923D634A8B8C86AF9859C7FA400A6D /* PrimitiveSequence+Concurrency.swift */; }; + 059639E700DEFAEF08F56484E5F67BE7 /* NSButton+Kingfisher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 448A11DB14D3B2788E2A0C10C58345C6 /* NSButton+Kingfisher.swift */; }; + 05AFD30F24D1479010A39B4EF7EC3BFA /* DispatchQueue+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = B7B4259327F0F2C937C9610BC90EAD0F /* DispatchQueue+Extensions.swift */; }; + 065ADD912FC63C08F94F9F840F535006 /* NopDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 47585F17D6C493BE1807B82D30857796 /* NopDisposable.swift */; }; + 07550E0A8451CACE9593873C543F1B78 /* RxTabBarControllerDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0D005C88BE49966A36E347AD178EC5D7 /* RxTabBarControllerDelegateProxy.swift */; }; + 076CA70CA2595925D5D879583EF650E5 /* Using.swift in Sources */ = {isa = PBXBuildFile; fileRef = E15869FB78995CF1C2B6675D7275DB50 /* Using.swift */; }; + 07947B8F47050F332E9D942B56874935 /* SynchronizedOnType.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3E9BD1B82DC1C63D878259269A75296 /* SynchronizedOnType.swift */; }; + 082EDC820D76DF95C71A5018112DE512 /* UIButton+Kingfisher.swift in Sources */ = {isa = PBXBuildFile; fileRef = DAFA67FFE8EBFA2B962664CBD52E769D /* UIButton+Kingfisher.swift */; }; + 0907413AF1BF312948C6CA8289CE29AE /* ControlProperty.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0CFB8E28B87C361F44D3415CBD14B47 /* ControlProperty.swift */; }; + 0929FA57A71EEFE905BB3133CB43750F /* Disposables.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52143777EAE425DCF6E0F254A2EE83D4 /* Disposables.swift */; }; + 0A9FF99615F295DD8638D18E102D328C /* ReplaySubject.swift in Sources */ = {isa = PBXBuildFile; fileRef = 784EE0ECF0D461F59C8235C6D9DD4235 /* ReplaySubject.swift */; }; + 0ACB879703D661A58C2CD3298798F07C /* Never.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1732BDD05A1B2DCAE38A22A2E52CADFC /* Never.swift */; }; + 0B5BB08F1937AD6324F0ADDD8F9E067B /* Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64197BAC523DD80ED92D1DB069578960 /* Driver.swift */; }; + 0B7595F991C8D4BEDA50105403B6E24A /* ObserverBase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A0E266DEF48B263F2364D5D311C1712 /* ObserverBase.swift */; }; + 0BB5ED0ED3ACFA2C7F4F0A7288D646A4 /* ConcurrentMainScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1B796971D03F0F1DC4C150BCABFDD13 /* ConcurrentMainScheduler.swift */; }; + 0BFF85DE4F65728E4EA5967A1544A8FA /* Map.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84B8B4921B1F63A6B9959C8B8B4437E9 /* Map.swift */; }; + 0E423A1273DEF3A88591C131FEF69B47 /* VirtualTimeScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = D66786BC6FF3B760EBE08E8983413C84 /* VirtualTimeScheduler.swift */; }; + 0ED8FBFD9A86D21BF69137EC9350E575 /* SessionDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E3BC1DED347059AEAE865AA41BF11FB /* SessionDelegate.swift */; }; 0F4037DBF307AC8058BD0A3D35C7E7E9 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4207BEE6DFA63E5CF69828DD467E9674 /* Foundation.framework */; }; - 111810B8652D290C58076B92FCE40A1F /* RxPickerViewAdapter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7C47B06900D152D91714F8930D442A94 /* RxPickerViewAdapter.swift */; }; - 114F6342633413C8BBEC4169F34CFAFD /* RxTextViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = B38AC9CD131E9D354B7866DF3989A835 /* RxTextViewDelegateProxy.swift */; }; - 1185A2B40E14F2FCBC761FC99777CAD8 /* ExtensionHelpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08ECD9EBF8F22245744D67D95C697C1B /* ExtensionHelpers.swift */; }; - 122980E44B15C64CF0B14DC94D7EB5C9 /* Kingfisher-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 37992619C24C8F91137E8E266B2D9332 /* Kingfisher-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 131A536C2DA4D6F5E70580BABD653911 /* ConnectableObservableType.swift in Sources */ = {isa = PBXBuildFile; fileRef = D12F42FB81BC21E66F7B0B1CFC3A20A6 /* ConnectableObservableType.swift */; }; - 14A51D6F07A0B004D6D74E2AADAC7745 /* PublishRelay.swift in Sources */ = {isa = PBXBuildFile; fileRef = 12A4C8B8EFF951FAD285022B23511A32 /* PublishRelay.swift */; }; - 14B0613676994DF624371512C953BD4B /* Never.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68812FCB1CD2C05CA550FBEC188FAAE9 /* Never.swift */; }; - 14CAA40442778EFE3DF8B07CE170CAF7 /* UITextView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C7AA88545E06E602F1F3E8860FB21206 /* UITextView+Rx.swift */; }; - 17142A9B508D5CE7E3552A2862596725 /* ObserveOn.swift in Sources */ = {isa = PBXBuildFile; fileRef = 00DF743DF0FAA6FE458CABA63A0AAB34 /* ObserveOn.swift */; }; - 1787EBB3723875770997006509209EDD /* RxTableViewDataSourceProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D5CE6220EF4EE89BC1611C87A1B485A /* RxTableViewDataSourceProxy.swift */; }; - 18211EE7B495AA06EBBED1D6FD9423C0 /* RxCocoa-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C8395BDA2FFB7C203360D569C73EB85 /* RxCocoa-dummy.m */; }; - 183D8B3E057B885EA7DF9A8CDCCE9029 /* ConstraintMakerRelatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D23EFB5EDFFADC4C3044C2632CAA671 /* ConstraintMakerRelatable.swift */; }; - 1952485AFF7A1BCCA4D4B142E82FE627 /* AnimatedImageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36CEC8BD9AB2C0FA4EC9CC68B88179F8 /* AnimatedImageView.swift */; }; - 1976BB7D7E26A12E29283E71154B63B3 /* SessionDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2136DEDB2593EA68DA01B65E7BB99118 /* SessionDelegate.swift */; }; - 1A7370E766924FC84B0D70E3E7E7A2AE /* SwitchIfEmpty.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3CD972556106FCAB1416701D5AFEBBC6 /* SwitchIfEmpty.swift */; }; - 1AA89F327105C026976BF6E831B193A2 /* ImageBinder.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE61255BFA43D6938F0666739E260F44 /* ImageBinder.swift */; }; - 1B24F25F98F9D0548B448F382BCF4F9F /* OperationQueueScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = E5BECD02C4A772730853DC7E28DE77BB /* OperationQueueScheduler.swift */; }; - 1C03E58340983D684127CE8746E9BB67 /* Window.swift in Sources */ = {isa = PBXBuildFile; fileRef = B7F39213C0178184C8FE1F396BC6FA23 /* Window.swift */; }; - 1CC3FBF38E35B664C2A003664C58E2D7 /* ControlEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 634F1310DDDCF2A124C3C0806E578FF2 /* ControlEvent.swift */; }; - 1EE44196E7BCE57AD96A2C751651EF40 /* AlamofireExtended.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5DCBFE494DC58D5A2DD337AB33BDE86B /* AlamofireExtended.swift */; }; - 1F64C124283555FF5E1944FA37501247 /* Signal+Subscription.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1942FD2F210A125D8DBA83E84FF0BD6B /* Signal+Subscription.swift */; }; - 1F6F0B8C1A8EA633EFEBE64EB781A6B5 /* UINavigationController+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = F9743CC92474B8BDCC8075EBCE07D09F /* UINavigationController+Rx.swift */; }; - 1FD2928BC156D990D68B105F518C60B6 /* MemoryStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E20AFF271CFF5DBC90C212D7DDCA674 /* MemoryStorage.swift */; }; - 1FE693B5ACC6AD7320CEFC20B64546E4 /* KingfisherManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52D55157148922A4E72072CD651FE28F /* KingfisherManager.swift */; }; - 1FEE89BF952BE7ACA46E642DA2E48CA2 /* DiskStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = EF7F041184F67AAD9232BBC8C5C8428B /* DiskStorage.swift */; }; - 200582615F7570110385F8D2781C2841 /* Lock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 680980213D606A3C307D5237BC4AC698 /* Lock.swift */; }; - 2087DD8278E2FC32F75C947E058EA423 /* NSObject+Rx+KVORepresentable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A7022928BBC808C5A71728FE1CD9E4A /* NSObject+Rx+KVORepresentable.swift */; }; - 218E293B7C1EAD37BAAEC3801518B982 /* ObservableType+PrimitiveSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = B993F56F31C725E1E5CA25413AAB820B /* ObservableType+PrimitiveSequence.swift */; }; - 220D6AC9B1B1EC8EFFB204F9C1EAC842 /* ConstraintMakerEditable.swift in Sources */ = {isa = PBXBuildFile; fileRef = B742465553B4966E5817298E541F34F4 /* ConstraintMakerEditable.swift */; }; - 22216C300C763044344B9DBF97317E63 /* RetryStrategy.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC4C1601FF283EA011AFABC45324A68E /* RetryStrategy.swift */; }; - 22BD1346F66BFCB129AAA44EEF322AC9 /* Resource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 564A9D0888ED1D14EF0ABE0146AB74C7 /* Resource.swift */; }; - 241C9BE7A836496235B90A9A46EBA0B9 /* ReplaySubject.swift in Sources */ = {isa = PBXBuildFile; fileRef = 28B78195A30E35E235446D2B14F3537F /* ReplaySubject.swift */; }; - 243D7CFE1D56ED80ACB2B3E71B4CB603 /* AuthenticationChallengeResponsable.swift in Sources */ = {isa = PBXBuildFile; fileRef = B74E363CCB450588B74F29B510F59EA3 /* AuthenticationChallengeResponsable.swift */; }; - 24747E3DB7FB2951C3405E80CC228B1E /* Infallible+Create.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5A58CD7D057EE28BA318D92BBFD801A8 /* Infallible+Create.swift */; }; - 24C8FC3B11676AD57F3A7914E6621AD0 /* TextInput.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17456EFBA956D5E0DCED1D3253D633F6 /* TextInput.swift */; }; - 252B64A12E2810921E86B78ECD5BDA9D /* UIApplication+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3A8466F726C0577EE51ED0D0CB2FA2E /* UIApplication+Rx.swift */; }; - 256558233B40ACA6818F143BBC5B8017 /* ConstraintViewDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51E4CAC9C5F684CB8FE11146529161D8 /* ConstraintViewDSL.swift */; }; - 25A8286598B6DBE9D06CE44E3E7A78C0 /* PrimitiveSequence+Zip+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 559F537D9EE98F4DBBFA8F2C9FCFB664 /* PrimitiveSequence+Zip+arity.swift */; }; - 25FC036BEA33CAB5D80F5A41644535D3 /* Storage.swift in Sources */ = {isa = PBXBuildFile; fileRef = C24C02808C9A44C68841D6A26FC904F5 /* Storage.swift */; }; - 263A6B3B9C8592FC16697D2AB6333AC9 /* RxCocoa.swift in Sources */ = {isa = PBXBuildFile; fileRef = 785E0F6C5CA46EA33D98898BE6977970 /* RxCocoa.swift */; }; - 2662EA3D1400EC4BD90947902CD85670 /* Platform.Darwin.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4F09D78410DD73D2369B5402471248B6 /* Platform.Darwin.swift */; }; - 2685B136FA3139EE58D381F312D9807C /* InvocableType.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB55EAC78F857CF686ADF3B4B060FE43 /* InvocableType.swift */; }; - 26B3B2F2F89CCC419702DD6658A00899 /* ScheduledDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 44989B930B27CD43F60DCD0E3E0B8F9C /* ScheduledDisposable.swift */; }; - 275C15979C1EC7DB6234974758037906 /* PublishRelay+Signal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08D828BB5ED98FFCED04733F53C0164D /* PublishRelay+Signal.swift */; }; - 2789AF7C8459A43AD8F42563452015AD /* StartWith.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A5EF8FFE726374C905F8B707734CE0C /* StartWith.swift */; }; - 27F13CF848B555C9F367671819E2456A /* Disposables.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8DECC1ACEB9D7D92FBD2B29E14C1E606 /* Disposables.swift */; }; - 27F2BE5D6E990841E8DA1DF91CF3623B /* Signal.swift in Sources */ = {isa = PBXBuildFile; fileRef = B38BE2295FE2397D41A09552883D41E2 /* Signal.swift */; }; - 282666A10E78081508F8B4117D71682B /* ConcurrentDispatchQueueScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 277D92B05B634D1126A91F487892EB92 /* ConcurrentDispatchQueueScheduler.swift */; }; - 289BF5DC7C33975EA169E923414ACFCB /* SingleAssignmentDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = AC2D976E804DF6781BDF44DEDFFED8D1 /* SingleAssignmentDisposable.swift */; }; - 28B20C35F4E1B3DDE716C831B049ADBC /* _RX.h in Headers */ = {isa = PBXBuildFile; fileRef = A075621CE539BDE37EB74B766E920862 /* _RX.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 111810B8652D290C58076B92FCE40A1F /* RxPickerViewAdapter.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8A759BDFAACF28A20C494FE78BD1B1C /* RxPickerViewAdapter.swift */; }; + 114F6342633413C8BBEC4169F34CFAFD /* RxTextViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = C605EFAD94AFBD0163C0861BD8B0CA3B /* RxTextViewDelegateProxy.swift */; }; + 1185A2B40E14F2FCBC761FC99777CAD8 /* ExtensionHelpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C24DE0414809B62C9E2FDC74CFBC808 /* ExtensionHelpers.swift */; }; + 122980E44B15C64CF0B14DC94D7EB5C9 /* Kingfisher-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 61B416CA589A337C97015EF24DBDD568 /* Kingfisher-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 12F2269F38356B6D5C1968671383884D /* Platform.Linux.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8381FF8F3A46CE4DD141C7E1F642DBF8 /* Platform.Linux.swift */; }; + 12F412C0E6FCF0C03FD9EE81287EC5A5 /* BinaryDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 060DF4508CD9E71EF64F170D4171826D /* BinaryDisposable.swift */; }; + 132423427D74FE8585B00253F1780207 /* ToArray.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0BF895F7443BC545CB58471AD36FFF75 /* ToArray.swift */; }; + 13869EAEC8151493AFAFC4463BA5F147 /* AnonymousObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50AC3B813EF4E421F55DE2E0FCD5C099 /* AnonymousObserver.swift */; }; + 13ECC256C3202E35E7F10E8AFD3623C1 /* Pods-There-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = FC14FAA0DF651EE7DF507C858987C45E /* Pods-There-iOS-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 147FC3920E2614B57325999DB61F3389 /* Producer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6BFCBA19A72971A1A3CFFF7AE0258A40 /* Producer.swift */; }; + 14CAA40442778EFE3DF8B07CE170CAF7 /* UITextView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09DC60FF8B51A1CAD3B33F1BFF124CB1 /* UITextView+Rx.swift */; }; + 1787EBB3723875770997006509209EDD /* RxTableViewDataSourceProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = EF2C0479C55753A363AD815EBCF83AC8 /* RxTableViewDataSourceProxy.swift */; }; + 18211EE7B495AA06EBBED1D6FD9423C0 /* RxCocoa-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 43C0EB62460E4454569B4CD1B4FC5203 /* RxCocoa-dummy.m */; }; + 18CD6BF120F99D126384D82F6AE4E43B /* LockOwnerType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 676843E43C0FD0072394037646433821 /* LockOwnerType.swift */; }; + 1952485AFF7A1BCCA4D4B142E82FE627 /* AnimatedImageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C39605861A75B23A511D075AF23546D2 /* AnimatedImageView.swift */; }; + 1976BB7D7E26A12E29283E71154B63B3 /* SessionDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 627668991D668FCE3BDC0FA5745A7B68 /* SessionDelegate.swift */; }; + 1A7A6DAA2CD0115D66CA73EA8E7076B0 /* RxMutableBox.swift in Sources */ = {isa = PBXBuildFile; fileRef = ABEA662FBC8AEEA7DD1E8CEA9B05DC13 /* RxMutableBox.swift */; }; + 1AA89F327105C026976BF6E831B193A2 /* ImageBinder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7193FF2965FF0A6665461EBF34A0804E /* ImageBinder.swift */; }; + 1ACCC05B244EDD982E62E48E40718C58 /* Take.swift in Sources */ = {isa = PBXBuildFile; fileRef = D4C64FBE5B05FA4E07A3D9251DCBF891 /* Take.swift */; }; + 1B4BAEF420B9D8BE399C48970B315A34 /* RxRelay-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 24446A8EFC2933AEA48CC6501B896DED /* RxRelay-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1B8D53E54E01C69CA89A9EF44B98D3B9 /* Infallible.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9548E45ECB4EAA92384CA6603FE8136E /* Infallible.swift */; }; + 1CC3FBF38E35B664C2A003664C58E2D7 /* ControlEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 271D498317266C203411F60340C099BC /* ControlEvent.swift */; }; + 1E02CA15B2263D87D5B040B8ACEDAA4F /* Reduce.swift in Sources */ = {isa = PBXBuildFile; fileRef = AC5C08E887C8964A0180C1B98C0537E4 /* Reduce.swift */; }; + 1EE44196E7BCE57AD96A2C751651EF40 /* AlamofireExtended.swift in Sources */ = {isa = PBXBuildFile; fileRef = 720980564AC80F314307521A850F53A0 /* AlamofireExtended.swift */; }; + 1F64C124283555FF5E1944FA37501247 /* Signal+Subscription.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E5D5C6C82C4EA4739C48E870D813AE9 /* Signal+Subscription.swift */; }; + 1F6F0B8C1A8EA633EFEBE64EB781A6B5 /* UINavigationController+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37DC6B6793C3D2EAE2AF14ECF0B8CA6C /* UINavigationController+Rx.swift */; }; + 1FD2928BC156D990D68B105F518C60B6 /* MemoryStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02DE371B905AFDC8678290C9887024FA /* MemoryStorage.swift */; }; + 1FE693B5ACC6AD7320CEFC20B64546E4 /* KingfisherManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A850B5E9CD1C55B9C2DB4337A32340F /* KingfisherManager.swift */; }; + 1FEE89BF952BE7ACA46E642DA2E48CA2 /* DiskStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = D21FBE05863BC38372B8421AA4F1AAF8 /* DiskStorage.swift */; }; + 2087DD8278E2FC32F75C947E058EA423 /* NSObject+Rx+KVORepresentable.swift in Sources */ = {isa = PBXBuildFile; fileRef = A1511419B3E32DBD99D732A5746C02D3 /* NSObject+Rx+KVORepresentable.swift */; }; + 20D711820837D47027425998D458DDC3 /* Lock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C8343F0F3ADF9A69081CF548E7EA913 /* Lock.swift */; }; + 22216C300C763044344B9DBF97317E63 /* RetryStrategy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0094AC0CA0C70D6D7BD2885EF6848FC8 /* RetryStrategy.swift */; }; + 223B0999049242BBA114B93469ABE511 /* Maybe.swift in Sources */ = {isa = PBXBuildFile; fileRef = C04709767D68410FBE4F4622835C586C /* Maybe.swift */; }; + 22BD1346F66BFCB129AAA44EEF322AC9 /* Resource.swift in Sources */ = {isa = PBXBuildFile; fileRef = AF4FBD4F84F3F34D3610ED29EBD65C3F /* Resource.swift */; }; + 243D7CFE1D56ED80ACB2B3E71B4CB603 /* AuthenticationChallengeResponsable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5FFCAEA7668B03A52CFF43D566250417 /* AuthenticationChallengeResponsable.swift */; }; + 246D95E90F0EEF0A4049DFED5926EDD0 /* Binder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 589B5DCBD29865837BD32446EFB838B1 /* Binder.swift */; }; + 24C8FC3B11676AD57F3A7914E6621AD0 /* TextInput.swift in Sources */ = {isa = PBXBuildFile; fileRef = 70D596C39E4C1ADDCC517577A15F3109 /* TextInput.swift */; }; + 252B64A12E2810921E86B78ECD5BDA9D /* UIApplication+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4716AEFE0CA36DD49DA802EB2D4B0D79 /* UIApplication+Rx.swift */; }; + 258EB781763C9C9D75D894B889C1CFEE /* AtomicInt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 563AB85303B287FBBE5053F55176D645 /* AtomicInt.swift */; }; + 25FC036BEA33CAB5D80F5A41644535D3 /* Storage.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBE929FE803089E6ABF951E95EB1B206 /* Storage.swift */; }; + 263A6B3B9C8592FC16697D2AB6333AC9 /* RxCocoa.swift in Sources */ = {isa = PBXBuildFile; fileRef = FE3425A82A2CA49411308D269371DE8C /* RxCocoa.swift */; }; + 2662EA3D1400EC4BD90947902CD85670 /* Platform.Darwin.swift in Sources */ = {isa = PBXBuildFile; fileRef = 20C12E4903ACB5AE8ACB42690A55B23B /* Platform.Darwin.swift */; }; + 275C15979C1EC7DB6234974758037906 /* PublishRelay+Signal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 16ABC270E7640F31CD241310226A03D5 /* PublishRelay+Signal.swift */; }; + 27CD7EF9803E470B6850DF087537076E /* Enumerated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2BAD1824DB8363FB113C13EEC0F32A59 /* Enumerated.swift */; }; + 27F2BE5D6E990841E8DA1DF91CF3623B /* Signal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 786F0B1BB634D8412F2B0D3E2473BF24 /* Signal.swift */; }; + 28B20C35F4E1B3DDE716C831B049ADBC /* _RX.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A325487EBA872AF6FCFC430EEBC0348 /* _RX.h */; settings = {ATTRIBUTES = (Public, ); }; }; 2987A730911012C32AF6695D7B54E35C /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4207BEE6DFA63E5CF69828DD467E9674 /* Foundation.framework */; }; - 29FF13E23FD52E46D30530549410AD7C /* ImageTransition.swift in Sources */ = {isa = PBXBuildFile; fileRef = 625C1ADC3FB0DA17A0B9DB0693B3DB9D /* ImageTransition.swift */; }; - 2AC794BEBE17BA6257A13065584EC5DF /* UIDatePicker+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = AAC0A5EA734A3D3562F6A3C68DA95FCD /* UIDatePicker+Rx.swift */; }; - 2B5D94DC0FD4BCFB401A3D9D86B4B22B /* Cancelable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7137171669548A89FD0947DE2F70CB3C /* Cancelable.swift */; }; - 2BA28EB622312331F21FB38275665A8F /* InvocableScheduledItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 03E0983FB0C171121AB92A56D0786CE3 /* InvocableScheduledItem.swift */; }; - 2BE89C24BFD3FB663E37C607C289B3B6 /* RedirectHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5887FC1311110E56ED239BE1451913E8 /* RedirectHandler.swift */; }; - 2C1B1B9CB3006CA2F87C50E8B1C771CC /* BooleanDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 301C6E0BCEBD551D0030D7E10520E0D7 /* BooleanDisposable.swift */; }; - 2CBE3651CA006E19F5D64A2DE9B9A028 /* CachedResponseHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = D3CE376A4FEC2AE77F20CE6DAA638D4F /* CachedResponseHandler.swift */; }; - 2CCD13099063CD560E3067BD132914FA /* Notifications.swift in Sources */ = {isa = PBXBuildFile; fileRef = 10C3654F11F6F247B7173D268D6C764A /* Notifications.swift */; }; - 2D4DF5419B8AC16A55F78CFBD780EEF8 /* SingleAsync.swift in Sources */ = {isa = PBXBuildFile; fileRef = D194AB4BFFBB13771291209526471F2A /* SingleAsync.swift */; }; - 2EFF6DCB0FC66EB564B96A35840D5016 /* RxTableViewDataSourcePrefetchingProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 234D2EC8057B0F8D9E4935F1628336E2 /* RxTableViewDataSourcePrefetchingProxy.swift */; }; - 2FCCAB4BA1D71EDB993309159D5DFA7C /* RecursiveLock.swift in Sources */ = {isa = PBXBuildFile; fileRef = C081583615AA896E03775390E21AE5F8 /* RecursiveLock.swift */; }; - 2FF61AEFD016BF607384346B9B02074B /* MainScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = D68F2EA8FCB9295EBA18AAE483AD76B5 /* MainScheduler.swift */; }; - 3091F1A82E0FD6ABA766EBC91D4E5DE6 /* Then.swift in Sources */ = {isa = PBXBuildFile; fileRef = BAF952156F864DE8F911AB3FAD2AFB31 /* Then.swift */; }; - 3211B8515EAF5C1D5867575A0D76A2E2 /* GroupedObservable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8004121F9765A0B714B62EA3E06E1D3F /* GroupedObservable.swift */; }; - 3212AD100F545FB93CFD10775F89A20F /* Enumerated.swift in Sources */ = {isa = PBXBuildFile; fileRef = C6FF74D43F87D779AE2282429C5B0B48 /* Enumerated.swift */; }; - 33A7D0F2D03004CE256A75E03DF33C70 /* RetryPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = D60CC3FAFCB4CC4233D8A3FBDA356B9A /* RetryPolicy.swift */; }; - 3660B4F629053ABC3C1DF69366770289 /* ConstraintConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37177EBE517E3906F38F4B70C7D3CE4D /* ConstraintConfig.swift */; }; - 366D0CAAAC662E5C77A2CABBDF7B3C4F /* TailRecursiveSink.swift in Sources */ = {isa = PBXBuildFile; fileRef = 85007FF21F76B4ACF8C66BD5A328F146 /* TailRecursiveSink.swift */; }; - 371CD58570B89DE6A3090CC6CE16AEE7 /* UIControl+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = D17D1A0E6B4CE6A8F8FEBA2124CC9F2B /* UIControl+Rx.swift */; }; - 377229136C0061FE2FABE71862C2070F /* ItemEvents.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7EF73088160BC1E445ABA621835F550C /* ItemEvents.swift */; }; - 3889B4972EC32C22F1E2D48851B09FD0 /* RxSwift-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 0507656C37789248B52BDAEBE950C81E /* RxSwift-dummy.m */; }; - 38AECFC8339EEC9CFE90423AFCD2E08A /* Timer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8149E991589AA0EB06A5CFF14BEBB265 /* Timer.swift */; }; - 38B9D58E94D9C1CECD7E381C64A2329D /* UILayoutSupport+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A6E512733535C8B693231B7295040F3 /* UILayoutSupport+Extensions.swift */; }; - 3A379670D0CFBC0FCC9D0F66E944D074 /* RxTextStorageDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = A604F918712336CD1923A3E79BD132D2 /* RxTextStorageDelegateProxy.swift */; }; + 29FF13E23FD52E46D30530549410AD7C /* ImageTransition.swift in Sources */ = {isa = PBXBuildFile; fileRef = F8DCD6EF2BA9AEA9B7B0A82E4E4B86AF /* ImageTransition.swift */; }; + 2AC794BEBE17BA6257A13065584EC5DF /* UIDatePicker+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = A2ADB1A654FB2A0BF877079A9CBA6AB0 /* UIDatePicker+Rx.swift */; }; + 2AFA6509FC6BA575BF62082E24F73CF8 /* DelaySubscription.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B5D82051CBE3C0E5ECC9B437EA8A036 /* DelaySubscription.swift */; }; + 2B2EFA2388B3A446FE4CA677F27C3E4C /* SchedulerType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0B3BB0D4F74979A9A72EE69983C7356E /* SchedulerType.swift */; }; + 2BD1894FEF697BFC863A85C2F15604BC /* Range.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1FA9DFC19E22B240C7876DD14FC2D856 /* Range.swift */; }; + 2BE89C24BFD3FB663E37C607C289B3B6 /* RedirectHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5DF8B1C21C11A77C92F432271875B512 /* RedirectHandler.swift */; }; + 2CBE3651CA006E19F5D64A2DE9B9A028 /* CachedResponseHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 81B0246DEF4779FFF060497028EEFE3D /* CachedResponseHandler.swift */; }; + 2CCD13099063CD560E3067BD132914FA /* Notifications.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8C23A27738B5975E26D1B029FF66155 /* Notifications.swift */; }; + 2EA99935A6626E53DA18B59DCFBA06FF /* ObservableConvertibleType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1434856504F77C2AF33D72E73A70E9F2 /* ObservableConvertibleType.swift */; }; + 2EFF6DCB0FC66EB564B96A35840D5016 /* RxTableViewDataSourcePrefetchingProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93E8C92BFFCA129D6496C3425EB6D522 /* RxTableViewDataSourcePrefetchingProxy.swift */; }; + 2F272095DDC330AA4E75CF934DABF9E6 /* Infallible+Concurrency.swift in Sources */ = {isa = PBXBuildFile; fileRef = 65FCD89C77EE61B45C986D7E1C5980C2 /* Infallible+Concurrency.swift */; }; + 2FCCAB4BA1D71EDB993309159D5DFA7C /* RecursiveLock.swift in Sources */ = {isa = PBXBuildFile; fileRef = F2743047250B48474DADF4B03739F5FA /* RecursiveLock.swift */; }; + 327ECBD048B37DCCB5586E3FB2317040 /* Throttle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 313AB55529116923DFCA1BE47322693F /* Throttle.swift */; }; + 3394D42F800FA14F9F8F52335AF758F4 /* RetryWhen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 794E832D7BFC2202E0BAA2D8B4CFD8AA /* RetryWhen.swift */; }; + 33A7D0F2D03004CE256A75E03DF33C70 /* RetryPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE2BBF541B31E11E856B3C8C1559075B /* RetryPolicy.swift */; }; + 360060E5ED3503C8F63E259A8A1BB755 /* Create.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4100FD1FA7881797381F450B5683F96B /* Create.swift */; }; + 371CD58570B89DE6A3090CC6CE16AEE7 /* UIControl+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 642F46CBABE009A91ACCDC5F2125D014 /* UIControl+Rx.swift */; }; + 377229136C0061FE2FABE71862C2070F /* ItemEvents.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E6CBF7A09FCBC28E60715D50B8E5723 /* ItemEvents.swift */; }; + 39A4125614FB5D27AE8A3D2A3D93D74E /* SkipUntil.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E52E8485BEDD9177E8632291D3D44AB /* SkipUntil.swift */; }; + 3A379670D0CFBC0FCC9D0F66E944D074 /* RxTextStorageDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07632DF8B7FEB8D45D4D5761F0C98C55 /* RxTextStorageDelegateProxy.swift */; }; 3AD5DBB915C2623991F7DBACD173BBB4 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4207BEE6DFA63E5CF69828DD467E9674 /* Foundation.framework */; }; - 3AF7DB9AEFF47F1F7F91AF28440E4AC6 /* Filter.swift in Sources */ = {isa = PBXBuildFile; fileRef = E16B7B3944944B2D9F4E36B482FF5966 /* Filter.swift */; }; - 3C4059621E23842C19D4EB5D35B41989 /* Validation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 646FC131B01C9B399908A95A1A7D6E6D /* Validation.swift */; }; - 3CC7F42B6D45E3A0F126F74B8AB2286B /* Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A0727B052C55A1F8E0FFA03CBFEEA1C /* Rx.swift */; }; - 3EE7A29FCEE9B2A257B977E7137BC44C /* UITabBar+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7290C238EDFE8CBB4693E81249FDDDB7 /* UITabBar+Rx.swift */; }; - 3EFE8454C7301C05A00EC9870F47968B /* RxTableViewDataSourceType.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD0931A895BB76990F9827F0A182B6DB /* RxTableViewDataSourceType.swift */; }; - 3F8201F8AC332D5F3CC40815A9EE4143 /* Queue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3479931738D0F1F80BC86AE685523F0E /* Queue.swift */; }; - 419A11A8F7797E02FA5AAC6D8B4B3C2F /* UIStepper+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C96B4767D47F0CD1AD231D074977B8C /* UIStepper+Rx.swift */; }; - 41C2CA4211FF3C81DB91E34119ADF77A /* PrimitiveSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9396943C00170C38F62A4F6FBF41252F /* PrimitiveSequence.swift */; }; + 3AF7DB9AEFF47F1F7F91AF28440E4AC6 /* Filter.swift in Sources */ = {isa = PBXBuildFile; fileRef = F7A08AC809AFD67CDD3B4FD02629015E /* Filter.swift */; }; + 3C4059621E23842C19D4EB5D35B41989 /* Validation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 254DFBA9316CCDA4B58E3C1DEBEFDE0B /* Validation.swift */; }; + 3CD16FCC89CFFC39EC11E568ED9A5343 /* Zip+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4AFA537C2BBA71F66CC1125DF51BB8F1 /* Zip+arity.swift */; }; + 3EE7A29FCEE9B2A257B977E7137BC44C /* UITabBar+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C7B74E7C88E90FE1D3D344961603016 /* UITabBar+Rx.swift */; }; + 3EFE8454C7301C05A00EC9870F47968B /* RxTableViewDataSourceType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89BCD4286686A86D46A69B4C6CDC4AD5 /* RxTableViewDataSourceType.swift */; }; + 419A11A8F7797E02FA5AAC6D8B4B3C2F /* UIStepper+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3BDAE522856DB9BAAE57DD3196522C8 /* UIStepper+Rx.swift */; }; 420C200A05BB29E1D299D1BADE9139D2 /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 872D7EFA572ECEE8EF993C27196E16DD /* CFNetwork.framework */; }; - 4251CDB971A8B94270E34381974BC9F8 /* _RXKVOObserver.h in Headers */ = {isa = PBXBuildFile; fileRef = BA7374E08BD77EC7B39B3539474F0A32 /* _RXKVOObserver.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 426C76C68C9FA3582F26BBB9E96316E4 /* _RX.m in Sources */ = {isa = PBXBuildFile; fileRef = 7ADFDFBB232B20320B048DB95C656DCF /* _RX.m */; }; - 42B6ACFCF650183030867CB3EF345E95 /* ConstraintMakerFinalizable.swift in Sources */ = {isa = PBXBuildFile; fileRef = AAE089A2DAF6928489C0F032292A97A1 /* ConstraintMakerFinalizable.swift */; }; - 43258E92F88B0FECF62013F206185461 /* Materialize.swift in Sources */ = {isa = PBXBuildFile; fileRef = 173BCC60ADB2D8ACBE08EECC0A5E4BFC /* Materialize.swift */; }; - 44174BAE26B3D4FF07ADB3A5F6E2F6F1 /* Multicast.swift in Sources */ = {isa = PBXBuildFile; fileRef = F67AC86AEA728C60EE57148FA6BBA520 /* Multicast.swift */; }; - 44D99C40C61A3D89E03025F2A9FE9DE1 /* VirtualTimeConverterType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A78CCB27913900B58ABE701A103B12C /* VirtualTimeConverterType.swift */; }; - 457BE444ED617FA7D6851D6DAA9D7234 /* Delegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = E616CFD11CAFF3D5E8EEF6739E14A7AB /* Delegate.swift */; }; - 45B1D8B8D1C6F0A28D0CE851E7C24ACB /* Infallible+CombineLatest+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A5384C4A605AF932F372DAAC538F650 /* Infallible+CombineLatest+arity.swift */; }; - 45BF9BB6DA23CA3F76FAF340438DF50D /* Platform.Linux.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6F7B98B286348B719EB92A7CA8505611 /* Platform.Linux.swift */; }; - 45F6BA1117D64D98B32E0C77670EF906 /* RxCocoaRuntime.h in Headers */ = {isa = PBXBuildFile; fileRef = 5FA5BB426732446D6C8EC23D1739B538 /* RxCocoaRuntime.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 46A64A43AFA057B6B63C8F0C12F509B4 /* Combine.swift in Sources */ = {isa = PBXBuildFile; fileRef = 28BD79B48447D9D9387B3CA0BAEC9D99 /* Combine.swift */; }; - 47D3FBF90386DABCAB70AA2CA176C8EB /* ControlEvent+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = AB60AFB20DFE05A6E5F37FF915441C1B /* ControlEvent+Driver.swift */; }; - 488C04A64631874FCDCC9915715D3BA9 /* DisposeBase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5852EAC9E3B19706A61BDEF7DA19B7E1 /* DisposeBase.swift */; }; - 48913A56514EDBCAE69A316CDC25462D /* Date+Dispatch.swift in Sources */ = {isa = PBXBuildFile; fileRef = 15EBFCEDCC004DECCF938C3CEA295113 /* Date+Dispatch.swift */; }; - 4ABBA9A85C6267823F0DE66AE28BB247 /* Pods-There-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = FC14FAA0DF651EE7DF507C858987C45E /* Pods-There-iOS-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4B507C529083BCEF528F2D2BB53558BC /* ObservableType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B084C687C8FCEFCE4852B1A673F74FA /* ObservableType.swift */; }; - 4BAD99B7394E225CEDBF94B8100BCC7F /* ConstraintRelation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 974E848FB013751BB9CC1F6737249D2A /* ConstraintRelation.swift */; }; - 4C01DAF193723548D6C5243E5A980E44 /* AsyncLock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B49C1013F462364D32376AB8AF311B2 /* AsyncLock.swift */; }; - 4D6D524EA1CFF9B807FBE9D71F22157A /* ReplayRelay.swift in Sources */ = {isa = PBXBuildFile; fileRef = 26467BCE12DA0A06499ABC6754BEEFDA /* ReplayRelay.swift */; }; - 4DA72FD7F1FB2C0449EDEF4B8A579807 /* ConstraintPriorityTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = C5215357429D8EA204EE12B191514F93 /* ConstraintPriorityTarget.swift */; }; - 4DCA9775E5CCF599460BDB46E77F6FA4 /* Kingfisher-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = A4BF3FBDDC39414EB54005B5C1977CB0 /* Kingfisher-dummy.m */; }; - 4EBAB86DF596DA12AF0854D9D9CC9331 /* HistoricalSchedulerTimeConverter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B7E5897EBDF8FBE8BDCD6623C2F41EB /* HistoricalSchedulerTimeConverter.swift */; }; - 4F315C18FC854325DD5D062DD7A363D5 /* ObservableConvertibleType+SharedSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = F2128C5F572304D9CE4AD3413F5F20BD /* ObservableConvertibleType+SharedSequence.swift */; }; - 4F37E521D341C47CE73DDCF21BA95A52 /* KingfisherError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5053573A84F849ED9EC73ADB43D7CBD8 /* KingfisherError.swift */; }; - 506128E1CC424E40E2691546D9547549 /* Placeholder.swift in Sources */ = {isa = PBXBuildFile; fileRef = FB253874724EA52DA69BE232247D5E07 /* Placeholder.swift */; }; - 509490FB1D30FEC59AE4BC21AEEBB7BB /* RequestModifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9DFF83D7C88F282827677F0479B7CAD3 /* RequestModifier.swift */; }; - 5230B70A7B448918B83D3B983533D29A /* KVORepresentable+CoreGraphics.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6276AE8F0E37FDC7EAA0930B72656BD1 /* KVORepresentable+CoreGraphics.swift */; }; - 5380454C48A12A6E376122ABD8096968 /* ConstraintDescription.swift in Sources */ = {isa = PBXBuildFile; fileRef = EEF24B52506C0A14899953DD9B056BB3 /* ConstraintDescription.swift */; }; - 5435E924E7CE7B05B7F650C078A12F5B /* UITabBarController+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3CC5D0B21A15FD96C484088E9FCBF9C /* UITabBarController+Rx.swift */; }; - 543824E1170EF49570C40DAE54604F21 /* _RXDelegateProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 42AF3D32E74844540839E2E372746C95 /* _RXDelegateProxy.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 544121222EFB408E5B99BE5A1130E344 /* DelaySubscription.swift in Sources */ = {isa = PBXBuildFile; fileRef = C09926B777B66C9766AF01F6F265E06F /* DelaySubscription.swift */; }; - 55540C87226AAAA6D4126239F1262033 /* TakeWithPredicate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 799B75660C1716D42B9B3723AD8262EB /* TakeWithPredicate.swift */; }; - 55713DE36F28B0D078ADAD60D5EE7FF4 /* ObservableConvertibleType+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78E9510A4CA460640E1916026B3FF850 /* ObservableConvertibleType+Driver.swift */; }; - 557AE7547352CEA86AEE5518CC1A503E /* RxCocoa-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 780E0176A836E546D207CE4483038658 /* RxCocoa-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 55AABB1FB38F61A3369ACC555FF3046D /* Alamofire-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 2CC5247E9DECCC4F12F765D8EA14D111 /* Alamofire-dummy.m */; }; - 55E51F45F1E157D3B4942BA7252C277E /* ConstraintRelatableTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 11D55BE75ADCB999D07155CF0EF3CC35 /* ConstraintRelatableTarget.swift */; }; - 56124D39F2C5891E55A193225CB92579 /* Empty.swift in Sources */ = {isa = PBXBuildFile; fileRef = D037120874B112016F8388503CE29CD5 /* Empty.swift */; }; - 567E2B1BAE575E6556A2E57191BA2DA7 /* DelegateProxyType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27A69DD59D54551EFAB687D216284D7B /* DelegateProxyType.swift */; }; - 56A72F6D13D930C4A2568F24DEA33C8D /* ConstraintLayoutSupportDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD66E1759D33767049BCE9F5F59F58FD /* ConstraintLayoutSupportDSL.swift */; }; - 56AC6DC6459AE47E7BC4AF06E5B148D2 /* ConstraintDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B39CB31815FB05E72BA3D232A26A687 /* ConstraintDSL.swift */; }; - 57FC31B14C753B5C63CEF00560F8A6EF /* SizeExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 00C144CD3C498BB6542EF833E206A780 /* SizeExtensions.swift */; }; - 582D59E0D2EF62E0575933C99B393704 /* GraphicsContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F01F2AB167F577C0F70E48C66A6336A /* GraphicsContext.swift */; }; - 5967E140B1CC25706A2729C87EE6B91F /* ElementAt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 184DA5CFF684E2DC848154E734E7AB0D /* ElementAt.swift */; }; - 597C84A0C70408B4D42663A15DE898DA /* SwiftSupport.swift in Sources */ = {isa = PBXBuildFile; fileRef = 424A702748AA121F5FEB193B1191483C /* SwiftSupport.swift */; }; - 59BC9047F4BEBBC06235608D974E230D /* NSTextAttachment+Kingfisher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 915AF1EC159B765FB7AC4A1C0E60CAC0 /* NSTextAttachment+Kingfisher.swift */; }; - 5A39F3F258372FA025F08ECAFFFCF71D /* NSTextField+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0CACF64471AFF0470B5E42C9B46037D /* NSTextField+Rx.swift */; }; - 5A3DE5038C0E8C2BAFC3316589D0F918 /* NotificationCenter+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = F7FC04867F5BF4E0A42DEF2F72E634EF /* NotificationCenter+Rx.swift */; }; - 5A69398D7112CEBC9B8EFB1F0B8A28F3 /* RetryWhen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7338F1FF23532AF46F9E8008D26B30FA /* RetryWhen.swift */; }; - 5ADB30DD9A03859018550A999ACB0652 /* KFImageOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = BEE8793F79C324F81E990D85B0DD7181 /* KFImageOptions.swift */; }; - 5BBA3FFE2DA553B89C4BD1F5CE935870 /* RefCountDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 625300D43DB54866F54F44790A3A98BA /* RefCountDisposable.swift */; }; - 5C7E1C1746C2CBA4E417EA67BF1BC0B0 /* Disposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7759672358133367A026CFFF100B7266 /* Disposable.swift */; }; - 5D36B99F3CAB1FC7337082D9581FECA6 /* Debugging.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBA7D19A35E045E7A572B547EFDB0933 /* Debugging.swift */; }; - 5DF522ACD3FC75DF7FEC4A234EC71F90 /* Binder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17D4DADC77B1F1BB73F3B96802D895B4 /* Binder.swift */; }; - 5E27DD292D3A55657712DD7AFA7B8FCA /* KFImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 904B25049C5C4201D2F3807CEB7EDD18 /* KFImage.swift */; }; - 5E3BF2B719B3A034C173D16B3ABF682E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4207BEE6DFA63E5CF69828DD467E9674 /* Foundation.framework */; }; - 5F852F38CBC282496CCBE37C51324B2F /* ImageProgressive.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06C46BF167AB2478C8C4452C1CC1D492 /* ImageProgressive.swift */; }; - 604D3C93C17978C23600EC415949AB64 /* ConstraintInsets.swift in Sources */ = {isa = PBXBuildFile; fileRef = 317E64497475D02434416B7515431CCA /* ConstraintInsets.swift */; }; - 608DC0C8110DDFF5D8E5A43BB48A6A86 /* UISlider+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36AFC22478324A257BF620E092E45422 /* UISlider+Rx.swift */; }; - 60A0FA09C474BBB863D96FF6AA73189F /* BehaviorRelay.swift in Sources */ = {isa = PBXBuildFile; fileRef = F764A3A8B20324C2F34EC1D6F16152AB /* BehaviorRelay.swift */; }; - 611CEF7FF1EF9EA1BCEF6C73EEE3ACCF /* ConstraintLayoutGuide.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF2081FB6F160F02B039B6B8E0372A0C /* ConstraintLayoutGuide.swift */; }; - 612C192E3094E8FC4E9899087C49FDBB /* Completable+AndThen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2B3DE857102A08E8F2EE1810539AEC13 /* Completable+AndThen.swift */; }; - 61A58472ED03FAECD4DD20B7D24982E3 /* SubscribeOn.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9EE1581D88A8DC5A6B4BAEBED387C17 /* SubscribeOn.swift */; }; - 61EB40AB5F1BB5E6FDC8C5CDE06C3DE9 /* RxPickerViewDataSourceType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8627535079D650264EE5F518A61C4952 /* RxPickerViewDataSourceType.swift */; }; - 6381104076CF1CAB85D0CB254225ED95 /* BinaryDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 986A6F35DC6F8A06E3D5D55C5E1C8A8E /* BinaryDisposable.swift */; }; - 63915C84FCD95EE0FB8F3D155EA3C734 /* Decode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CFE3514BFC58CA70037B25A4A735C36 /* Decode.swift */; }; - 6520F37E594D9B229B1107ED61DA6B1D /* SubscriptionDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = A97B289458AC803EDFEBD1E061C3931A /* SubscriptionDisposable.swift */; }; - 654D9C29A846E7ED4DD5BF0BFC8D64B8 /* UISwitch+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B68448B96DB3E77C5C2170A1871CF92 /* UISwitch+Rx.swift */; }; - 655FB34A298FAE0D748BC8D260EAE775 /* GroupBy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8369E4648F3585DB30ED0C7420B05E86 /* GroupBy.swift */; }; - 65AC7DADABB81C65F53F82BDE065FCEA /* Event.swift in Sources */ = {isa = PBXBuildFile; fileRef = ACFFEF9DB2D957EA2190E7217D515F43 /* Event.swift */; }; - 660E73ECB1E50185B9D21BAA127DC3A0 /* UIRefreshControl+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6799C58B8E68EE4D3671B2DBD9DEEA2C /* UIRefreshControl+Rx.swift */; }; - 67C261102922914AE06421C50B63F3EA /* HistoricalScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD553A4B55468BF02042D0573ADD48EC /* HistoricalScheduler.swift */; }; - 68FB2DCB4C77DBCAF9A6037E470F2BDE /* ParameterEncoding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C25FB8546BC3CEE9E783B694D03F960 /* ParameterEncoding.swift */; }; - 6927E0A61FCF762B43C75325110C3D77 /* Infallible+Bind.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0B17F1A3A24F643762E6B55EC8A52C36 /* Infallible+Bind.swift */; }; - 69566AF1992E03BF8EE5364570AE7EEF /* Debug.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7ADD7DEFE68C53F7062513961FC78461 /* Debug.swift */; }; - 69657DEC11BB7E4F9F5B6DE8E1148B3E /* _RXObjCRuntime.h in Headers */ = {isa = PBXBuildFile; fileRef = 6C727459A08E794B0412C703A8824E55 /* _RXObjCRuntime.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 69DE75BA185BBAB5FDAA28321F3C849F /* ConstraintItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 130B211EBE72E2E4257ED2647FBBB416 /* ConstraintItem.swift */; }; - 6A8F6858E6199C5C249942D8CF276891 /* PrimitiveSequence+Concurrency.swift in Sources */ = {isa = PBXBuildFile; fileRef = 80C9F35A9CDE73099A44352E6E7A44FB /* PrimitiveSequence+Concurrency.swift */; }; - 6AC1B881BB319C89AD023A02CDC8FC3D /* ConstraintLayoutGuide+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 241DAB52B81445629ED6FA03025A8A01 /* ConstraintLayoutGuide+Extensions.swift */; }; - 6BDA2BC21E394076C2E58E9269F4AABD /* SchedulerType+SharedSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09F941505D9321A4FA63E02F11B9110B /* SchedulerType+SharedSequence.swift */; }; - 6D9386BC0EFEBC75E2E73453CFBAA6E3 /* AnyObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 667BCCC6EF989ADDFF9F676FD2DEC2C7 /* AnyObserver.swift */; }; - 6DB19BEE9C42CBE8101A114524B38CE7 /* NSView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C49A13838C81BACC20199E208538B3B8 /* NSView+Rx.swift */; }; - 6DFB5C921332D5E14BF251A5ADA46473 /* RxNavigationControllerDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = C1681861BBDA70E403E80CA49A445375 /* RxNavigationControllerDelegateProxy.swift */; }; - 6EAC8B6FA2D115DE708A58C601DD25E1 /* Constraint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 222E58D6CACB78B0AC327D81E0735D90 /* Constraint.swift */; }; - 6ED3A5CD638FF74642646E42A06BDBC8 /* AddRef.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B0F101C55722F52A00ADDC08CC57433 /* AddRef.swift */; }; - 6EE79F60AEA90DFD74B64386D6BF69EA /* CompactMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4270B930D638943834E67312DB05D3F4 /* CompactMap.swift */; }; - 6F803B4767FE50C12E3F0402DC0A3BE5 /* PriorityQueue.swift in Sources */ = {isa = PBXBuildFile; fileRef = AC43E89136D5320B447049628E1C8544 /* PriorityQueue.swift */; }; - 70FEC06F54286257E1BA1ECA0C99198D /* Image.swift in Sources */ = {isa = PBXBuildFile; fileRef = CFCA110575FAAC102E9178B12E293AF5 /* Image.swift */; }; - 7292E98D3FC744634D80B88F34D6AAE5 /* Throttle.swift in Sources */ = {isa = PBXBuildFile; fileRef = D4949EDAC2D6B42BB1D0463611EB6CEA /* Throttle.swift */; }; - 72EE3F69E6154EF5C5524DE4F4EE0B5C /* Queue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 137F5CBC3071C4785D4AB511F73B3D46 /* Queue.swift */; }; - 72FCE0D3F5EA7EB908C108DFD468B267 /* RxCollectionViewDataSourcePrefetchingProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1DEE7942DA2933AD0DE8D92487F28A7F /* RxCollectionViewDataSourcePrefetchingProxy.swift */; }; - 7483E5327027263F7E4B94A2997191C4 /* AuthenticationInterceptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 358DAA2B9E4EBB5587E050278C4D2477 /* AuthenticationInterceptor.swift */; }; - 75966A9262648D4647D764E3E76BC6AC /* Response.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E2EA13F76555343EEC44433CACFFD1E /* Response.swift */; }; - 762959600EECF43D5CA6956554557CA8 /* ScheduledItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = A19B865FFE6A5B37280CC76EEDCF02B9 /* ScheduledItem.swift */; }; - 768A33DCEB41CBC5C7ECF5F0220B1A97 /* SharedSequence+Concurrency.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8FDBD87FACB64B79AF66EA5E4853AA26 /* SharedSequence+Concurrency.swift */; }; - 77582C3A097CFC2B647CE274804B41B2 /* Concat.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9823846C303204754B247A0BDF6ED785 /* Concat.swift */; }; - 778221240667FCFBEB8AED6FD1548D69 /* Observable+Concurrency.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8C6D6A0A273E5CBC1AA8F31BC7793FC /* Observable+Concurrency.swift */; }; - 782082D9F5529E63F249E8811BA6FD10 /* RxPickerViewDataSourceProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 610D60209B13D08D145176FAB45012B0 /* RxPickerViewDataSourceProxy.swift */; }; - 785388FDB0BDD1C2902CD2E699E62EBC /* Producer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8FB5398B2B62AAD9A46B5060AE1F2D1B /* Producer.swift */; }; - 7930C94414B4C661867AC4FBE82E996C /* URLEncodedFormEncoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = A887DEF81D5E15FF990179C08B1AC359 /* URLEncodedFormEncoder.swift */; }; - 79F9E950137589918626B2BE15C3F760 /* Infallible+Concurrency.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F6EEF790427F231334590DCE3E3CC6B /* Infallible+Concurrency.swift */; }; - 7A3F9BAF32B39D6022FAD40CBA6D5DA6 /* LockOwnerType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5757A156B9ED6AF45944C0C68D09DB15 /* LockOwnerType.swift */; }; + 4251CDB971A8B94270E34381974BC9F8 /* _RXKVOObserver.h in Headers */ = {isa = PBXBuildFile; fileRef = 089B6DCA06D8D3E2325AFA510830CE74 /* _RXKVOObserver.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 426C76C68C9FA3582F26BBB9E96316E4 /* _RX.m in Sources */ = {isa = PBXBuildFile; fileRef = 92E9E919A6553EE8C8A1C1AFC0C9CFBF /* _RX.m */; }; + 4553BA81245F8810DEB2D7FF2ABB8FBD /* Timeout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 687CE1566B344748F0FE85E51A9BF025 /* Timeout.swift */; }; + 457BE444ED617FA7D6851D6DAA9D7234 /* Delegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98B2EE21A737EEFCAD2B57F31F0462AE /* Delegate.swift */; }; + 45F6BA1117D64D98B32E0C77670EF906 /* RxCocoaRuntime.h in Headers */ = {isa = PBXBuildFile; fileRef = AC8527BAB8852F85E2F7683DBF5CC2B3 /* RxCocoaRuntime.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 463C9F57DB87E0782404DBF23D476237 /* CompactMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = 751E2BCF9EEA072DBFDDA7045C85AD5E /* CompactMap.swift */; }; + 46A64A43AFA057B6B63C8F0C12F509B4 /* Combine.swift in Sources */ = {isa = PBXBuildFile; fileRef = CF8CB965C4EC1995B14A54D4DBDCE01C /* Combine.swift */; }; + 47D3FBF90386DABCAB70AA2CA176C8EB /* ControlEvent+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = D758172119723E90B76FF571013C6F6D /* ControlEvent+Driver.swift */; }; + 487BC04B514FE7A25811D606296E7C25 /* Reactive.swift in Sources */ = {isa = PBXBuildFile; fileRef = D49A250E5660E52FB3ED481F5453E468 /* Reactive.swift */; }; + 4977F820DC5A377A1F46EF9767CC7BDC /* SubscriptionDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89FA4653A9DB20B46B5EAD969CEFD408 /* SubscriptionDisposable.swift */; }; + 4B287F24A4F00FEE5D037D206E46D2DD /* SkipWhile.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB01656DD6DE09055004A2451DD90DEF /* SkipWhile.swift */; }; + 4B3C7BFE4F04C76E0138F6C848CECA0B /* Amb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A4B30F23533D3593387DB40F428E6C8 /* Amb.swift */; }; + 4B95FB4E7C80680DEC7A3CD0309AEFCD /* Infallible+Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDEE64D4CD0D86C8CC6067A1A5D87022 /* Infallible+Operators.swift */; }; + 4C7CFEFE99EFF38C1AC2CE45AF7B08A0 /* GroupBy.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC3A85F3F8DE421C7AC392CAA457528A /* GroupBy.swift */; }; + 4CAD4795B0C9A02E698FDA522790FFA5 /* StartWith.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2094A6FA4F4A14BC5ADE62BC559C6519 /* StartWith.swift */; }; + 4DCA9775E5CCF599460BDB46E77F6FA4 /* Kingfisher-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 67E658F56497B6F95E92CC171DB4AA46 /* Kingfisher-dummy.m */; }; + 4F315C18FC854325DD5D062DD7A363D5 /* ObservableConvertibleType+SharedSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 38B5587EDC1E5C18DCBD4821467D74DB /* ObservableConvertibleType+SharedSequence.swift */; }; + 4F37E521D341C47CE73DDCF21BA95A52 /* KingfisherError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89007878AFF8B9F69939C8A73E5D4C9A /* KingfisherError.swift */; }; + 4F5EDC81EE6DAB09479A2BB27A4A098D /* Completable+AndThen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C7D7D3830CB0BF4CD8C8B7D9C7A64D2 /* Completable+AndThen.swift */; }; + 4FFAA9C643B70835498ACB395BFEC516 /* SynchronizedDisposeType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96EEAF7699B2B1EB0F28008019EB0076 /* SynchronizedDisposeType.swift */; }; + 506128E1CC424E40E2691546D9547549 /* Placeholder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9673A6B10FF7272A0A8D84BB45970880 /* Placeholder.swift */; }; + 509490FB1D30FEC59AE4BC21AEEBB7BB /* RequestModifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36392ABC092B4FBF622DBE16D5083069 /* RequestModifier.swift */; }; + 50A757187C620E17F98E8E92333E41B2 /* Decode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A3A0F64E54D7EBB69997EB7302B82EC /* Decode.swift */; }; + 518647876C170321B3C531FB54D0FD9F /* DefaultIfEmpty.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0FA9E7A216A388A60FEF3376047BC9BB /* DefaultIfEmpty.swift */; }; + 5230B70A7B448918B83D3B983533D29A /* KVORepresentable+CoreGraphics.swift in Sources */ = {isa = PBXBuildFile; fileRef = B404FE3FAE0B4E88F3925443DFB7B036 /* KVORepresentable+CoreGraphics.swift */; }; + 52B232B0FCC8318659718786C2808E69 /* CombineLatest+Collection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08F7F3D357F8394C66FC42DFC5599CF0 /* CombineLatest+Collection.swift */; }; + 5335F590CACD825AE6C157AFE374AAD7 /* Zip+Collection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 295491827D508CA3887131657ABFEBCD /* Zip+Collection.swift */; }; + 53770D330D03437B183A3EFBA560E0DD /* ScheduledDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82FFE850E5116771090CBEEAD0D544BC /* ScheduledDisposable.swift */; }; + 5435E924E7CE7B05B7F650C078A12F5B /* UITabBarController+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 422B5B171A08768C578EDA6F142190E9 /* UITabBarController+Rx.swift */; }; + 543824E1170EF49570C40DAE54604F21 /* _RXDelegateProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 810B8913E4DAE38C62A12FD02554631A /* _RXDelegateProxy.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 54982322BBEF28E021FD0048D57606B7 /* ReplayRelay.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E0A4D7CDFDF8C581CF22EEC2C0FEBA1 /* ReplayRelay.swift */; }; + 55713DE36F28B0D078ADAD60D5EE7FF4 /* ObservableConvertibleType+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7479A03FF36C7E3B930D167270E76013 /* ObservableConvertibleType+Driver.swift */; }; + 557AE7547352CEA86AEE5518CC1A503E /* RxCocoa-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = D807106B4F7D9B57524D3CA8BCEC4176 /* RxCocoa-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 55AABB1FB38F61A3369ACC555FF3046D /* Alamofire-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 30764A6124778F45A20AC59D3D520B6C /* Alamofire-dummy.m */; }; + 567E2B1BAE575E6556A2E57191BA2DA7 /* DelegateProxyType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5FE3FB9C44BB4F4290AB98825B32A812 /* DelegateProxyType.swift */; }; + 5689FB356124875D4D02960C31C364D4 /* Window.swift in Sources */ = {isa = PBXBuildFile; fileRef = 412E15B01A1AC4D62C2A091BF7C0BC49 /* Window.swift */; }; + 57FC31B14C753B5C63CEF00560F8A6EF /* SizeExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61121DC00DF38B7FA58EAA2E41C391FA /* SizeExtensions.swift */; }; + 582D59E0D2EF62E0575933C99B393704 /* GraphicsContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67FE9F7C0FBED88E2529038C216FA2ED /* GraphicsContext.swift */; }; + 58A0E13F48BF62AB1B8E65DFAC010878 /* RecursiveScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0DF2409DEC699702D8BE3985399F6DC2 /* RecursiveScheduler.swift */; }; + 59BC9047F4BEBBC06235608D974E230D /* NSTextAttachment+Kingfisher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F37FCAA847910C20C746E2E93D6E753 /* NSTextAttachment+Kingfisher.swift */; }; + 59DD9616318D51181F2D3FF45364A573 /* First.swift in Sources */ = {isa = PBXBuildFile; fileRef = B41285A8512647DBCF32080742F7CD91 /* First.swift */; }; + 5A39F3F258372FA025F08ECAFFFCF71D /* NSTextField+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2AA3BCD0F8D8DD47DE2953CAA6551715 /* NSTextField+Rx.swift */; }; + 5A3DE5038C0E8C2BAFC3316589D0F918 /* NotificationCenter+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBBD45296653BE240DD3C8B696A020B8 /* NotificationCenter+Rx.swift */; }; + 5A44BE14346DAA491EDDB127357B0F47 /* RefCountDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B676FD3CB23152BBFE395F467934BDF /* RefCountDisposable.swift */; }; + 5ADB30DD9A03859018550A999ACB0652 /* KFImageOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = F6A6FBB3FA0B4E85A975C350FD329D26 /* KFImageOptions.swift */; }; + 5C1E8732E536F47FDAD49A6AA13B23C6 /* ConcurrentDispatchQueueScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1B20C14E03FF446329B17B8921520F47 /* ConcurrentDispatchQueueScheduler.swift */; }; + 5D14E9205F386C639E5B9AED1BE6EFE2 /* BehaviorSubject.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6E5FC2E9F085687E0F5D14CF9410536 /* BehaviorSubject.swift */; }; + 5E27DD292D3A55657712DD7AFA7B8FCA /* KFImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5A28EC8933B0AB206A9F67DA3A609D53 /* KFImage.swift */; }; + 5F852F38CBC282496CCBE37C51324B2F /* ImageProgressive.swift in Sources */ = {isa = PBXBuildFile; fileRef = A93504BC876FAFEF8FE3285505020CE3 /* ImageProgressive.swift */; }; + 608DC0C8110DDFF5D8E5A43BB48A6A86 /* UISlider+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54828098CAE6FA49FBA21FAD41401637 /* UISlider+Rx.swift */; }; + 61EB40AB5F1BB5E6FDC8C5CDE06C3DE9 /* RxPickerViewDataSourceType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7DC095A09CB1D5D32E6A66BE456733BC /* RxPickerViewDataSourceType.swift */; }; + 649C7EBC4853739A73EB521BACB73DDB /* DispatchQueueConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = D437B22EAA093801BCE236E340CBEDBD /* DispatchQueueConfiguration.swift */; }; + 654D9C29A846E7ED4DD5BF0BFC8D64B8 /* UISwitch+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF56C73F6B09447C70193AA292709167 /* UISwitch+Rx.swift */; }; + 660E73ECB1E50185B9D21BAA127DC3A0 /* UIRefreshControl+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = B079B1E822C96FC547559897FBC5CC64 /* UIRefreshControl+Rx.swift */; }; + 67058ED7DBF4E222789EE2A95A74626F /* TakeLast.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7262E1B9BBFFBD9E0D2418C8513DFB6 /* TakeLast.swift */; }; + 6819F6B855E9B6BEF7348EA151E1C869 /* Repeat.swift in Sources */ = {isa = PBXBuildFile; fileRef = F525585EB6ADCCED14723483885C996F /* Repeat.swift */; }; + 68FB2DCB4C77DBCAF9A6037E470F2BDE /* ParameterEncoding.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAC5967E2F4B2DBCC3F196E40B76AB66 /* ParameterEncoding.swift */; }; + 6927E0A61FCF762B43C75325110C3D77 /* Infallible+Bind.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82BECDF9E7CCB55C9A04955AA405C2C0 /* Infallible+Bind.swift */; }; + 69657DEC11BB7E4F9F5B6DE8E1148B3E /* _RXObjCRuntime.h in Headers */ = {isa = PBXBuildFile; fileRef = 3644EFA29BEE50A42E6705784E7BEC9F /* _RXObjCRuntime.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6BDA2BC21E394076C2E58E9269F4AABD /* SchedulerType+SharedSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8B21AA11663F08C11AFD56F31D5E7C63 /* SchedulerType+SharedSequence.swift */; }; + 6DB19BEE9C42CBE8101A114524B38CE7 /* NSView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = E955EC2A45DFBE88B5C529147AAEF33C /* NSView+Rx.swift */; }; + 6DFB5C921332D5E14BF251A5ADA46473 /* RxNavigationControllerDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = B52C6E7CC90A14F22C09AFD1A3D63684 /* RxNavigationControllerDelegateProxy.swift */; }; + 6F803B4767FE50C12E3F0402DC0A3BE5 /* PriorityQueue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C8341376070773E4EE79FF6BB8ACBE9 /* PriorityQueue.swift */; }; + 6F86CE63B7DA5644ADBA42E69F48338E /* Infallible+CombineLatest+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6F1992927EEBFAD4FAF98E6C6DB3B08E /* Infallible+CombineLatest+arity.swift */; }; + 707678DCA308C0A83FBC5EE8A7AAF3E6 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4207BEE6DFA63E5CF69828DD467E9674 /* Foundation.framework */; }; + 70FEC06F54286257E1BA1ECA0C99198D /* Image.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A9790FD98F92A408BE131856794F256 /* Image.swift */; }; + 72EE3F69E6154EF5C5524DE4F4EE0B5C /* Queue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1895C7E5C1C20859533DAC0404461E70 /* Queue.swift */; }; + 72FCE0D3F5EA7EB908C108DFD468B267 /* RxCollectionViewDataSourcePrefetchingProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B90094D3C08989C66117381B0EE78A0 /* RxCollectionViewDataSourcePrefetchingProxy.swift */; }; + 739AC39C53208366F1CFEC4C1C8CB3C9 /* GroupedObservable.swift in Sources */ = {isa = PBXBuildFile; fileRef = B799A42CD7515AD6ED2B59728A9B0D92 /* GroupedObservable.swift */; }; + 74428D0C8712DB1F15C68F8C5CBA8FBD /* CombineLatest+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9BE8E24C1DD452484E4541B9975ECBDD /* CombineLatest+arity.swift */; }; + 7483E5327027263F7E4B94A2997191C4 /* AuthenticationInterceptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = D587E53F740333208B156ADF9CD51B3B /* AuthenticationInterceptor.swift */; }; + 75966A9262648D4647D764E3E76BC6AC /* Response.swift in Sources */ = {isa = PBXBuildFile; fileRef = A753CF5BF33F9243A14FAF0AF2923C94 /* Response.swift */; }; + 75E1096D94B3B0AC745ACE86904B6DBD /* Completable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C75461932EFF007E374BCAC3E4DD0959 /* Completable.swift */; }; + 768A33DCEB41CBC5C7ECF5F0220B1A97 /* SharedSequence+Concurrency.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A8EAF49F33612E2323188B5584E29C9 /* SharedSequence+Concurrency.swift */; }; + 7713555D4CEBE4BE9A63AF36CE9AAB20 /* Switch.swift in Sources */ = {isa = PBXBuildFile; fileRef = 858053529BB3FEAAD613BA94C8D843D1 /* Switch.swift */; }; + 776742C09A29B0D13B9E2A72CCE8CCC0 /* Debounce.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1FED91CB7BAB408B7F054A4F952904CB /* Debounce.swift */; }; + 782082D9F5529E63F249E8811BA6FD10 /* RxPickerViewDataSourceProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3E7DAFFBBECFBA919171DD5E26B7B72 /* RxPickerViewDataSourceProxy.swift */; }; + 78F0A1E709334AC222C86EEF41D88A9A /* PublishSubject.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06EF59092D94C47E9B9ECA701EED9931 /* PublishSubject.swift */; }; + 7930C94414B4C661867AC4FBE82E996C /* URLEncodedFormEncoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4664F288F9FB831786A630ECFA101071 /* URLEncodedFormEncoder.swift */; }; + 798AA7CFE4264F21DF40FBBF5F9823B9 /* AddRef.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53A0879EC7912ADD13E86EA9562CEBE8 /* AddRef.swift */; }; + 7A7031F9683054E89FA9D36B5820F97D /* InvocableType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 398E77D40E6428470FC7FB4089F7C477 /* InvocableType.swift */; }; 7B068137A8925891446203B5D3D6A4ED /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 872D7EFA572ECEE8EF993C27196E16DD /* CFNetwork.framework */; }; - 7BA5D9B38DAEDD6A5166ECF2A498D194 /* RxCollectionViewDataSourceType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 86492500A6402F964E075FACAEF01A3E /* RxCollectionViewDataSourceType.swift */; }; - 7BF8260A7F555FD2420F7941282138F3 /* Range.swift in Sources */ = {isa = PBXBuildFile; fileRef = 951DFF7A3C099B7077A9004393955170 /* Range.swift */; }; - 7C1F9FDC0B9B067A4398340C29AF9D05 /* Delay.swift in Sources */ = {isa = PBXBuildFile; fileRef = CFAE018E2F9B7DD4F5CA60175FDE87DA /* Delay.swift */; }; - 7C7418FF01DD7BB909719682B634A8A5 /* SessionDataTask.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8842DBE29A05C1307DC38FF9AF30743D /* SessionDataTask.swift */; }; - 7C9C0D2AB5BB6670928CC95B4DA46814 /* RxSearchBarDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = FCB720609329B670F8E8AC3808D3BC45 /* RxSearchBarDelegateProxy.swift */; }; - 7D911636E892B1018441F267D32D7739 /* Deferred.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9F1DD2F60379679B5B17A76B1696616 /* Deferred.swift */; }; - 7E02F5B62BE00E97847DF549FFED2490 /* HTTPHeaders.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0541EE12F83E7E06C39B7A475EAD9604 /* HTTPHeaders.swift */; }; - 7E9FA6136923517F36F76334DE26BE43 /* Repeat.swift in Sources */ = {isa = PBXBuildFile; fileRef = 515327C59D95E5C4061D499BA1F0B68F /* Repeat.swift */; }; - 7F1BB526AAE3ECDCE90127D9D0E10261 /* StringEncoding+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA1F87BA0742A1EA0A40E235FE971C67 /* StringEncoding+Alamofire.swift */; }; - 7F8547BD60DC1A7CE3AB27A0BFF6E1ED /* BehaviorSubject.swift in Sources */ = {isa = PBXBuildFile; fileRef = 121C60A545BC5C21B7DC71D523760C7C /* BehaviorSubject.swift */; }; - 7FE695DA8EE7FF1286556E06B692009B /* MultipartFormData.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8356865FC9E775236F741C269CB22B4 /* MultipartFormData.swift */; }; - 7FFE4021A4F14124342AD41CE1117B3E /* KFAnimatedImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C1F0F4DBA417BC6160C90E858AD8771 /* KFAnimatedImage.swift */; }; - 80738D8956C9987CCCEDF551961E5069 /* ImageDataProcessor.swift in Sources */ = {isa = PBXBuildFile; fileRef = C369ED58693BF37EDA21C4F4D033C77F /* ImageDataProcessor.swift */; }; - 808C960C82D708FC1A42C581D6CB4940 /* URLSessionConfiguration+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60CC6C39DC44366F26892B2B6511EFBD /* URLSessionConfiguration+Alamofire.swift */; }; - 81148E8E0935476F92B10881A023D0DC /* ControlTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = E5B77D608A1D372965EF3ECEBF567934 /* ControlTarget.swift */; }; - 81B8D2B7CEB25C2448B0BC9B33591A65 /* Session.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7425AE0B86190A421131348A707C2E31 /* Session.swift */; }; - 824D816B1EE404F2DD400EE678695CBE /* ResponseSerialization.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAEA2AB218D7E204D19861EC84B7407E /* ResponseSerialization.swift */; }; - 84AEE29F4E7DDA962C49D6FAC6044EBC /* RxCocoaObjCRuntimeError+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = E5BA74BF40B3BBE425DE26E53D5C990B /* RxCocoaObjCRuntimeError+Extensions.swift */; }; - 860068685647C2899029AD9CE2553986 /* Amb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A2F16A1F9F00BDA8F79C00C654CE3CD /* Amb.swift */; }; - 881A35B28D93C56E46E305F6138B1A76 /* ImageDownloaderDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7BAA0DA36E7E33C0C9ACCBA5834B9A6 /* ImageDownloaderDelegate.swift */; }; - 8A8AD24A8CE75FBE807EB5A9FC11E62A /* Bag.swift in Sources */ = {isa = PBXBuildFile; fileRef = 87AB57B81BC7D19E0C97FD4C2D586541 /* Bag.swift */; }; - 8AA147BF06969F5D675E365125C6D080 /* SubjectType.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAE75034A0C45C468312CBBB58D7B435 /* SubjectType.swift */; }; - 8AD8514B65BEABCCF5770F560FAD331B /* ObservableType+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9FC375C4BA7AE0311FBDFE08B6835B15 /* ObservableType+Extensions.swift */; }; - 8AEE5B74A5BAC274D6589F229D867768 /* UITableView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8DFB8933200B3D6EA07BDD5A6EC3A405 /* UITableView+Rx.swift */; }; - 8CEC7A8B8737C5843EDF231012AE653C /* RxRelay-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 084B073DBB239AF4615C2D2E1425D4BF /* RxRelay-dummy.m */; }; - 8D75FC8D7476C9674234F39F1A820D8C /* URLConvertible+URLRequestConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8DB0DA36B5B0DC606ECB769BC4325CA3 /* URLConvertible+URLRequestConvertible.swift */; }; - 8DD529EC549D3B0500B7BC9A4654F553 /* RecursiveLock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 107459B76CB9D77F6035D19FFBE5EFEF /* RecursiveLock.swift */; }; - 8E375508111465F9BC5F46551C8CDC36 /* Reduce.swift in Sources */ = {isa = PBXBuildFile; fileRef = A6625A8BE682668A570694D038A257D5 /* Reduce.swift */; }; - 90585B3B5526DB8ECBD1AB8EF2C4D5A2 /* UISegmentedControl+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = A0392E7F88A95B61FB8FA05CDD0C277C /* UISegmentedControl+Rx.swift */; }; - 90719B00E533621BA8A511038972B5B9 /* Skip.swift in Sources */ = {isa = PBXBuildFile; fileRef = 388EF2864B761DC27213738E991E5EE4 /* Skip.swift */; }; - 9256A8573CBA80954CCB923819A057CF /* SkipWhile.swift in Sources */ = {isa = PBXBuildFile; fileRef = 05B2BEDE05FF4EA28EBD0304373085E8 /* SkipWhile.swift */; }; - 94E29616EBBC28A7633628E23B82CA5F /* Sink.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0AFB9151D62833AAB8F324478E76DD8A /* Sink.swift */; }; - 95E194A3AABB5407231E898B6686F73E /* ConstraintMakerRelatable+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F1CCBB07D9A089B4336F0EE9B43FCF0 /* ConstraintMakerRelatable+Extensions.swift */; }; - 961B5042F0BFBD2C5FCDCCF40E2EA7CD /* UIButton+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = D75E3F2F55F1E25FACE68CEE13F42681 /* UIButton+Rx.swift */; }; - 96F2D5EFCA7301E03079A348147AF50D /* PriorityQueue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2111A0F3F2516D3CD2BF8A9E92BCAE45 /* PriorityQueue.swift */; }; - 96F9E4762C05BF7B009FA52FC18C18C5 /* NSObject+Rx+RawRepresentable.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFACA8A2950430A3DC8D906B8634E45C /* NSObject+Rx+RawRepresentable.swift */; }; - 9857EF5AEE621FAE36BFFC5DD7590F2B /* Infallible+Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3436DEE621C359357BA3BF13F33E073F /* Infallible+Operators.swift */; }; - 98ADE2EA89F52D9836C273F26AB68B82 /* AsyncSubject.swift in Sources */ = {isa = PBXBuildFile; fileRef = E86CC6CB2AE7498DFB6F825C654C87A5 /* AsyncSubject.swift */; }; - 98F570DA48370453D648BD526FDAAEAA /* LayoutConstraintItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0F2AD37C6A839CE397E45D4A45248051 /* LayoutConstraintItem.swift */; }; - 99D058E53EFEE3AC4857CDE3DBA5C004 /* ParameterEncoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F21DE94F0437A981AE3D8EF4AE534F0 /* ParameterEncoder.swift */; }; - 9A151985A3D24023E8B2996BF3EBA2BB /* RxCocoa.h in Headers */ = {isa = PBXBuildFile; fileRef = CC6211ABFF0E7C22F06CE29BE02CA652 /* RxCocoa.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9ABAA07F86C71AA2B6494416A027D2E7 /* Take.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50108B124006A165C4BA439D5C83CA39 /* Take.swift */; }; - 9ADE1DD7C6AD8B57FD158350A66EF8D0 /* SharedSequence+Operators+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = CDCBCE2E3BA3768C414D11C5495C08C9 /* SharedSequence+Operators+arity.swift */; }; - 9B0A78AC22E7EDA755F51D86527E2D9C /* Source.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9EBC3E93786D1276540C7307B9D45965 /* Source.swift */; }; - 9B493FB344C5F6A6206FD8EBDABD7D8F /* ObservableConvertibleType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73015DD9E55747CB2D91D4CAC3BC8736 /* ObservableConvertibleType.swift */; }; - 9C200E849EF7AE92A372EC9471F55EEC /* AsMaybe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 47D8AA07BE58DD83B97017D9210622B5 /* AsMaybe.swift */; }; - 9C64067B750C4BAEC69BE0A9DE61B39A /* ScheduledItemType.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE5C49454786AF871262458384B775EC /* ScheduledItemType.swift */; }; - 9C9030DEDB0DF955B16FE08C50892D57 /* Concurrency.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9682883A9FB9227A30E426B7B22A4AE0 /* Concurrency.swift */; }; - 9C9548E8B4675954566202F7B87FF0E6 /* ConstraintConstantTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 157F1A5836DEDB20C7CA0569D4AEE12D /* ConstraintConstantTarget.swift */; }; - 9E02CFFEFE1BEC978B512286F03D31DA /* ConstraintInsetTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = C7C2EDA699FA5A0E181E5ED70C828D88 /* ConstraintInsetTarget.swift */; }; - 9E8BA4FB802EDCD492DAF618CA7BFCE8 /* SharedSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF6F52DB7F7E19CF6F1E3AD8EE7ABF96 /* SharedSequence.swift */; }; - 9F370B3928A333AD7E41680A29B1F051 /* RxCollectionViewReactiveArrayDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3B1FC3A97FC25696485D0B9F5CA47E0 /* RxCollectionViewReactiveArrayDataSource.swift */; }; - 9F5FE22DA95B66B8DC21CB13BE25EC9B /* WKInterfaceImage+Kingfisher.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8B1B004489EF0A3C00FC654FBC3F2C1 /* WKInterfaceImage+Kingfisher.swift */; }; - A0208B623442A26CB9157F193CBB4A7F /* Platform.Linux.swift in Sources */ = {isa = PBXBuildFile; fileRef = 505248F8BBCE74AE90A0319FAEB54D28 /* Platform.Linux.swift */; }; - A03FDA8BC5741880B1EF11AFD248EF48 /* ConstraintOffsetTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = E47C24C9E09A123619563D5F7FB0CDF0 /* ConstraintOffsetTarget.swift */; }; - A0F8CB001F871452BAD2E0FEE331EC22 /* Zip.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E7C6F96F576B353969EC8330148F91E /* Zip.swift */; }; - A175C1E3F39533E0313369F6102AC3ED /* VirtualTimeScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6DA063F5256A347D7D081C46F96F5FA7 /* VirtualTimeScheduler.swift */; }; - A20321979D272B922CD60B531BD05F7F /* UIPickerView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 686C9ABA5260DC1736D582EB21EB3170 /* UIPickerView+Rx.swift */; }; - A214A653E430C9079AA7B1090169262D /* UICollectionView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 636A098DCA586733FE77B8F29C352F57 /* UICollectionView+Rx.swift */; }; - A29100AA1876DDEFF6F54694A51FDB0E /* NetworkReachabilityManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1369099940636AB250657CC692BF3EC5 /* NetworkReachabilityManager.swift */; }; - A316388A35648CB2987E761771456087 /* KFOptionsSetter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 754528A7F206CABAF3A4B9CCD0B15698 /* KFOptionsSetter.swift */; }; - A39D3555EC8B45B7D6B9505DDAF0F117 /* Kingfisher.swift in Sources */ = {isa = PBXBuildFile; fileRef = B70C3F887C9E902C702236E0327D4F38 /* Kingfisher.swift */; }; - A3E3AB7C765C21AE17B1E6EE6560040C /* SnapKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 95E6BF7DBFB733E5C2798A197F19DA70 /* SnapKit-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A53BDE589BDD6483F3EEDCE5EA1DCCD3 /* Protected.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA5FA378AAE886DA3AC9C16D0DD6BE0C /* Protected.swift */; }; - A53EC5D172344068646DF62E39BA220D /* SerialDispatchQueueScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A8DBCDF74DE5E8D6992D9675633749C /* SerialDispatchQueueScheduler.swift */; }; - A5A68783FD4F409AC8F518A146365159 /* Zip+Collection.swift in Sources */ = {isa = PBXBuildFile; fileRef = A297C8D784BBC859E9C6201E49BF4E13 /* Zip+Collection.swift */; }; - A5A8BF973BFE9C9304372A26C9F2E35B /* ConstraintMakerExtendable.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFB9A6B81B14F3C64035C2DB48F52776 /* ConstraintMakerExtendable.swift */; }; - A616B20FBA287CEFA20ACD3F1B45F513 /* ObserverType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E5D4CAF83FA4976540C145582719E6F /* ObserverType.swift */; }; - A62E30D5D3B39176369CD174F3C81C7B /* AnonymousDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5DE6E5AA4600F001A83F9820E4D492BC /* AnonymousDisposable.swift */; }; - A88A844D5356E1690E445024CB796E09 /* Result.swift in Sources */ = {isa = PBXBuildFile; fileRef = D502FE235CCFEC8630275FA474F1B574 /* Result.swift */; }; - A892A3F92A4B151AD508CFCD080082A4 /* Then-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 4CED55A453561E7A37513977A28DFED5 /* Then-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A93A7776523AA8E3E88C843FD71A93EB /* Using.swift in Sources */ = {isa = PBXBuildFile; fileRef = A4558050D670F650FBA7E8380E5DBA7E /* Using.swift */; }; - A93FC5BCB5B02182D27377A3724A60B1 /* RxSearchControllerDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = EE65B39F824473BC883FFA45AC0D3690 /* RxSearchControllerDelegateProxy.swift */; }; - AAA7A11591D6E4B06124708291C37698 /* RxTabBarDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF1E73DCBB47ED856D69322088CA7932 /* RxTabBarDelegateProxy.swift */; }; - AB0BDD39B2181ABE0439F49C2D71186B /* Catch.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A32C24DECAFE475A9EFCD41472154F1 /* Catch.swift */; }; - AB88D7A71BA82D3BAF097C992BFB221B /* UISearchController+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3FA8F6297A67E9AEAE3ECC951A04CBBC /* UISearchController+Rx.swift */; }; - ACA3DBC73A19F3CDF9C4FAB09988D0E6 /* RxScrollViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8FA96DF00CC51AFC9A95824FB710B28 /* RxScrollViewDelegateProxy.swift */; }; - ACDB4BA7C4B480945042865EEB7D0822 /* Create.swift in Sources */ = {isa = PBXBuildFile; fileRef = 505AD183F074879A6B30520F7EB09771 /* Create.swift */; }; - B00B8088EB50EA3F0F875993C675F421 /* UITextField+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0A2F406CF49BBA3F6A9915F18143063 /* UITextField+Rx.swift */; }; - B03B5579590D528CBA6D11FF638BC2AF /* Typealiases.swift in Sources */ = {isa = PBXBuildFile; fileRef = B46D92C74028BCB0D4FFE2AB83E6CF3B /* Typealiases.swift */; }; - B21D8F31056634744F99C37EFAC65773 /* Sample.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6735D933417E3A7792F11221B4948957 /* Sample.swift */; }; - B222F5A0852EB3E37F4991777766C256 /* NopDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A654525D87DA5ABC310ED77B8FFBCF0 /* NopDisposable.swift */; }; - B25E07EA645911443A38DA1E68166156 /* Box.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD19855FFD7857F44CE7952BED4CE838 /* Box.swift */; }; - B3167FEDC691D1DDF267F855CFF33636 /* DelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13E54304FE547D6F19E4D2416D2AC346 /* DelegateProxy.swift */; }; - B3658C29BBDE1033F6269A92E612CB30 /* Request.swift in Sources */ = {isa = PBXBuildFile; fileRef = D3693A926111331029E338FEEDC1D7F0 /* Request.swift */; }; - B3F14F1B196B5858BD951366FA89FA6D /* RxWKNavigationDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF317EAAC9323039312A970435204F41 /* RxWKNavigationDelegateProxy.swift */; }; - B43017FEC99D227D4CDD81DD2C27D9D9 /* ConstraintMakerPrioritizable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8C022E17691D9FA8EA6272CE2A154876 /* ConstraintMakerPrioritizable.swift */; }; - B56C6A90DA568F4686DB05FFFD71D01B /* Buffer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 97BC78966CBAF868191F7FEFE2AF62DF /* Buffer.swift */; }; - B59095D5EF330419B3ADFBAD7EBC2B1F /* NSButton+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 35227468433DC8E345E8640C2F0166BC /* NSButton+Rx.swift */; }; - B5A452E59BCF8FDCEF23F05D11EBC7AD /* ImmediateSchedulerType.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5FAFD42F7D43384C6B200D149DD1F3B /* ImmediateSchedulerType.swift */; }; - B5ACECCDD52AF69EBA2E11666BBAEB42 /* RxCollectionViewDataSourceProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD6A756A303F3D840680A55EE3996D04 /* RxCollectionViewDataSourceProxy.swift */; }; - B704B198B9B520D449260877E300D821 /* ServerTrustEvaluation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 603D763519A2376BDD40B30EEB5570A4 /* ServerTrustEvaluation.swift */; }; - B752F7C4BECB65894B1F49421049CE5F /* ConstraintView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A15CE2114798C7DF1E85D42389A4564 /* ConstraintView.swift */; }; - B81884116F3776DDADDB13B99CEC20E4 /* DefaultIfEmpty.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8DAF2426DACB63AF02746FF53F2D89D /* DefaultIfEmpty.swift */; }; - B906116071BBB7342105FD2B9EADEE3D /* Infallible.swift in Sources */ = {isa = PBXBuildFile; fileRef = 068A6E9C30038829A199C8672AA0C979 /* Infallible.swift */; }; - B92C9990F545736F8B0B0E55C4CCE4CB /* AnonymousObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8741833E411E6F1B508277982C0AEC9F /* AnonymousObserver.swift */; }; - B939537C8BCED75906A50491AEB2935C /* ShareReplayScope.swift in Sources */ = {isa = PBXBuildFile; fileRef = C7DF83D544C4549F1E2EB2470DFB510A /* ShareReplayScope.swift */; }; - B9DEF50B0BD59E5781E31CBE0C98ABEF /* SchedulerServices+Emulation.swift in Sources */ = {isa = PBXBuildFile; fileRef = D228F6C8F517C8A8C3D9E2C7EF99F713 /* SchedulerServices+Emulation.swift */; }; - BA2F5547E33DE3896FAE13CFCF4B6CBE /* AsSingle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09E4839330BA404AF8CDA486B449B05B /* AsSingle.swift */; }; - BA439F3B580CD25CD164C41226C1B29D /* CombineLatest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7C4370E79AFE88AE5E47F04A6C28FFFB /* CombineLatest.swift */; }; - BA5658B6C27A81FA4665E507A1ED88DA /* Driver+Subscription.swift in Sources */ = {isa = PBXBuildFile; fileRef = 90B8C2D67A7A4AB7243CC7062B49441F /* Driver+Subscription.swift */; }; - BAD3834746DAB3C038417D16101B29A2 /* NSControl+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = CF997BA16163896793A7485A2663806D /* NSControl+Rx.swift */; }; - BB57BCC5EB1D905EB15331C56DA2B295 /* Timeout.swift in Sources */ = {isa = PBXBuildFile; fileRef = ABF9455485697E9BC09FC01DDC12B9C9 /* Timeout.swift */; }; - BB72FC9215BD907A82AE928782813D6C /* NSObject+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A6C0EB9B5EECB41206B66AC0F15C629 /* NSObject+Rx.swift */; }; - BBD437FE6BFF63452E6B7E08DFAB4DD9 /* UIBarButtonItem+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB6E79ECB4E9126F4A7C583D73F0B07F /* UIBarButtonItem+Rx.swift */; }; - BC0ECA8F22DEDE8886E189CD0EAA1197 /* URLRequest+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9E275F1F8736ABE6226C20BBEF403C2D /* URLRequest+Alamofire.swift */; }; - BD382E78580D295D10100678D4F66A76 /* String+MD5.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0C98D8984E5F9E6BE14A7A557660E41 /* String+MD5.swift */; }; - BD47CB74CD9B2B4D2D942C9B65748DFB /* SnapKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = C2D8EF56F3733D820BC6C13F9D5EA1BD /* SnapKit-dummy.m */; }; - C02114812E4710098A31FEF736AB2C04 /* RxRelay-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = A466A6CE62C2884AA095CAB4E9A597D8 /* RxRelay-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C026F3594B85533B43E125D315A43CCB /* WithLatestFrom.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54DC3B1CA2300B64603FB538AEE12921 /* WithLatestFrom.swift */; }; - C12DCA02D36C5C6167F566AFC96A6057 /* _RXObjCRuntime.m in Sources */ = {isa = PBXBuildFile; fileRef = E26E92CBC0FCFC8BDC931D35CE1E96EE /* _RXObjCRuntime.m */; }; - C12EB5E3035F96B794B1D249F50E0341 /* First.swift in Sources */ = {isa = PBXBuildFile; fileRef = 83EC7773188568506B64A628A29FD2A7 /* First.swift */; }; - C17EFE3C21E58C2D6A7623C2E289AF78 /* InfiniteSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDC531A0264E9B91B65C9F12019C5A99 /* InfiniteSequence.swift */; }; - C1B73EE3AFFB6B2FAF81B37ECBC41182 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4207BEE6DFA63E5CF69828DD467E9674 /* Foundation.framework */; }; - C2D4FEEAF01038DB5C31CA401C105476 /* _RXDelegateProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = D4C260821F3355A8D3ABA482ED863676 /* _RXDelegateProxy.m */; }; - C378AC3DF57A41F6F16D01BBD7A1BB02 /* UIActivityIndicatorView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = DA07BA8FE6748A737F5CCD20E4944E38 /* UIActivityIndicatorView+Rx.swift */; }; - C3A3522F3C476BD53720CD1A7A99F365 /* ObservableConvertibleType+Infallible.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30759823C9CE6516AACBB05160EF13DD /* ObservableConvertibleType+Infallible.swift */; }; - C5D0BD8B558AF481B598D2684A9E2D84 /* Just.swift in Sources */ = {isa = PBXBuildFile; fileRef = B7D99A5F81D17E615E68BE3B01918E8E /* Just.swift */; }; - C6266B438FFEB965441ACC859B60EBAA /* RxSwift-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = BAF16F6D75065670EFBF2F15055AB81B /* RxSwift-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6313D648AD432BF64ACF3D07D0F24E8 /* Completable.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF162A5990A31692642CA4945713F8DD /* Completable.swift */; }; - C66298F65C993B5F050C3F436156EF74 /* ConcurrentMainScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = BE2463CF4E92F3210A0276FE9BEB525E /* ConcurrentMainScheduler.swift */; }; - C6A1AF1239CD2F0D4745BAA097E1E63F /* RxCollectionViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7EE59B9FB330590B231A240FE174AF8A /* RxCollectionViewDelegateProxy.swift */; }; - C7018D447B3B6F2E112DF11794C5C8AD /* SynchronizedUnsubscribeType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4D02EF97FDBB7982690195FA389A8EFC /* SynchronizedUnsubscribeType.swift */; }; - C784A7AAD94DD830A9EB5ADDEE6DE1BB /* KVORepresentable.swift in Sources */ = {isa = PBXBuildFile; fileRef = B19292ABC27D8557E07D97751DF088CB /* KVORepresentable.swift */; }; - C84E716140D41AB0A4839198720DBB9F /* PublishSubject.swift in Sources */ = {isa = PBXBuildFile; fileRef = 741D4B1EAE87BA86ABEE652CFED1CC88 /* PublishSubject.swift */; }; - C94CB101E0A32A801CCF98E87CA1E0CD /* Optional.swift in Sources */ = {isa = PBXBuildFile; fileRef = F2A70264572855BE967A5A6C6D3BAD99 /* Optional.swift */; }; - CB3ACAC0625702DEC5BBB5F9AC0CC737 /* RxTableViewReactiveArrayDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = E1A41264B1C246AFE72507244BE6F511 /* RxTableViewReactiveArrayDataSource.swift */; }; - CC94E07C65019389F74E1FDB012B3E43 /* Generate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 12EBF0DC1A5B03601072EF15FD855379 /* Generate.swift */; }; - CCAACEB4253D5F9F925DF8AE580A089C /* Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA1FCB66D9CBF439A7D5EA6F638AA679 /* Utils.swift */; }; - CD532B13C8E342AF63D73DF4BAF557B7 /* Single.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2BDA7A879C586A073E0529EEC703BFCD /* Single.swift */; }; - CD573266DDB3C8BFDAD1336F95BAF17A /* Debounce.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A8339466C7D009EF826C170E1AD90C9 /* Debounce.swift */; }; - CD7AC3E1C98EA54F7C05C36C52805220 /* CacheSerializer.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF419F5D318D7AC9C950528EBAC8A59C /* CacheSerializer.swift */; }; - CE08483A41A5535019BE5E198792480B /* KVORepresentable+Swift.swift in Sources */ = {isa = PBXBuildFile; fileRef = 03A61FEED2484E27DD338F416EFBD5F2 /* KVORepresentable+Swift.swift */; }; - CE3413CE1EDF01B4EE4AA545E356413A /* Reactive.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF71006EABC2B7CE1FD3F20EAD5D2FE2 /* Reactive.swift */; }; - CEBFFEED65D877702B2F36102528CF6D /* EventMonitor.swift in Sources */ = {isa = PBXBuildFile; fileRef = A664631DAB917B89486AD2B6AEE385C7 /* EventMonitor.swift */; }; - CF32140300489AD5D6D5A74E4605FDAF /* DispatchQueue+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = C5B410F4A0BE420D44C466F881C99D2C /* DispatchQueue+Extensions.swift */; }; - CFA9B8D3B11D4BCFF18A2FC037342FF6 /* CurrentThreadScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9389EF9D0336BE90292F36C593B5559D /* CurrentThreadScheduler.swift */; }; - D0EA90FBF83350C49E6EF6C8A98D6F00 /* AFError.swift in Sources */ = {isa = PBXBuildFile; fileRef = E266949416C7AE1F7A986201A7DE7761 /* AFError.swift */; }; - D2004A03ADD62CD0C4649710F32A91F5 /* NSTextStorage+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = E79BA51E0D886B86DAB8E186842517EB /* NSTextStorage+Rx.swift */; }; - D21B5A1AA3B3ECFD974C91A75FB3DFA2 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4207BEE6DFA63E5CF69828DD467E9674 /* Foundation.framework */; }; - D2C293D847E95B01671EB3E6A32F11C7 /* WKWebView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F165BD2274B8D44D7378ED421062D22 /* WKWebView+Rx.swift */; }; - D3AB490FA372E1922315D4F2E5709254 /* InfiniteSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64D056D73DACA21B11089A038C892D21 /* InfiniteSequence.swift */; }; - D3BC528010D39EB2D79585A671FD80B6 /* UIScrollView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94C6C4981AF08F7ACC83F059A99ED6B4 /* UIScrollView+Rx.swift */; }; - D47B1058991EEC007A109B8E354EDB80 /* ObservableConvertibleType+Signal.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE8ADB821682AF228C4FD9BA20B10E1C /* ObservableConvertibleType+Signal.swift */; }; - D4933D17DC286C3DABCFD930BED56DD9 /* UIGestureRecognizer+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EB1862A3CC0798C6A24F748B398D9F6 /* UIGestureRecognizer+Rx.swift */; }; - D5803433D7FE8616DA581F5CACB91E5A /* DispatchQueueConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = DA032F5D9847C548FF785FD079219DDD /* DispatchQueueConfiguration.swift */; }; - D603AA58EF97D461A57B2B1BCB883868 /* AVAssetImageDataProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6F55CEEF50C9DDB5101170C66B9A74B /* AVAssetImageDataProvider.swift */; }; - D60F8A18627E1DA70A97E6485B2CBFF7 /* Sequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = CDE51B036B3A4486C9241941317E197C /* Sequence.swift */; }; - D6B4751CED01D53E4A1B6A571AAA2F83 /* HTTPMethod.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A91FF48BDA97DEC0CFA09E0B0C8D954 /* HTTPMethod.swift */; }; - D6FDE9DFAC4AA548A9A4E2D6BBCE54FC /* ControlProperty+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = C84D5CEF7870B54A1135523F0884A956 /* ControlProperty+Driver.swift */; }; - D7EAD04E5D701F6ECB66C2817E0401EB /* AtomicInt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68B9DFF5147237034DA364C3FA516CCB /* AtomicInt.swift */; }; - D83CF4F5FE97EC5D1D3195004F7467FA /* ObserverBase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 384029CF6AAA0D9C0A572019D325BDA0 /* ObserverBase.swift */; }; - D8727CE6B6ECAA1DBC6ED7A51254E6CD /* WithUnretained.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74248FA6486C900879416076682443CF /* WithUnretained.swift */; }; - D936EF159A167C7E4C5E5764C22F458F /* Then-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 9333AC86CE5E1D168C6206BEEC879F1B /* Then-dummy.m */; }; - DA34899BEF0668D76CBCE8C4CE47B97B /* RequestTaskMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = 70B328AA2DA9F6D6BC087C830B9E66DD /* RequestTaskMap.swift */; }; - DAD0F5A5E05EA8A665ED86D4F5A038F5 /* Map.swift in Sources */ = {isa = PBXBuildFile; fileRef = 24CAA72B4308373EC1488E7066216A9D /* Map.swift */; }; - DAFC6CE6321395CF4523DD66DADBB9BA /* ImageDrawing.swift in Sources */ = {isa = PBXBuildFile; fileRef = 40959136378DF5E537DD2F8AF2D85948 /* ImageDrawing.swift */; }; - DBB8088E14A2ADEDB1CD840BAC835267 /* CPListItem+Kingfisher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9469355019E77C388D5A169C5422BE47 /* CPListItem+Kingfisher.swift */; }; - DCA7008DCB07C60752627076306EFFCE /* Errors.swift in Sources */ = {isa = PBXBuildFile; fileRef = A90EA43B988B46C5459D233BA833F713 /* Errors.swift */; }; - DD72DC30CF19FFC81AB19CD0B074000D /* ImageDownloader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D041A3D4570CBE2784F0EDE829AE171 /* ImageDownloader.swift */; }; - DD902FE8D6824681C929D028655AE121 /* RequestInterceptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 26B1CD47411081568D6BED044060E0CD /* RequestInterceptor.swift */; }; - DE532EF7D50A9CF68587DAD4C1A02BD7 /* FormatIndicatedCacheSerializer.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC38313A2232A2D1552DD6864E4B41BB /* FormatIndicatedCacheSerializer.swift */; }; - DE68B4FEBCB7D3C9205B6B699B0CABBA /* SynchronizedDisposeType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 478E5AC81408D14D72E89C0DCFC82FB4 /* SynchronizedDisposeType.swift */; }; - DE71610B229DF6E2B65A8574BAF21414 /* SectionedViewDataSourceType.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD5C7120A18D227A82997EED2A913F55 /* SectionedViewDataSourceType.swift */; }; - DF4563832C19B8582C810BF502A5CA29 /* KF.swift in Sources */ = {isa = PBXBuildFile; fileRef = 814213E801B02E483CCA8EF36D9F5345 /* KF.swift */; }; - DFCDE4638265B4CCD494ECA5D560DBEE /* Indicator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 615AD1D4C454F5B681174A4A0994738A /* Indicator.swift */; }; - E0981B9E4163BD90E4BA203DB919DAFA /* Filter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 81891398514B0EA5CD3AA9A0445DDEB3 /* Filter.swift */; }; - E0AA314A33CFEF41192390CF89181274 /* RxMutableBox.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84D3E75D7E621D3A2DF1014FEB8C8357 /* RxMutableBox.swift */; }; - E54654D504A42C24F284A68F87F7671D /* OperationQueue+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = F667133DB5025D936CB88DBF5AA52A1E /* OperationQueue+Alamofire.swift */; }; - E5B664771063F1A9A372519A8466860B /* ImageView+Kingfisher.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8CBA518FC6A4193466224E12B56A38D /* ImageView+Kingfisher.swift */; }; - E5EE27EFDF9833E1112721CB585FD092 /* CombineLatest+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDB108338BFA9DC329256FA808451C2E /* CombineLatest+arity.swift */; }; - E633C9DDB7377E7F83B54AD7EC17B88C /* Infallible+Zip+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 83D37690DF4A5E1E936945D336965FED /* Infallible+Zip+arity.swift */; }; - E6D6C7D5E458A05CC736C340F853E9F6 /* ImageFormat.swift in Sources */ = {isa = PBXBuildFile; fileRef = E280800EDD85383B4CEB50CBF3C52C28 /* ImageFormat.swift */; }; + 7B41A903988DA0EA6FA8C3A7B222DD62 /* Sink.swift in Sources */ = {isa = PBXBuildFile; fileRef = A20C9D95E7E31090FCF766166CEE8348 /* Sink.swift */; }; + 7BA5D9B38DAEDD6A5166ECF2A498D194 /* RxCollectionViewDataSourceType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88B1E35A636DC56AD88590FC347B6872 /* RxCollectionViewDataSourceType.swift */; }; + 7C7418FF01DD7BB909719682B634A8A5 /* SessionDataTask.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB86FA52E8E02183238787010CD24DE7 /* SessionDataTask.swift */; }; + 7C9C0D2AB5BB6670928CC95B4DA46814 /* RxSearchBarDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = FCBB6A32C35785370B986E820A3A7F69 /* RxSearchBarDelegateProxy.swift */; }; + 7DAF75EABA876450B0E8BBDD72421CBE /* ScheduledItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = D972429E029A1490A40C133607C81B2F /* ScheduledItem.swift */; }; + 7DC6080B7B310037CC8DE6AA632C0496 /* Zip.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A3C02E23BCDD3860873163D1B3E216E /* Zip.swift */; }; + 7E02F5B62BE00E97847DF549FFED2490 /* HTTPHeaders.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B503E10D803E0857839B5BAD00579DB /* HTTPHeaders.swift */; }; + 7EB8B75E663C86B3D17005118997EA7F /* RxSwift-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 51726A3B096ECD92B4BE6442299A6888 /* RxSwift-dummy.m */; }; + 7F1BB526AAE3ECDCE90127D9D0E10261 /* StringEncoding+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = F12D473121D5D2AE5746621B81C91776 /* StringEncoding+Alamofire.swift */; }; + 7FE695DA8EE7FF1286556E06B692009B /* MultipartFormData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7004D13B2CAE14E35250FD29BC7819DA /* MultipartFormData.swift */; }; + 7FFE4021A4F14124342AD41CE1117B3E /* KFAnimatedImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = A42414508823C15D7CBBBDBF234E6633 /* KFAnimatedImage.swift */; }; + 80738D8956C9987CCCEDF551961E5069 /* ImageDataProcessor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5AA282F1442513B9D4A4F680BF173C8E /* ImageDataProcessor.swift */; }; + 808C960C82D708FC1A42C581D6CB4940 /* URLSessionConfiguration+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = 584C6421C2874DE3375A54E75DA35E94 /* URLSessionConfiguration+Alamofire.swift */; }; + 81148E8E0935476F92B10881A023D0DC /* ControlTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC4CC3C7F30E948841D6AEAE00437177 /* ControlTarget.swift */; }; + 81B8D2B7CEB25C2448B0BC9B33591A65 /* Session.swift in Sources */ = {isa = PBXBuildFile; fileRef = EEEE5FBEDCCBD735C692CAB265CE5ABF /* Session.swift */; }; + 820B59B856CD7C2917FFF747F3C84BF6 /* ObservableType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 791B0942F84333022C4891B489680957 /* ObservableType.swift */; }; + 824D816B1EE404F2DD400EE678695CBE /* ResponseSerialization.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD4D22DB86291DC9F571CA3995969FD6 /* ResponseSerialization.swift */; }; + 82FCAB89A939185D5F08B01925934D11 /* VirtualTimeConverterType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8BD52EC9995315E6CC0E92D042F1D87C /* VirtualTimeConverterType.swift */; }; + 84AEE29F4E7DDA962C49D6FAC6044EBC /* RxCocoaObjCRuntimeError+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75313700186384D3426C05B50811E476 /* RxCocoaObjCRuntimeError+Extensions.swift */; }; + 8784C87508B68621E150CDB53805A835 /* WithUnretained.swift in Sources */ = {isa = PBXBuildFile; fileRef = FBB2D27EBB6E8E4CB66D65603511BFC0 /* WithUnretained.swift */; }; + 881A35B28D93C56E46E305F6138B1A76 /* ImageDownloaderDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 65A601CE0F70B8D505A82650819F547D /* ImageDownloaderDelegate.swift */; }; + 8A8AD24A8CE75FBE807EB5A9FC11E62A /* Bag.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1879257263BF7E7F25A62A6CEA742CD8 /* Bag.swift */; }; + 8AEE5B74A5BAC274D6589F229D867768 /* UITableView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6BAAA12C2EFD1C98E0F0E6A7499F5AC6 /* UITableView+Rx.swift */; }; + 8D75FC8D7476C9674234F39F1A820D8C /* URLConvertible+URLRequestConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = BE2002B01BE646FE909AF9A67B0D5296 /* URLConvertible+URLRequestConvertible.swift */; }; + 8DBAFBEF1B7B36B977DB7E800B7040D0 /* CompositeDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 586C60BC4AE1A5E9B55904581C0BD815 /* CompositeDisposable.swift */; }; + 8F44450F6D7EF0E8F3E89E2220B12DCA /* DistinctUntilChanged.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC05D9699B494D74FC8621E6BF4E0DE8 /* DistinctUntilChanged.swift */; }; + 903C7ACDD34763D541F58E7D08F89D88 /* Buffer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01E10E28611A298A6EAE86EF489E9093 /* Buffer.swift */; }; + 90585B3B5526DB8ECBD1AB8EF2C4D5A2 /* UISegmentedControl+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1AB6D9D250C8EABCF06AD5E8D2B3B4E9 /* UISegmentedControl+Rx.swift */; }; + 93ACD3D4FADEA6E2F902B0766F22DD92 /* Error.swift in Sources */ = {isa = PBXBuildFile; fileRef = 22CA57B6D7A7C14A2943CC2BD4ADB804 /* Error.swift */; }; + 9454716F1448206E646A0E935A08D18D /* OperationQueueScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = E210F51C92F96757E15DFADB012320B0 /* OperationQueueScheduler.swift */; }; + 9587687D1485B6FE9D6A21DC466AF6E5 /* Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08A1FDBD059A732EDC3753506D2E53EE /* Utils.swift */; }; + 95E32365DE06432BCF0291E489A7CB83 /* SwiftSupport.swift in Sources */ = {isa = PBXBuildFile; fileRef = AF06CFE909D53A45328924B0E25B641A /* SwiftSupport.swift */; }; + 961B5042F0BFBD2C5FCDCCF40E2EA7CD /* UIButton+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 084B4D13DFE0E4F1513523495E2822DB /* UIButton+Rx.swift */; }; + 96F9E4762C05BF7B009FA52FC18C18C5 /* NSObject+Rx+RawRepresentable.swift in Sources */ = {isa = PBXBuildFile; fileRef = D186EF5541C18F253F9F39BCD2DCBDF4 /* NSObject+Rx+RawRepresentable.swift */; }; + 99261C92F3102B3EA89768390675BBA8 /* AsSingle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4D7720CFEC1EF58FA7358FBFCAC80F23 /* AsSingle.swift */; }; + 99D058E53EFEE3AC4857CDE3DBA5C004 /* ParameterEncoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51444FAEE00EC9DACD445B3ADD8D0CCF /* ParameterEncoder.swift */; }; + 9A151985A3D24023E8B2996BF3EBA2BB /* RxCocoa.h in Headers */ = {isa = PBXBuildFile; fileRef = 4C649A24C3B907ADD6A53C148A80E93C /* RxCocoa.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9ADE1DD7C6AD8B57FD158350A66EF8D0 /* SharedSequence+Operators+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3AEC10E040DFCDB14435C8A515AA6358 /* SharedSequence+Operators+arity.swift */; }; + 9AF734CC56738AF20C4E380D05AA8087 /* Merge.swift in Sources */ = {isa = PBXBuildFile; fileRef = E16DEFE4761DCC0C7D3A904967C331F7 /* Merge.swift */; }; + 9B0A78AC22E7EDA755F51D86527E2D9C /* Source.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8B379EC72D5A50ECFD1AEDAD11E99640 /* Source.swift */; }; + 9C9030DEDB0DF955B16FE08C50892D57 /* Concurrency.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3EA13BB3D536D4E84858D3646B8014E /* Concurrency.swift */; }; + 9E8BA4FB802EDCD492DAF618CA7BFCE8 /* SharedSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 49CAD7B768F40EFF2365DAAB0BF69AC1 /* SharedSequence.swift */; }; + 9F370B3928A333AD7E41680A29B1F051 /* RxCollectionViewReactiveArrayDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A86E357ADE22959DDEC41EA131EDFB9 /* RxCollectionViewReactiveArrayDataSource.swift */; }; + 9F5FE22DA95B66B8DC21CB13BE25EC9B /* WKInterfaceImage+Kingfisher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C3A2ADBACF14D1B6CDCC27BC006E1F3 /* WKInterfaceImage+Kingfisher.swift */; }; + 9FDFA91635B65C743110B6C13C2D9CCF /* Platform.Darwin.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5667B4FAB3C320031E30415B6606AB22 /* Platform.Darwin.swift */; }; + A01A0217BD9D3D87239881509BDDC158 /* InfiniteSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0ABFA4A6E9DB62E603FDAD7A60B1B76 /* InfiniteSequence.swift */; }; + A0208B623442A26CB9157F193CBB4A7F /* Platform.Linux.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD582EB1B7F678CA5403C04B069B4A7F /* Platform.Linux.swift */; }; + A05C8A2971AF9CE1B190ED78184E376C /* Infallible+Zip+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 72CF58AC977381EC12AD727765D8BB16 /* Infallible+Zip+arity.swift */; }; + A20321979D272B922CD60B531BD05F7F /* UIPickerView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2C0168E5F3B616175A3EF5402ADCFA1 /* UIPickerView+Rx.swift */; }; + A210A1A196D9980281ABB93D6F242C5B /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4207BEE6DFA63E5CF69828DD467E9674 /* Foundation.framework */; }; + A214A653E430C9079AA7B1090169262D /* UICollectionView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 537ACD34D8A705090426289B9BBDD416 /* UICollectionView+Rx.swift */; }; + A29100AA1876DDEFF6F54694A51FDB0E /* NetworkReachabilityManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 180196574F4C6A2EA503EEE113D7E1DA /* NetworkReachabilityManager.swift */; }; + A316388A35648CB2987E761771456087 /* KFOptionsSetter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78370139B77BD67E754510344118A3DA /* KFOptionsSetter.swift */; }; + A387D831AC3B3E55A52D00E79F066C4A /* Delay.swift in Sources */ = {isa = PBXBuildFile; fileRef = 16B43BFD3EA4A8BDCE30B6EF79885D65 /* Delay.swift */; }; + A39D3555EC8B45B7D6B9505DDAF0F117 /* Kingfisher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9EF41FA625AD657C7CFC563F429E9E6D /* Kingfisher.swift */; }; + A3E5897951377709F03D44CEF723E0F6 /* SerialDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2710A5C58FB5D38DE88893B0EC1D5812 /* SerialDisposable.swift */; }; + A3EE51E1977EE580A7A37CD23443991A /* DisposeBag.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5A8EB0715EF64AC2D4FA26C2FCEAE5CF /* DisposeBag.swift */; }; + A4C42A9B984F927432643041254E31E6 /* Bag.swift in Sources */ = {isa = PBXBuildFile; fileRef = DA49E186514D65619FE23983EAC796AC /* Bag.swift */; }; + A53BDE589BDD6483F3EEDCE5EA1DCCD3 /* Protected.swift in Sources */ = {isa = PBXBuildFile; fileRef = 710A3AA15C7FA4C094BC7278A2983D29 /* Protected.swift */; }; + A6A00CA2697ED36CD814F244CDE4007C /* Sequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = E140A7754B0749E155F8E8E3C31DEEF2 /* Sequence.swift */; }; + A7CE7288A0D9C21D97A4C1EEECCE0D30 /* Filter.swift in Sources */ = {isa = PBXBuildFile; fileRef = B193967E6D565C43AC67933DDCA85E58 /* Filter.swift */; }; + A88A844D5356E1690E445024CB796E09 /* Result.swift in Sources */ = {isa = PBXBuildFile; fileRef = 49E09E42120F22D8569577653A9ABE42 /* Result.swift */; }; + A8FDF5D7CD22647C2DB166834836130A /* CombineLatest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4DC7E4A0392635B4CA930D97C0E613C9 /* CombineLatest.swift */; }; + A910D36850A2997E988C32FC4577C542 /* AsyncSubject.swift in Sources */ = {isa = PBXBuildFile; fileRef = A2A59D17A057BBA460ABED890B54FD19 /* AsyncSubject.swift */; }; + A93FC5BCB5B02182D27377A3724A60B1 /* RxSearchControllerDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 408187CD2BD0C3E8A0B46D0F0F49ABB7 /* RxSearchControllerDelegateProxy.swift */; }; + AA4E0EE61B4D0147A327B0C9BB8C3241 /* Single.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C78E16FA67F5AF3CF5161CE98BFA398 /* Single.swift */; }; + AAA7A11591D6E4B06124708291C37698 /* RxTabBarDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8C9BCEA0730F069CF5481C6CCB8E03F1 /* RxTabBarDelegateProxy.swift */; }; + AB01C71C5EBB15CBEF0AC294C3B7E608 /* PrimitiveSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 21BFEF37444D53516798550E03FF9BEB /* PrimitiveSequence.swift */; }; + AB88D7A71BA82D3BAF097C992BFB221B /* UISearchController+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 80C307B02634BC91FE6BC96843B4368A /* UISearchController+Rx.swift */; }; + AB96ACF22E736654D15E6352826DDD1E /* Date+Dispatch.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4D3351FC50325E6DAE44B85F58E49EF2 /* Date+Dispatch.swift */; }; + ACA3DBC73A19F3CDF9C4FAB09988D0E6 /* RxScrollViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CFCEFBDF57C364335702AD677A55637 /* RxScrollViewDelegateProxy.swift */; }; + AD1432E0757F9BAB3D64B58E1462A94A /* AsyncLock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9930D5D82D7D9AF9A4599CC223CFDCAC /* AsyncLock.swift */; }; + AD148DD9F49C1B862C16468365704950 /* Sample.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9C5DAE538E29783165FF88D9D443E4F /* Sample.swift */; }; + AD91CB001F59C09CEF2545CFD86857DA /* Infallible+Create.swift in Sources */ = {isa = PBXBuildFile; fileRef = 46DA2F54CCFBD4DEEB954509123BAB46 /* Infallible+Create.swift */; }; + AE5C323E712FDE9E1321BFE06735DA1D /* Disposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50D79AB7119770DA3D4CFC430A785079 /* Disposable.swift */; }; + B00B8088EB50EA3F0F875993C675F421 /* UITextField+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = D36563B91E8807D3554AFA958AD04CCF /* UITextField+Rx.swift */; }; + B0E0FE5FB0A9231C585A22D2DE848F7B /* Observable.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3F21960E5C9703505BE6AAF1A2EC108 /* Observable.swift */; }; + B12B9AF2F76C3EDDA338F7EDA6A602A7 /* ImmediateSchedulerType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A5353ADD126D1B9B0E043853E331B26 /* ImmediateSchedulerType.swift */; }; + B13B6446AD37460B3A0AE7A4C8305B42 /* ObserverType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67082E4E25595240E61CF45204D156A0 /* ObserverType.swift */; }; + B25E07EA645911443A38DA1E68166156 /* Box.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2287F093DBC10BC57C102E18B019E333 /* Box.swift */; }; + B2C15D135CF60101131DEDD0FBABA285 /* ObservableType+PrimitiveSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = C40172426AA49C960570533F04EDAC56 /* ObservableType+PrimitiveSequence.swift */; }; + B3167FEDC691D1DDF267F855CFF33636 /* DelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 031DAA62FB3E657FDDA9EC33EEA30C69 /* DelegateProxy.swift */; }; + B351BF64991454AE8B4971529E28065F /* HistoricalSchedulerTimeConverter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7EEB96B4D038CEE39530658F6B1BD6A4 /* HistoricalSchedulerTimeConverter.swift */; }; + B3658C29BBDE1033F6269A92E612CB30 /* Request.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73D918E505856BB35E3229297A7D48B2 /* Request.swift */; }; + B38A43B84561FC79BB7A39234E905DF4 /* SubscribeOn.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3167E822221C6F0409B0E5984EE01373 /* SubscribeOn.swift */; }; + B3F14F1B196B5858BD951366FA89FA6D /* RxWKNavigationDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = AFCF620854B55B1F2796E51B4ED5ACA5 /* RxWKNavigationDelegateProxy.swift */; }; + B44704D36A871A2089151FB1D32F77F2 /* SwitchIfEmpty.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4012532D3D1DB3E46A111EBBC4C6E6E8 /* SwitchIfEmpty.swift */; }; + B59095D5EF330419B3ADFBAD7EBC2B1F /* NSButton+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8521D10962CD6544E8B053AEDDDD18E /* NSButton+Rx.swift */; }; + B5ACECCDD52AF69EBA2E11666BBAEB42 /* RxCollectionViewDataSourceProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = FAF4305FA80E520D87765179C3BB9107 /* RxCollectionViewDataSourceProxy.swift */; }; + B704B198B9B520D449260877E300D821 /* ServerTrustEvaluation.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1979BC71B8388CEF2E410D1F4693EB8 /* ServerTrustEvaluation.swift */; }; + B712D8ACA3FC7C6EA49F79FAE48B9E20 /* RxSwift-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 844E8E0412CDDAD52312E618E250DCA9 /* RxSwift-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B886307D766E0DA15E07926F566E14E7 /* Timer.swift in Sources */ = {isa = PBXBuildFile; fileRef = A64A6001FFE9EABDCCE022D89F339336 /* Timer.swift */; }; + B8F532D21A61F32CA0F2217C0E010205 /* BooleanDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A50D5ED1C53A6D665FF3D865E47A32E /* BooleanDisposable.swift */; }; + B96788AA963A0715B5B7D38A51C16788 /* BehaviorRelay.swift in Sources */ = {isa = PBXBuildFile; fileRef = C857A07EDAC98C5773AD8FF4CA534A81 /* BehaviorRelay.swift */; }; + B9935CD848A77362E9F6C20C565EAB81 /* Generate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62179499EA0E80E3C049F023201128C4 /* Generate.swift */; }; + B9D1680B501723E4913D2A0F78DF14D6 /* AsMaybe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 855385488D6B001EAA34784CFD4D4072 /* AsMaybe.swift */; }; + BA5658B6C27A81FA4665E507A1ED88DA /* Driver+Subscription.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD8066018BC59F052DCFE63931ECAC04 /* Driver+Subscription.swift */; }; + BA81BF314EC89234239839E7FA2FE3CF /* ObservableConvertibleType+Infallible.swift in Sources */ = {isa = PBXBuildFile; fileRef = 155A1D09FF5B23C3E7C5BB03569CBC7C /* ObservableConvertibleType+Infallible.swift */; }; + BAD3834746DAB3C038417D16101B29A2 /* NSControl+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB157346ED77EC2F45A6E516EA702D03 /* NSControl+Rx.swift */; }; + BB72FC9215BD907A82AE928782813D6C /* NSObject+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = B35D3839DCED2BC6C6ADE371B4C6EB17 /* NSObject+Rx.swift */; }; + BBD437FE6BFF63452E6B7E08DFAB4DD9 /* UIBarButtonItem+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB74E15B8A3958FCCF43DC6C12D685D0 /* UIBarButtonItem+Rx.swift */; }; + BC0ECA8F22DEDE8886E189CD0EAA1197 /* URLRequest+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5B25A55985A666D3D86D9FB76E22487 /* URLRequest+Alamofire.swift */; }; + BC7906E240CE850CBA84456E6B9A6C27 /* SynchronizedUnsubscribeType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1C3220C7BA3A9F66031E87DFA118ACFD /* SynchronizedUnsubscribeType.swift */; }; + BD382E78580D295D10100678D4F66A76 /* String+MD5.swift in Sources */ = {isa = PBXBuildFile; fileRef = D096F57C02D3FCC4FA4E9309DEECACBA /* String+MD5.swift */; }; + BE33CFCBE43CBCCCBB61DF726646B82E /* Bag+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECD93E65F5FFCA7ECAAC986C1056A3B3 /* Bag+Rx.swift */; }; + BEA6F7BAE605561649B240D9E42ADDF1 /* SchedulerServices+Emulation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 14D4AAC0B9F44CACAB560017F756D101 /* SchedulerServices+Emulation.swift */; }; + C1016BE7E05B75173FAECBF15548A54B /* Empty.swift in Sources */ = {isa = PBXBuildFile; fileRef = EEFDF6CB124667078B438DF8F7EB9D19 /* Empty.swift */; }; + C12DCA02D36C5C6167F566AFC96A6057 /* _RXObjCRuntime.m in Sources */ = {isa = PBXBuildFile; fileRef = 3F754B62062C1BB702C9AE5AB255AE25 /* _RXObjCRuntime.m */; }; + C15E4A9CBD4BA6ED48A16AFB08627DCF /* DisposeBase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6DFAEE7B3DF034686497C0CFA51CBB89 /* DisposeBase.swift */; }; + C1B3752BD38A2C65A48EAF7F75A91D5A /* Materialize.swift in Sources */ = {isa = PBXBuildFile; fileRef = AAA0047936D84B9E020F164BE4137F33 /* Materialize.swift */; }; + C25E8125FF4A49FD53F240838D803E83 /* TailRecursiveSink.swift in Sources */ = {isa = PBXBuildFile; fileRef = DED5650E3A6F5A3467C00F53CC1456E1 /* TailRecursiveSink.swift */; }; + C2CE9EA4235FC6EB6040FD3D450119EE /* ConnectableObservableType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43ADC81E7B186C1B4BEFE99903A8D43C /* ConnectableObservableType.swift */; }; + C2D4FEEAF01038DB5C31CA401C105476 /* _RXDelegateProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = 43471A02ECA3B06572E8614A11DCA555 /* _RXDelegateProxy.m */; }; + C34734CFC2E1544599AD22CB0728AEBC /* Skip.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F03FE47257AE08BDECD446738800C67 /* Skip.swift */; }; + C378AC3DF57A41F6F16D01BBD7A1BB02 /* UIActivityIndicatorView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0B48A4A0A9B6AC543C675AC28F8ACDF5 /* UIActivityIndicatorView+Rx.swift */; }; + C544C5EDC1DFB603F36D1683AD09F538 /* Scan.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4D2107F7E7CA901BEC39C8808706FCD /* Scan.swift */; }; + C6A1AF1239CD2F0D4745BAA097E1E63F /* RxCollectionViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63F8D4B22BC804BC0F51DA9BF3E67217 /* RxCollectionViewDelegateProxy.swift */; }; + C77272EBE2F3A08C332590F8359FCF6E /* Concat.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6221D8E557B616FA8C9D3C67082F021 /* Concat.swift */; }; + C784A7AAD94DD830A9EB5ADDEE6DE1BB /* KVORepresentable.swift in Sources */ = {isa = PBXBuildFile; fileRef = DBD5DC3E97CCDE8C7840AA9F24421CE0 /* KVORepresentable.swift */; }; + C7F604754CC6FC0C3B21DC2932AA0D6F /* CurrentThreadScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = BEF1AD4B22CBE0B02873602A6ABD9601 /* CurrentThreadScheduler.swift */; }; + CB3ACAC0625702DEC5BBB5F9AC0CC737 /* RxTableViewReactiveArrayDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = F9C21A22F46F6079B717C1C180B79252 /* RxTableViewReactiveArrayDataSource.swift */; }; + CB3E0E31D25A27C84850E93502504057 /* AnonymousDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7AC22D38C074164E3D5D9CADA9547C3C /* AnonymousDisposable.swift */; }; + CC5A7064C8A9EBAC4DE374A97939A39E /* Cancelable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2DEE8774EEF8959AAB4722B0794E476A /* Cancelable.swift */; }; + CD7AC3E1C98EA54F7C05C36C52805220 /* CacheSerializer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7615C57CFFD715E1AC4A3AFBD0F96D1B /* CacheSerializer.swift */; }; + CDBE77A234465B0C0DCDA3020A02A5B1 /* Errors.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8F3AA6F62AC8C1189C0527EAA9BCACD /* Errors.swift */; }; + CE08483A41A5535019BE5E198792480B /* KVORepresentable+Swift.swift in Sources */ = {isa = PBXBuildFile; fileRef = 90BD440FA187566E2CC29B6E37F5541A /* KVORepresentable+Swift.swift */; }; + CEBFFEED65D877702B2F36102528CF6D /* EventMonitor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B5315396EDBBDED60D29690F6FFE660 /* EventMonitor.swift */; }; + CF091078317867E654E9B9BF2F716894 /* ObserveOn.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E2901BCCE211D127E9D644FCDAAEF7A /* ObserveOn.swift */; }; + CF32140300489AD5D6D5A74E4605FDAF /* DispatchQueue+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8BA463B68F79F5752D5A5F44F3669765 /* DispatchQueue+Extensions.swift */; }; + CF671D8E826D77E13FDA89F3A5A99F6D /* PrimitiveSequence+Zip+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1D15BFBCC93AD6CA42DAB63BD96F143 /* PrimitiveSequence+Zip+arity.swift */; }; + D07D2CF83752D8ACD79B6CFA70D0835E /* PublishRelay.swift in Sources */ = {isa = PBXBuildFile; fileRef = C5AC26A75A4DCF2DF62120375C46227A /* PublishRelay.swift */; }; + D0EA90FBF83350C49E6EF6C8A98D6F00 /* AFError.swift in Sources */ = {isa = PBXBuildFile; fileRef = F2E8893CC2CD4C42DF14222F4EA1B381 /* AFError.swift */; }; + D2004A03ADD62CD0C4649710F32A91F5 /* NSTextStorage+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ECB5F2C1A85E7F241B4C1FD0B488EC2 /* NSTextStorage+Rx.swift */; }; + D2C293D847E95B01671EB3E6A32F11C7 /* WKWebView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B3DA540E41064641CB12115BD238B3E /* WKWebView+Rx.swift */; }; + D3AB490FA372E1922315D4F2E5709254 /* InfiniteSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 70F8A4F6EBCFD76ABC02DECC4A95FE5B /* InfiniteSequence.swift */; }; + D3BC528010D39EB2D79585A671FD80B6 /* UIScrollView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1498205770A72441EFB53733ADC44BE /* UIScrollView+Rx.swift */; }; + D3DAB89B0A32FD59ED8089AA22EC8874 /* ObservableType+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = D646E52366D7700C747071AA3048F803 /* ObservableType+Extensions.swift */; }; + D47B1058991EEC007A109B8E354EDB80 /* ObservableConvertibleType+Signal.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA6BD8892100449EB57FAE6110BA16A2 /* ObservableConvertibleType+Signal.swift */; }; + D4933D17DC286C3DABCFD930BED56DD9 /* UIGestureRecognizer+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = F37A2CC3CFF80EE4F9877CC77782A805 /* UIGestureRecognizer+Rx.swift */; }; + D591428B6E75FE6ABB27D689DC9EFAA3 /* Catch.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04A16185825EBC87070F0294E1082A6C /* Catch.swift */; }; + D600DE9A22FC628711C94AA36703ADAC /* AnyObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6461452C06B8605ECB001BC346C91C5C /* AnyObserver.swift */; }; + D603AA58EF97D461A57B2B1BCB883868 /* AVAssetImageDataProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D1F4E3D2613458B541B68A3715A1F81 /* AVAssetImageDataProvider.swift */; }; + D69572A830D3E473A09EAE0C36ABEE1C /* Observable+Concurrency.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4E5B47E38D693DF8FEE28E60E2A191B /* Observable+Concurrency.swift */; }; + D6B40039AC4AE79360152A98EA18893D /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4207BEE6DFA63E5CF69828DD467E9674 /* Foundation.framework */; }; + D6B4751CED01D53E4A1B6A571AAA2F83 /* HTTPMethod.swift in Sources */ = {isa = PBXBuildFile; fileRef = 107EAEE19A5E4AAA459BBF7DCFF35C28 /* HTTPMethod.swift */; }; + D6B8F965DB9D22E4FBF5C9B6C3F7D37C /* InvocableScheduledItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = CFEF93C1E549228A855D54571F4F3DE8 /* InvocableScheduledItem.swift */; }; + D6FDE9DFAC4AA548A9A4E2D6BBCE54FC /* ControlProperty+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 90772E31F7E3A4B81492CA5FD46DA28D /* ControlProperty+Driver.swift */; }; + DA34899BEF0668D76CBCE8C4CE47B97B /* RequestTaskMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99766486F734DC131C0AB85BFB5C8AA4 /* RequestTaskMap.swift */; }; + DAFC6CE6321395CF4523DD66DADBB9BA /* ImageDrawing.swift in Sources */ = {isa = PBXBuildFile; fileRef = C70A8D9B9E4A6A019C843F4A46DC7FFC /* ImageDrawing.swift */; }; + DB4502944C2A909EE1E8C0A00A77F8D3 /* Event.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9AFA41360863749DB25290EF39470429 /* Event.swift */; }; + DB8F792967B909E39F111BFD6FA03DE4 /* Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13EC9E362B3AE9B0D5203E10EE27F15B /* Rx.swift */; }; + DBB8088E14A2ADEDB1CD840BAC835267 /* CPListItem+Kingfisher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 10929DC4D0C1C63F65E5ED1A691279B9 /* CPListItem+Kingfisher.swift */; }; + DBDC1B6728382FC27E3EE0EC7994D394 /* ElementAt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A77498D8601CD2A18C2B266D134A0B3 /* ElementAt.swift */; }; + DD72DC30CF19FFC81AB19CD0B074000D /* ImageDownloader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 20939B422F841314A916EFEBC6AC6245 /* ImageDownloader.swift */; }; + DD902FE8D6824681C929D028655AE121 /* RequestInterceptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDEB83C8FAEFE3CC63F9F814DA3D8341 /* RequestInterceptor.swift */; }; + DE532EF7D50A9CF68587DAD4C1A02BD7 /* FormatIndicatedCacheSerializer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6F1D27503CE135C3D54F987051C45F85 /* FormatIndicatedCacheSerializer.swift */; }; + DE71610B229DF6E2B65A8574BAF21414 /* SectionedViewDataSourceType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 034F9196B5919FA3EA7A8CE4798385E6 /* SectionedViewDataSourceType.swift */; }; + DF4563832C19B8582C810BF502A5CA29 /* KF.swift in Sources */ = {isa = PBXBuildFile; fileRef = 567BE6ACB034F4EF97626F4D15100B32 /* KF.swift */; }; + DFCDE4638265B4CCD494ECA5D560DBEE /* Indicator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2D98381E0E9250B1206C7D158115C501 /* Indicator.swift */; }; + E4616B108FF3BD9BB1AD4F596421E8F7 /* Debug.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0788EBCE7E78546610D593632B1358FE /* Debug.swift */; }; + E54654D504A42C24F284A68F87F7671D /* OperationQueue+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6FEEE56BABCDEFBA1F584203AAA5128E /* OperationQueue+Alamofire.swift */; }; + E5A3D5BDA6222D26A7485A57DEB1D473 /* ScheduledItemType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B537B4474A6B0D3C117F31EFE7CE9BB /* ScheduledItemType.swift */; }; + E5B664771063F1A9A372519A8466860B /* ImageView+Kingfisher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02722377CEA5557BDA9A2CFD60C9FC90 /* ImageView+Kingfisher.swift */; }; + E5CA4617D8EDE855855B54CBD53C148F /* Observable+Bind.swift in Sources */ = {isa = PBXBuildFile; fileRef = CF150E3036E71411BE5D70F7C9A20DD9 /* Observable+Bind.swift */; }; + E634E1070DDEA416C5BE880CA1BE7D0C /* Optional.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2CB7090BE8D4A820293523F3E9316A87 /* Optional.swift */; }; + E6D6C7D5E458A05CC736C340F853E9F6 /* ImageFormat.swift in Sources */ = {isa = PBXBuildFile; fileRef = AAB26A201E739AE3C272987EA5C36100 /* ImageFormat.swift */; }; + E70914BEF8520E75B89A4B66C473CD4D /* HistoricalScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 459327ADC2AB1F0121DAC848FA335CB9 /* HistoricalScheduler.swift */; }; E719A3B025B9DACE693130120BD9B927 /* Accelerate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 52554E1C9731D5352FDE9E63F8C5466B /* Accelerate.framework */; }; - E7DE440E53C44ABF8420DE8D1E5019C3 /* DisposeBag.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34F6EE3A726ADBB32EE42813AFB948F1 /* DisposeBag.swift */; }; - E87D14DF37BC2F812B55E9220C6221D9 /* Maybe.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD3E366E6DE937B4024ADA5EE48138EB /* Maybe.swift */; }; - E98DC8FB2578E76A812E0C94BA10E1B1 /* ConstraintDirectionalInsets.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7FA62421088663312FD983291693B58E /* ConstraintDirectionalInsets.swift */; }; - E9B4C89E7EB3B27D46AFCA452C3D426F /* MultipartUpload.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8B0DDFD1A057CBEFE8A57D9CD2E287B /* MultipartUpload.swift */; }; - EA5FE4B4B3BF04976C37430E4F3721EF /* RxPickerViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 66E22DCD934936B599621C78FEC8ECA2 /* RxPickerViewDelegateProxy.swift */; }; - EBB32304E8DD4BA115454E0050D47DED /* Runtime.swift in Sources */ = {isa = PBXBuildFile; fileRef = B09298A516E7FFD7FD5B611FA05669FE /* Runtime.swift */; }; - EC76568EA2A6E1824F8F89A3ACB1ED90 /* Pods-There-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 048B0B5310C0558D600C2104150F531C /* Pods-There-iOS-dummy.m */; }; - ECAEA45CE324E11A00BFA3C3000D06B0 /* DispatchQueue+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 22DF94C952CD13A7218709BF7FABF99D /* DispatchQueue+Extensions.swift */; }; - ED0C8BA7560D7324587B353E0960479F /* ImageCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7AA3F9A7A2046368B1234741416AF60B /* ImageCache.swift */; }; - EEC150B66BCCD6C80FDA7E4D1975166B /* DispatchQueue+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF7C6EBF0BA06F19F06C3F78EB8C1DF0 /* DispatchQueue+Alamofire.swift */; }; - EF21586EC3DFF6097A58EEC87376A0C1 /* ConstraintLayoutGuideDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 611E5A10FE4D60AF65A7E3B05C4E5C03 /* ConstraintLayoutGuideDSL.swift */; }; - EF46D375A208DEAC49EA0635ED4FEA49 /* DistinctUntilChanged.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5A6D991DB3D58444F055CD0B712B5691 /* DistinctUntilChanged.swift */; }; - EF6DD06709E5EFD67031FF9B5901A827 /* RxTableViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30F1F6AAD561B939842A0DDFB524A1F8 /* RxTableViewDelegateProxy.swift */; }; - EF7B153AC815027AC89BD97DA716A51E /* Bag.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3408E3237D110A2D17A4F9DAD51D01FE /* Bag.swift */; }; - EF9C4588CDA85AED8BBCF77451B2A35B /* ImageProcessor.swift in Sources */ = {isa = PBXBuildFile; fileRef = BE1A28E5AD7EF6372521BE1A4126DE79 /* ImageProcessor.swift */; }; - F17A4CA4664CABB331D39FE902E06843 /* Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6D4F3D5917C20DD8E4D57B04803FB62 /* Alamofire.swift */; }; - F17B1F8F2B6580343025237455A29D61 /* TVMonogramView+Kingfisher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2BB13DDC7642063969BC00BD44E961A4 /* TVMonogramView+Kingfisher.swift */; }; - F19D75D56566B7C52F5E6715037B7B3D /* ToArray.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0D7571F27360DE22ABE7C89C327901C3 /* ToArray.swift */; }; - F24021BDE9B42D604E3341CAD8E34759 /* GIFAnimatedImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = A6AC7747348A91C3139DDCE09EB120AB /* GIFAnimatedImage.swift */; }; - F2DDF679DF721DDA14A53744DD540092 /* NSSlider+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDE6EED322F77EB0A4D538B6446EDC56 /* NSSlider+Rx.swift */; }; - F330A61B0363F4C9C28373797DE5815B /* SkipUntil.swift in Sources */ = {isa = PBXBuildFile; fileRef = A42268A3F11ED3D8B1391D86D7DE4D75 /* SkipUntil.swift */; }; - F383848D199E060DAD2402C012004240 /* RecursiveScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = C60DB64107153016B903308B69078B33 /* RecursiveScheduler.swift */; }; - F3B4A826460EF6A9B19849D1E7AF6A52 /* ControlEvent+Signal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60D594328B73008C69B795A38C238228 /* ControlEvent+Signal.swift */; }; - F5414F8A5B40521D0E4AEEB28378CB49 /* ImageContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 24242D22218AA37F8CC76B3EE6C62007 /* ImageContext.swift */; }; - F54DE563418B1783D6EC491A0C3A05DB /* ImageModifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33ED7D037E31D37E5DDA6760309E40E1 /* ImageModifier.swift */; }; - F5AF27692F3A5C9087F015B5C40A35E7 /* RxTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = DBE85F9EC0B9324A6D99F3BBE5A5A1D9 /* RxTarget.swift */; }; - F5E3EF50AF54EAC8E413AC14CAA8DBEA /* Switch.swift in Sources */ = {isa = PBXBuildFile; fileRef = 436E6B8122FFBFEC2355E92A4369076F /* Switch.swift */; }; - F60E2B85B28D1E27FD52F9B0D62A50C8 /* _RXKVOObserver.m in Sources */ = {isa = PBXBuildFile; fileRef = 40AFECF8EE3CC898ED0743129D06D087 /* _RXKVOObserver.m */; }; - F7562638014F933D46D339CD76262DF4 /* Scan.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31F9A5DA6EF29ED59CBE9D0592B86EEA /* Scan.swift */; }; - F7774F70F3F7CD7E11F01BD8B62FFF15 /* URLSession+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = AC750FE624FE723D48BF5FC95ED42684 /* URLSession+Rx.swift */; }; - F7C0960CEEB8F0C18F4503B405EAC08F /* ConstraintMultiplierTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE20FD85A0868D0EEDC4B827FC5FBF16 /* ConstraintMultiplierTarget.swift */; }; - F8EE9D3D98705976E520F44BBA9E2F46 /* Error.swift in Sources */ = {isa = PBXBuildFile; fileRef = 239CF4FCF2CA0746D76AAF60252BA431 /* Error.swift */; }; - F9537B023E24AC4A724E301F7E372491 /* KFImageProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = F152EC9D502669EA0EBDA0A7C659AF3E /* KFImageProtocol.swift */; }; - F953AA9104BFE0C2DAD639EA60104A75 /* ConstraintView+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = EF6466B2CDFFDD0EE39DEA95F0A41305 /* ConstraintView+Extensions.swift */; }; - F9821B669566BA01F845426DC6834E76 /* Observable+Bind.swift in Sources */ = {isa = PBXBuildFile; fileRef = 679B1D18592F3482375D81C361FDA166 /* Observable+Bind.swift */; }; - FAB03959C2357E325B19E08BC4775DAB /* ConstraintMaker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F113DB7BBDE9D4B2C046D73D2734848 /* ConstraintMaker.swift */; }; - FAF7C9C4F9B6AE2CE9F5866B210D9275 /* SharedSequence+Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5AB89D57D0DD2B7478CC2A47BD314CC2 /* SharedSequence+Operators.swift */; }; - FB033DEE229D155CD1297B48F49F8E70 /* CompositeDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF3D2C433853B62E78135ADAE7B973C4 /* CompositeDisposable.swift */; }; - FB86B00FC72A1AAC4E247B873DFB7528 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4207BEE6DFA63E5CF69828DD467E9674 /* Foundation.framework */; }; - FCD9660A73D7E00EA19E2F2295876E04 /* NSTextView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC959D963C45093881E59A7D62D07FC1 /* NSTextView+Rx.swift */; }; - FE9261A1344AF922C1EFCB457B938425 /* BehaviorRelay+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A04EA5FF19C6B7FE5D24A96A8A579AF /* BehaviorRelay+Driver.swift */; }; - FF09824309346665E2F1F7F5A45FB10F /* CallbackQueue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0BDF3F045AFDBD442021EDD5F94F0228 /* CallbackQueue.swift */; }; + E71FF6137D84F345F9FD9D6240D3DE23 /* ShareReplayScope.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8A18DD4ACC119C70D18792585C5F434 /* ShareReplayScope.swift */; }; + E99375380D7A3A56380AAEAB9F3890F6 /* MainScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 85538E67B970F891C2B43A933ADF9F2F /* MainScheduler.swift */; }; + E9B4C89E7EB3B27D46AFCA452C3D426F /* MultipartUpload.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A1876889211DA3EFFF8D66F13B8606F /* MultipartUpload.swift */; }; + EA5FE4B4B3BF04976C37430E4F3721EF /* RxPickerViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8DBF0411FF8D792A6933F889E443410 /* RxPickerViewDelegateProxy.swift */; }; + EBB32304E8DD4BA115454E0050D47DED /* Runtime.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5CB0926D59A88DBB7ED24512C52F669 /* Runtime.swift */; }; + ECD2C94099456F808C35A7AD07BA775A /* TakeWithPredicate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A0012C71C40284C3A59CBE7ECD0DAFF /* TakeWithPredicate.swift */; }; + ED0C8BA7560D7324587B353E0960479F /* ImageCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5CF25316F497FB2B080F1B937682ADA3 /* ImageCache.swift */; }; + EEC150B66BCCD6C80FDA7E4D1975166B /* DispatchQueue+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6DE88099051C05F2B2CC4E30CCA31C04 /* DispatchQueue+Alamofire.swift */; }; + EF6DD06709E5EFD67031FF9B5901A827 /* RxTableViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0403085D66AB02A22CD6E086CA65C550 /* RxTableViewDelegateProxy.swift */; }; + EF9C4588CDA85AED8BBCF77451B2A35B /* ImageProcessor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 26516EB86A478F9A0948A2385BA1801E /* ImageProcessor.swift */; }; + F17A4CA4664CABB331D39FE902E06843 /* Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = 40F8F8FC8E896CF54990C6083476F50F /* Alamofire.swift */; }; + F17B1F8F2B6580343025237455A29D61 /* TVMonogramView+Kingfisher.swift in Sources */ = {isa = PBXBuildFile; fileRef = B867489CAA9A158B6D49D6607E5D0443 /* TVMonogramView+Kingfisher.swift */; }; + F1C71B8455190D76DD49371745DB5A90 /* Do.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4BC0821E5EC77C0618E68B7F1EAA4944 /* Do.swift */; }; + F24021BDE9B42D604E3341CAD8E34759 /* GIFAnimatedImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59813941BA80AA3F02042957C14FFBBC /* GIFAnimatedImage.swift */; }; + F2DDF679DF721DDA14A53744DD540092 /* NSSlider+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4ACD3E232CF8F56E3F4BC6B1F9C5654 /* NSSlider+Rx.swift */; }; + F35FF399C134E3A8223024BF7AEE3CC0 /* SubjectType.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDADCE362410B693329FBFA129EF5FC2 /* SubjectType.swift */; }; + F3B4A826460EF6A9B19849D1E7AF6A52 /* ControlEvent+Signal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3806B07B9319EA3E0FFC897619C90C1C /* ControlEvent+Signal.swift */; }; + F43A9D21F1FB765E189E40AEA9A2C5DE /* SingleAssignmentDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9166A55504E2F4CF90E0A141C684609 /* SingleAssignmentDisposable.swift */; }; + F4633CDE7B78D6A8969AA23799F46E1B /* Pods-There-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 048B0B5310C0558D600C2104150F531C /* Pods-There-iOS-dummy.m */; }; + F5414F8A5B40521D0E4AEEB28378CB49 /* ImageContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C9330994AAE90372FF5258B43092430 /* ImageContext.swift */; }; + F54DE563418B1783D6EC491A0C3A05DB /* ImageModifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = E285C37690690B4F522FD714017C687B /* ImageModifier.swift */; }; + F5AF27692F3A5C9087F015B5C40A35E7 /* RxTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = F90FE1B2D54A1F9BDF3EB0B17B7390A1 /* RxTarget.swift */; }; + F6074F6820552E30257B1B19C55259DA /* Queue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19C817FBB0990767A0DB5E231108D2B9 /* Queue.swift */; }; + F60E2B85B28D1E27FD52F9B0D62A50C8 /* _RXKVOObserver.m in Sources */ = {isa = PBXBuildFile; fileRef = ADDAE9559CF238A8C186179117F5FEAC /* _RXKVOObserver.m */; }; + F617F515DCD431FC68E84276F01FDF42 /* PriorityQueue.swift in Sources */ = {isa = PBXBuildFile; fileRef = C985A3EBABEEB27E181011B6B8A5B365 /* PriorityQueue.swift */; }; + F711C48D9D8A5033928C8CD45E13D99C /* Dematerialize.swift in Sources */ = {isa = PBXBuildFile; fileRef = F03A1B55B1FBB5FF5084100CA307B5D0 /* Dematerialize.swift */; }; + F7774F70F3F7CD7E11F01BD8B62FFF15 /* URLSession+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C26BB9B8E14C64D2F368202A14ACB93C /* URLSession+Rx.swift */; }; + F9537B023E24AC4A724E301F7E372491 /* KFImageProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8FE2BB2288AD97BD5446B8F62173518 /* KFImageProtocol.swift */; }; + F9821B669566BA01F845426DC6834E76 /* Observable+Bind.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2214EAFEB7F6BF3DDE30DAAE294AC74 /* Observable+Bind.swift */; }; + FABF7814CCF3748CFDBF5C88E4B516B2 /* WithLatestFrom.swift in Sources */ = {isa = PBXBuildFile; fileRef = D991BC4F90455DA227CB5911DBE71D81 /* WithLatestFrom.swift */; }; + FAF7C9C4F9B6AE2CE9F5866B210D9275 /* SharedSequence+Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = AF649DDB1726547073CACDE64430EB6E /* SharedSequence+Operators.swift */; }; + FB61640CBD1ACC15D38BA694D4A299C8 /* RxRelay-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = C658A0800D28F71B188746BCFF8FE9BD /* RxRelay-dummy.m */; }; + FBE9C7891D9F716BC0A29359FF03F464 /* SerialDispatchQueueScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75A4B469744B03B34A6A5E4C2FD29706 /* SerialDispatchQueueScheduler.swift */; }; + FC9BCCEB35A6591606A658EACFED6063 /* Deferred.swift in Sources */ = {isa = PBXBuildFile; fileRef = A44DD914888EB1E478F7706FC636220E /* Deferred.swift */; }; + FCA98592489B60A41CFE27D864F16527 /* Just.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E6A932A49B59F5E03A011DFCECE09E3 /* Just.swift */; }; + FCD9660A73D7E00EA19E2F2295876E04 /* NSTextView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2B8D1F9DE401B67F43275A07BFC01877 /* NSTextView+Rx.swift */; }; + FCF068AB5220A5B232B2C888B3BFFFB3 /* Multicast.swift in Sources */ = {isa = PBXBuildFile; fileRef = 810D5AD632625CD4138ABBAE21581C4E /* Multicast.swift */; }; + FE9261A1344AF922C1EFCB457B938425 /* BehaviorRelay+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = A78FD69F1003B5D6C296A1952855EFF8 /* BehaviorRelay+Driver.swift */; }; + FF09824309346665E2F1F7F5A45FB10F /* CallbackQueue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D8B61750C8BAAF46DFBC184F5344B80 /* CallbackQueue.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 0C1051A1B0A85DFF966BEC69F02792D9 /* PBXContainerItemProxy */ = { + 1647E5D9F2E58D094ED8C04ACB5FC5C1 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 4622BFEF3DC16E8BD15EEFC30D4D0084; - remoteInfo = RxRelay; - }; - 3058E36BC686294201EB21E76009F63B /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = E8022D22FAA6690B5E1C379C1BCE1491; - remoteInfo = Kingfisher; - }; - 412A4DEE64E37763698ED196EB5F8A84 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = C17AEFC79E770A2906EFAAB1A3757406; - remoteInfo = Then; + remoteGlobalIDString = 7AD0C6DCDC9CEC8A3C7C10C7FEE07BE6; + remoteInfo = RxCocoa; }; - 6FFAA3A727AAB56FB2425E155943E5D7 /* PBXContainerItemProxy */ = { + 2E7F95BEEE893C2818A53162FE812710 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; remoteGlobalIDString = EA9EA43B3B503823EE36C60D9C8A865F; remoteInfo = RxSwift; }; - 720A4CCD2AC2510BB9A2BCF379799063 /* PBXContainerItemProxy */ = { + 4121F64B1BEF88AB11C5C6748FB42627 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; remoteGlobalIDString = 4622BFEF3DC16E8BD15EEFC30D4D0084; remoteInfo = RxRelay; }; - 76073D0C33D73E75136923FAB58F313A /* PBXContainerItemProxy */ = { + 451E79A988B42304E1988095D00B8089 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = EAAA1AD3A8A1B59AB91319EE40752C6D; - remoteInfo = Alamofire; + remoteGlobalIDString = 4622BFEF3DC16E8BD15EEFC30D4D0084; + remoteInfo = RxRelay; }; - 8D2D330C4BDB9DB73C02A2C42A9777DE /* PBXContainerItemProxy */ = { + 597E45063D260CD2E93EE1922ADB82C6 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 7AD0C6DCDC9CEC8A3C7C10C7FEE07BE6; - remoteInfo = RxCocoa; + remoteGlobalIDString = E8022D22FAA6690B5E1C379C1BCE1491; + remoteInfo = Kingfisher; }; - B66472366EC9E937FB7212F8EE39F22C /* PBXContainerItemProxy */ = { + 681673E5D0F09D66F42252C7E74BE628 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = EA9EA43B3B503823EE36C60D9C8A865F; - remoteInfo = RxSwift; + remoteGlobalIDString = EAAA1AD3A8A1B59AB91319EE40752C6D; + remoteInfo = Alamofire; }; - C2E49860B3F523E713E11EFE3E405B41 /* PBXContainerItemProxy */ = { + CB0D193F131582E92266093661BFC090 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; remoteGlobalIDString = EA9EA43B3B503823EE36C60D9C8A865F; remoteInfo = RxSwift; }; - FAB84C85536038772CF07E904F4F8EB5 /* PBXContainerItemProxy */ = { + D88B143DF5C704CE879DD78B3BED332C /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 19622742EBA51E823D6DAE3F8CDBFAD4; - remoteInfo = SnapKit; + remoteGlobalIDString = EA9EA43B3B503823EE36C60D9C8A865F; + remoteInfo = RxSwift; }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 00C144CD3C498BB6542EF833E206A780 /* SizeExtensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SizeExtensions.swift; path = Sources/Utility/SizeExtensions.swift; sourceTree = ""; }; - 00DF743DF0FAA6FE458CABA63A0AAB34 /* ObserveOn.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObserveOn.swift; path = RxSwift/Observables/ObserveOn.swift; sourceTree = ""; }; - 03A61FEED2484E27DD338F416EFBD5F2 /* KVORepresentable+Swift.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "KVORepresentable+Swift.swift"; path = "RxCocoa/Foundation/KVORepresentable+Swift.swift"; sourceTree = ""; }; - 03E0983FB0C171121AB92A56D0786CE3 /* InvocableScheduledItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = InvocableScheduledItem.swift; path = RxSwift/Schedulers/Internal/InvocableScheduledItem.swift; sourceTree = ""; }; + 008D27BC46BC606647A1E97E86F08EC9 /* Alamofire-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Alamofire-prefix.pch"; sourceTree = ""; }; + 0094AC0CA0C70D6D7BD2885EF6848FC8 /* RetryStrategy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RetryStrategy.swift; path = Sources/Networking/RetryStrategy.swift; sourceTree = ""; }; + 01E10E28611A298A6EAE86EF489E9093 /* Buffer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Buffer.swift; path = RxSwift/Observables/Buffer.swift; sourceTree = ""; }; + 02722377CEA5557BDA9A2CFD60C9FC90 /* ImageView+Kingfisher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ImageView+Kingfisher.swift"; path = "Sources/Extensions/ImageView+Kingfisher.swift"; sourceTree = ""; }; + 02DE371B905AFDC8678290C9887024FA /* MemoryStorage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MemoryStorage.swift; path = Sources/Cache/MemoryStorage.swift; sourceTree = ""; }; + 031DAA62FB3E657FDDA9EC33EEA30C69 /* DelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DelegateProxy.swift; path = RxCocoa/Common/DelegateProxy.swift; sourceTree = ""; }; + 034F9196B5919FA3EA7A8CE4798385E6 /* SectionedViewDataSourceType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SectionedViewDataSourceType.swift; path = RxCocoa/Common/SectionedViewDataSourceType.swift; sourceTree = ""; }; + 035AB900CB9D4FCE3B754833527218D9 /* RedirectHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RedirectHandler.swift; path = Source/RedirectHandler.swift; sourceTree = ""; }; + 0403085D66AB02A22CD6E086CA65C550 /* RxTableViewDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTableViewDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxTableViewDelegateProxy.swift; sourceTree = ""; }; 048B0B5310C0558D600C2104150F531C /* Pods-There-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-There-iOS-dummy.m"; sourceTree = ""; }; - 04E52C7203AC48229EDE61A498D39CA4 /* RxRelay.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = RxRelay.debug.xcconfig; sourceTree = ""; }; - 0507656C37789248B52BDAEBE950C81E /* RxSwift-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "RxSwift-dummy.m"; sourceTree = ""; }; - 0541EE12F83E7E06C39B7A475EAD9604 /* HTTPHeaders.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HTTPHeaders.swift; path = Source/HTTPHeaders.swift; sourceTree = ""; }; - 05B2BEDE05FF4EA28EBD0304373085E8 /* SkipWhile.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SkipWhile.swift; path = RxSwift/Observables/SkipWhile.swift; sourceTree = ""; }; - 068A6E9C30038829A199C8672AA0C979 /* Infallible.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Infallible.swift; path = RxSwift/Traits/Infallible/Infallible.swift; sourceTree = ""; }; - 06C46BF167AB2478C8C4452C1CC1D492 /* ImageProgressive.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImageProgressive.swift; path = Sources/Image/ImageProgressive.swift; sourceTree = ""; }; - 07D74ECF960FC666CD89F75056A4B277 /* RxSwift.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = RxSwift.debug.xcconfig; sourceTree = ""; }; - 08342C7E81C77CE0A6ED701C9289A4B9 /* RxCocoa.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = RxCocoa.release.xcconfig; sourceTree = ""; }; - 084B073DBB239AF4615C2D2E1425D4BF /* RxRelay-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "RxRelay-dummy.m"; sourceTree = ""; }; - 08D828BB5ED98FFCED04733F53C0164D /* PublishRelay+Signal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "PublishRelay+Signal.swift"; path = "RxCocoa/Traits/Signal/PublishRelay+Signal.swift"; sourceTree = ""; }; - 08ECD9EBF8F22245744D67D95C697C1B /* ExtensionHelpers.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExtensionHelpers.swift; path = Sources/Utility/ExtensionHelpers.swift; sourceTree = ""; }; - 09E4839330BA404AF8CDA486B449B05B /* AsSingle.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AsSingle.swift; path = RxSwift/Observables/AsSingle.swift; sourceTree = ""; }; - 09F941505D9321A4FA63E02F11B9110B /* SchedulerType+SharedSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "SchedulerType+SharedSequence.swift"; path = "RxCocoa/Traits/SharedSequence/SchedulerType+SharedSequence.swift"; sourceTree = ""; }; - 0A5EF8FFE726374C905F8B707734CE0C /* StartWith.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StartWith.swift; path = RxSwift/Observables/StartWith.swift; sourceTree = ""; }; - 0A7022928BBC808C5A71728FE1CD9E4A /* NSObject+Rx+KVORepresentable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSObject+Rx+KVORepresentable.swift"; path = "RxCocoa/Foundation/NSObject+Rx+KVORepresentable.swift"; sourceTree = ""; }; - 0AFB9151D62833AAB8F324478E76DD8A /* Sink.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Sink.swift; path = RxSwift/Observables/Sink.swift; sourceTree = ""; }; - 0B17F1A3A24F643762E6B55EC8A52C36 /* Infallible+Bind.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Infallible+Bind.swift"; path = "RxCocoa/Common/Infallible+Bind.swift"; sourceTree = ""; }; - 0BDF3F045AFDBD442021EDD5F94F0228 /* CallbackQueue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CallbackQueue.swift; path = Sources/Utility/CallbackQueue.swift; sourceTree = ""; }; - 0C1F0F4DBA417BC6160C90E858AD8771 /* KFAnimatedImage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = KFAnimatedImage.swift; path = Sources/SwiftUI/KFAnimatedImage.swift; sourceTree = ""; }; - 0C96B4767D47F0CD1AD231D074977B8C /* UIStepper+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIStepper+Rx.swift"; path = "RxCocoa/iOS/UIStepper+Rx.swift"; sourceTree = ""; }; - 0D7571F27360DE22ABE7C89C327901C3 /* ToArray.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ToArray.swift; path = RxSwift/Observables/ToArray.swift; sourceTree = ""; }; - 0F2AD37C6A839CE397E45D4A45248051 /* LayoutConstraintItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LayoutConstraintItem.swift; path = Sources/LayoutConstraintItem.swift; sourceTree = ""; }; - 107459B76CB9D77F6035D19FFBE5EFEF /* RecursiveLock.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RecursiveLock.swift; path = Platform/RecursiveLock.swift; sourceTree = ""; }; - 10C3654F11F6F247B7173D268D6C764A /* Notifications.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Notifications.swift; path = Source/Notifications.swift; sourceTree = ""; }; - 11D55BE75ADCB999D07155CF0EF3CC35 /* ConstraintRelatableTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintRelatableTarget.swift; path = Sources/ConstraintRelatableTarget.swift; sourceTree = ""; }; - 121C60A545BC5C21B7DC71D523760C7C /* BehaviorSubject.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BehaviorSubject.swift; path = RxSwift/Subjects/BehaviorSubject.swift; sourceTree = ""; }; - 12A4C8B8EFF951FAD285022B23511A32 /* PublishRelay.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PublishRelay.swift; path = RxRelay/PublishRelay.swift; sourceTree = ""; }; - 12EBF0DC1A5B03601072EF15FD855379 /* Generate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Generate.swift; path = RxSwift/Observables/Generate.swift; sourceTree = ""; }; - 130B211EBE72E2E4257ED2647FBBB416 /* ConstraintItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintItem.swift; path = Sources/ConstraintItem.swift; sourceTree = ""; }; - 1369099940636AB250657CC692BF3EC5 /* NetworkReachabilityManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NetworkReachabilityManager.swift; path = Source/NetworkReachabilityManager.swift; sourceTree = ""; }; - 137F5CBC3071C4785D4AB511F73B3D46 /* Queue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Queue.swift; path = Platform/DataStructures/Queue.swift; sourceTree = ""; }; - 13E54304FE547D6F19E4D2416D2AC346 /* DelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DelegateProxy.swift; path = RxCocoa/Common/DelegateProxy.swift; sourceTree = ""; }; - 157F1A5836DEDB20C7CA0569D4AEE12D /* ConstraintConstantTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintConstantTarget.swift; path = Sources/ConstraintConstantTarget.swift; sourceTree = ""; }; - 15EBFCEDCC004DECCF938C3CEA295113 /* Date+Dispatch.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Date+Dispatch.swift"; path = "RxSwift/Date+Dispatch.swift"; sourceTree = ""; }; - 1637A95EEF819ACF58D385510DA0CFFF /* Alamofire.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Alamofire.debug.xcconfig; sourceTree = ""; }; - 173BCC60ADB2D8ACBE08EECC0A5E4BFC /* Materialize.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Materialize.swift; path = RxSwift/Observables/Materialize.swift; sourceTree = ""; }; - 17456EFBA956D5E0DCED1D3253D633F6 /* TextInput.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TextInput.swift; path = RxCocoa/Common/TextInput.swift; sourceTree = ""; }; - 17D4DADC77B1F1BB73F3B96802D895B4 /* Binder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Binder.swift; path = RxSwift/Binder.swift; sourceTree = ""; }; - 184DA5CFF684E2DC848154E734E7AB0D /* ElementAt.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ElementAt.swift; path = RxSwift/Observables/ElementAt.swift; sourceTree = ""; }; - 1942FD2F210A125D8DBA83E84FF0BD6B /* Signal+Subscription.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Signal+Subscription.swift"; path = "RxCocoa/Traits/Signal/Signal+Subscription.swift"; sourceTree = ""; }; - 1A8DBCDF74DE5E8D6992D9675633749C /* SerialDispatchQueueScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SerialDispatchQueueScheduler.swift; path = RxSwift/Schedulers/SerialDispatchQueueScheduler.swift; sourceTree = ""; }; - 1CFE3514BFC58CA70037B25A4A735C36 /* Decode.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Decode.swift; path = RxSwift/Observables/Decode.swift; sourceTree = ""; }; - 1D9DF1056F596AA0CD8F94BFF548E5D2 /* ConstraintDirectionalInsetTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintDirectionalInsetTarget.swift; path = Sources/ConstraintDirectionalInsetTarget.swift; sourceTree = ""; }; - 1DEE7942DA2933AD0DE8D92487F28A7F /* RxCollectionViewDataSourcePrefetchingProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxCollectionViewDataSourcePrefetchingProxy.swift; path = RxCocoa/iOS/Proxies/RxCollectionViewDataSourcePrefetchingProxy.swift; sourceTree = ""; }; - 1E2EA13F76555343EEC44433CACFFD1E /* Response.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Response.swift; path = Source/Response.swift; sourceTree = ""; }; - 1FA400B74FCBF7D2B5EF3560299C861C /* LayoutConstraint.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LayoutConstraint.swift; path = Sources/LayoutConstraint.swift; sourceTree = ""; }; - 2111A0F3F2516D3CD2BF8A9E92BCAE45 /* PriorityQueue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PriorityQueue.swift; path = Platform/DataStructures/PriorityQueue.swift; sourceTree = ""; }; - 2136DEDB2593EA68DA01B65E7BB99118 /* SessionDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SessionDelegate.swift; path = Source/SessionDelegate.swift; sourceTree = ""; }; - 222E58D6CACB78B0AC327D81E0735D90 /* Constraint.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Constraint.swift; path = Sources/Constraint.swift; sourceTree = ""; }; - 22D4873C8968A9AFF9DEE503F5071CB0 /* RxSwift-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RxSwift-prefix.pch"; sourceTree = ""; }; - 22DF94C952CD13A7218709BF7FABF99D /* DispatchQueue+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "DispatchQueue+Extensions.swift"; path = "Platform/DispatchQueue+Extensions.swift"; sourceTree = ""; }; - 234D2EC8057B0F8D9E4935F1628336E2 /* RxTableViewDataSourcePrefetchingProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTableViewDataSourcePrefetchingProxy.swift; path = RxCocoa/iOS/Proxies/RxTableViewDataSourcePrefetchingProxy.swift; sourceTree = ""; }; - 239CF4FCF2CA0746D76AAF60252BA431 /* Error.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Error.swift; path = RxSwift/Observables/Error.swift; sourceTree = ""; }; - 241DAB52B81445629ED6FA03025A8A01 /* ConstraintLayoutGuide+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ConstraintLayoutGuide+Extensions.swift"; path = "Sources/ConstraintLayoutGuide+Extensions.swift"; sourceTree = ""; }; - 24242D22218AA37F8CC76B3EE6C62007 /* ImageContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImageContext.swift; path = Sources/SwiftUI/ImageContext.swift; sourceTree = ""; }; - 24CAA72B4308373EC1488E7066216A9D /* Map.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Map.swift; path = RxSwift/Observables/Map.swift; sourceTree = ""; }; - 26467BCE12DA0A06499ABC6754BEEFDA /* ReplayRelay.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ReplayRelay.swift; path = RxRelay/ReplayRelay.swift; sourceTree = ""; }; - 26B1CD47411081568D6BED044060E0CD /* RequestInterceptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RequestInterceptor.swift; path = Source/RequestInterceptor.swift; sourceTree = ""; }; - 277D92B05B634D1126A91F487892EB92 /* ConcurrentDispatchQueueScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConcurrentDispatchQueueScheduler.swift; path = RxSwift/Schedulers/ConcurrentDispatchQueueScheduler.swift; sourceTree = ""; }; - 27A69DD59D54551EFAB687D216284D7B /* DelegateProxyType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DelegateProxyType.swift; path = RxCocoa/Common/DelegateProxyType.swift; sourceTree = ""; }; - 28B78195A30E35E235446D2B14F3537F /* ReplaySubject.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ReplaySubject.swift; path = RxSwift/Subjects/ReplaySubject.swift; sourceTree = ""; }; - 28BD79B48447D9D9387B3CA0BAEC9D99 /* Combine.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Combine.swift; path = Source/Combine.swift; sourceTree = ""; }; - 2A04EA5FF19C6B7FE5D24A96A8A579AF /* BehaviorRelay+Driver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "BehaviorRelay+Driver.swift"; path = "RxCocoa/Traits/Driver/BehaviorRelay+Driver.swift"; sourceTree = ""; }; - 2A0727B052C55A1F8E0FFA03CBFEEA1C /* Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Rx.swift; path = RxSwift/Rx.swift; sourceTree = ""; }; - 2A6C0EB9B5EECB41206B66AC0F15C629 /* NSObject+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSObject+Rx.swift"; path = "RxCocoa/Foundation/NSObject+Rx.swift"; sourceTree = ""; }; - 2A91FF48BDA97DEC0CFA09E0B0C8D954 /* HTTPMethod.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HTTPMethod.swift; path = Source/HTTPMethod.swift; sourceTree = ""; }; - 2B3DE857102A08E8F2EE1810539AEC13 /* Completable+AndThen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Completable+AndThen.swift"; path = "RxSwift/Traits/PrimitiveSequence/Completable+AndThen.swift"; sourceTree = ""; }; - 2B6CE29CC66441F2F8797A7A70736C60 /* SnapKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SnapKit.modulemap; sourceTree = ""; }; - 2BB13DDC7642063969BC00BD44E961A4 /* TVMonogramView+Kingfisher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "TVMonogramView+Kingfisher.swift"; path = "Sources/Extensions/TVMonogramView+Kingfisher.swift"; sourceTree = ""; }; - 2BDA7A879C586A073E0529EEC703BFCD /* Single.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Single.swift; path = RxSwift/Traits/PrimitiveSequence/Single.swift; sourceTree = ""; }; - 2C25FB8546BC3CEE9E783B694D03F960 /* ParameterEncoding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ParameterEncoding.swift; path = Source/ParameterEncoding.swift; sourceTree = ""; }; - 2CC5247E9DECCC4F12F765D8EA14D111 /* Alamofire-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Alamofire-dummy.m"; sourceTree = ""; }; - 2F21DE94F0437A981AE3D8EF4AE534F0 /* ParameterEncoder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ParameterEncoder.swift; path = Source/ParameterEncoder.swift; sourceTree = ""; }; - 301C6E0BCEBD551D0030D7E10520E0D7 /* BooleanDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BooleanDisposable.swift; path = RxSwift/Disposables/BooleanDisposable.swift; sourceTree = ""; }; - 30384D09BA233758AAE10CB1617CC7F4 /* Then.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Then.modulemap; sourceTree = ""; }; - 30759823C9CE6516AACBB05160EF13DD /* ObservableConvertibleType+Infallible.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ObservableConvertibleType+Infallible.swift"; path = "RxSwift/Traits/Infallible/ObservableConvertibleType+Infallible.swift"; sourceTree = ""; }; - 30F1F6AAD561B939842A0DDFB524A1F8 /* RxTableViewDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTableViewDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxTableViewDelegateProxy.swift; sourceTree = ""; }; - 317E64497475D02434416B7515431CCA /* ConstraintInsets.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintInsets.swift; path = Sources/ConstraintInsets.swift; sourceTree = ""; }; - 31F9A5DA6EF29ED59CBE9D0592B86EEA /* Scan.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Scan.swift; path = RxSwift/Observables/Scan.swift; sourceTree = ""; }; - 3335135A9FDEA418BA548EB80407E453 /* Alamofire-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Alamofire-Info.plist"; sourceTree = ""; }; - 33ED7D037E31D37E5DDA6760309E40E1 /* ImageModifier.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImageModifier.swift; path = Sources/Networking/ImageModifier.swift; sourceTree = ""; }; - 3408E3237D110A2D17A4F9DAD51D01FE /* Bag.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Bag.swift; path = Platform/DataStructures/Bag.swift; sourceTree = ""; }; - 3436DEE621C359357BA3BF13F33E073F /* Infallible+Operators.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Infallible+Operators.swift"; path = "RxSwift/Traits/Infallible/Infallible+Operators.swift"; sourceTree = ""; }; - 3479931738D0F1F80BC86AE685523F0E /* Queue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Queue.swift; path = Platform/DataStructures/Queue.swift; sourceTree = ""; }; - 34D48950F27FF4654DB84E4C7DF47F76 /* ConstraintPriority.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintPriority.swift; path = Sources/ConstraintPriority.swift; sourceTree = ""; }; - 34F6EE3A726ADBB32EE42813AFB948F1 /* DisposeBag.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DisposeBag.swift; path = RxSwift/Disposables/DisposeBag.swift; sourceTree = ""; }; - 35227468433DC8E345E8640C2F0166BC /* NSButton+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSButton+Rx.swift"; path = "RxCocoa/macOS/NSButton+Rx.swift"; sourceTree = ""; }; - 358DAA2B9E4EBB5587E050278C4D2477 /* AuthenticationInterceptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AuthenticationInterceptor.swift; path = Source/AuthenticationInterceptor.swift; sourceTree = ""; }; - 36AFC22478324A257BF620E092E45422 /* UISlider+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UISlider+Rx.swift"; path = "RxCocoa/iOS/UISlider+Rx.swift"; sourceTree = ""; }; - 36CEC8BD9AB2C0FA4EC9CC68B88179F8 /* AnimatedImageView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnimatedImageView.swift; path = Sources/Views/AnimatedImageView.swift; sourceTree = ""; }; - 37177EBE517E3906F38F4B70C7D3CE4D /* ConstraintConfig.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintConfig.swift; path = Sources/ConstraintConfig.swift; sourceTree = ""; }; - 37992619C24C8F91137E8E266B2D9332 /* Kingfisher-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Kingfisher-umbrella.h"; sourceTree = ""; }; - 37ED7806674C4F72D11A094114F6B5FB /* ControlProperty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ControlProperty.swift; path = RxCocoa/Traits/ControlProperty.swift; sourceTree = ""; }; - 384029CF6AAA0D9C0A572019D325BDA0 /* ObserverBase.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObserverBase.swift; path = RxSwift/Observers/ObserverBase.swift; sourceTree = ""; }; - 388572D8342AC9984B65C463B3F59CE0 /* ConstraintLayoutSupport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutSupport.swift; path = Sources/ConstraintLayoutSupport.swift; sourceTree = ""; }; - 388EF2864B761DC27213738E991E5EE4 /* Skip.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Skip.swift; path = RxSwift/Observables/Skip.swift; sourceTree = ""; }; - 391465662C54A731FEF6EBCA43287123 /* ConstraintAttributes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintAttributes.swift; path = Sources/ConstraintAttributes.swift; sourceTree = ""; }; - 397A5AFA289920780AEAE1C4DAA0CF1F /* SnapKit.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SnapKit.release.xcconfig; sourceTree = ""; }; - 3A0593C337BAA3B21AA5C9669902DEF5 /* Dematerialize.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Dematerialize.swift; path = RxSwift/Observables/Dematerialize.swift; sourceTree = ""; }; - 3A5384C4A605AF932F372DAAC538F650 /* Infallible+CombineLatest+arity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Infallible+CombineLatest+arity.swift"; path = "RxSwift/Traits/Infallible/Infallible+CombineLatest+arity.swift"; sourceTree = ""; }; - 3A6E512733535C8B693231B7295040F3 /* UILayoutSupport+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UILayoutSupport+Extensions.swift"; path = "Sources/UILayoutSupport+Extensions.swift"; sourceTree = ""; }; - 3B084C687C8FCEFCE4852B1A673F74FA /* ObservableType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObservableType.swift; path = RxSwift/ObservableType.swift; sourceTree = ""; }; - 3B0F101C55722F52A00ADDC08CC57433 /* AddRef.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AddRef.swift; path = RxSwift/Observables/AddRef.swift; sourceTree = ""; }; - 3B49C1013F462364D32376AB8AF311B2 /* AsyncLock.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AsyncLock.swift; path = RxSwift/Concurrency/AsyncLock.swift; sourceTree = ""; }; - 3CD972556106FCAB1416701D5AFEBBC6 /* SwitchIfEmpty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SwitchIfEmpty.swift; path = RxSwift/Observables/SwitchIfEmpty.swift; sourceTree = ""; }; - 3D5CE6220EF4EE89BC1611C87A1B485A /* RxTableViewDataSourceProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTableViewDataSourceProxy.swift; path = RxCocoa/iOS/Proxies/RxTableViewDataSourceProxy.swift; sourceTree = ""; }; - 3DE7E1B56AC9054D7556E751895125F8 /* KFImageRenderer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = KFImageRenderer.swift; path = Sources/SwiftUI/KFImageRenderer.swift; sourceTree = ""; }; - 3E20AFF271CFF5DBC90C212D7DDCA674 /* MemoryStorage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MemoryStorage.swift; path = Sources/Cache/MemoryStorage.swift; sourceTree = ""; }; - 3F1CCBB07D9A089B4336F0EE9B43FCF0 /* ConstraintMakerRelatable+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ConstraintMakerRelatable+Extensions.swift"; path = "Sources/ConstraintMakerRelatable+Extensions.swift"; sourceTree = ""; }; - 3FA8F6297A67E9AEAE3ECC951A04CBBC /* UISearchController+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UISearchController+Rx.swift"; path = "RxCocoa/iOS/UISearchController+Rx.swift"; sourceTree = ""; }; - 40959136378DF5E537DD2F8AF2D85948 /* ImageDrawing.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImageDrawing.swift; path = Sources/Image/ImageDrawing.swift; sourceTree = ""; }; - 40AFECF8EE3CC898ED0743129D06D087 /* _RXKVOObserver.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _RXKVOObserver.m; path = RxCocoa/Runtime/_RXKVOObserver.m; sourceTree = ""; }; + 04A16185825EBC87070F0294E1082A6C /* Catch.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Catch.swift; path = RxSwift/Observables/Catch.swift; sourceTree = ""; }; + 0506603C4536006DE5AD80266F4915BF /* KingfisherOptionsInfo.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = KingfisherOptionsInfo.swift; path = Sources/General/KingfisherOptionsInfo.swift; sourceTree = ""; }; + 060DF4508CD9E71EF64F170D4171826D /* BinaryDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BinaryDisposable.swift; path = RxSwift/Disposables/BinaryDisposable.swift; sourceTree = ""; }; + 06EF59092D94C47E9B9ECA701EED9931 /* PublishSubject.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PublishSubject.swift; path = RxSwift/Subjects/PublishSubject.swift; sourceTree = ""; }; + 07632DF8B7FEB8D45D4D5761F0C98C55 /* RxTextStorageDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTextStorageDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxTextStorageDelegateProxy.swift; sourceTree = ""; }; + 0788EBCE7E78546610D593632B1358FE /* Debug.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Debug.swift; path = RxSwift/Observables/Debug.swift; sourceTree = ""; }; + 084B4D13DFE0E4F1513523495E2822DB /* UIButton+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIButton+Rx.swift"; path = "RxCocoa/iOS/UIButton+Rx.swift"; sourceTree = ""; }; + 089B6DCA06D8D3E2325AFA510830CE74 /* _RXKVOObserver.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _RXKVOObserver.h; path = RxCocoa/Runtime/include/_RXKVOObserver.h; sourceTree = ""; }; + 08A1FDBD059A732EDC3753506D2E53EE /* Utils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Utils.swift; path = RxRelay/Utils.swift; sourceTree = ""; }; + 08F7F3D357F8394C66FC42DFC5599CF0 /* CombineLatest+Collection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "CombineLatest+Collection.swift"; path = "RxSwift/Observables/CombineLatest+Collection.swift"; sourceTree = ""; }; + 08FBE9002A0EE208FA02A76E930B2DC6 /* Alamofire-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Alamofire-Info.plist"; sourceTree = ""; }; + 09DC60FF8B51A1CAD3B33F1BFF124CB1 /* UITextView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UITextView+Rx.swift"; path = "RxCocoa/iOS/UITextView+Rx.swift"; sourceTree = ""; }; + 0B3BB0D4F74979A9A72EE69983C7356E /* SchedulerType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SchedulerType.swift; path = RxSwift/SchedulerType.swift; sourceTree = ""; }; + 0B48A4A0A9B6AC543C675AC28F8ACDF5 /* UIActivityIndicatorView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIActivityIndicatorView+Rx.swift"; path = "RxCocoa/iOS/UIActivityIndicatorView+Rx.swift"; sourceTree = ""; }; + 0BF895F7443BC545CB58471AD36FFF75 /* ToArray.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ToArray.swift; path = RxSwift/Observables/ToArray.swift; sourceTree = ""; }; + 0C9330994AAE90372FF5258B43092430 /* ImageContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImageContext.swift; path = Sources/SwiftUI/ImageContext.swift; sourceTree = ""; }; + 0D005C88BE49966A36E347AD178EC5D7 /* RxTabBarControllerDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTabBarControllerDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxTabBarControllerDelegateProxy.swift; sourceTree = ""; }; + 0D8C0A8FD1BF7F5F53DAD39AFB54F081 /* RxSwift-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "RxSwift-Info.plist"; sourceTree = ""; }; + 0DF2409DEC699702D8BE3985399F6DC2 /* RecursiveScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RecursiveScheduler.swift; path = RxSwift/Schedulers/RecursiveScheduler.swift; sourceTree = ""; }; + 0FA9E7A216A388A60FEF3376047BC9BB /* DefaultIfEmpty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DefaultIfEmpty.swift; path = RxSwift/Observables/DefaultIfEmpty.swift; sourceTree = ""; }; + 1012F600DBABC66096387A37064C5E2B /* RxCocoa-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "RxCocoa-Info.plist"; sourceTree = ""; }; + 107EAEE19A5E4AAA459BBF7DCFF35C28 /* HTTPMethod.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HTTPMethod.swift; path = Source/HTTPMethod.swift; sourceTree = ""; }; + 10929DC4D0C1C63F65E5ED1A691279B9 /* CPListItem+Kingfisher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "CPListItem+Kingfisher.swift"; path = "Sources/Extensions/CPListItem+Kingfisher.swift"; sourceTree = ""; }; + 13EC9E362B3AE9B0D5203E10EE27F15B /* Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Rx.swift; path = RxSwift/Rx.swift; sourceTree = ""; }; + 1434856504F77C2AF33D72E73A70E9F2 /* ObservableConvertibleType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObservableConvertibleType.swift; path = RxSwift/ObservableConvertibleType.swift; sourceTree = ""; }; + 14D4AAC0B9F44CACAB560017F756D101 /* SchedulerServices+Emulation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "SchedulerServices+Emulation.swift"; path = "RxSwift/Schedulers/SchedulerServices+Emulation.swift"; sourceTree = ""; }; + 155A1D09FF5B23C3E7C5BB03569CBC7C /* ObservableConvertibleType+Infallible.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ObservableConvertibleType+Infallible.swift"; path = "RxSwift/Traits/Infallible/ObservableConvertibleType+Infallible.swift"; sourceTree = ""; }; + 16ABC270E7640F31CD241310226A03D5 /* PublishRelay+Signal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "PublishRelay+Signal.swift"; path = "RxCocoa/Traits/Signal/PublishRelay+Signal.swift"; sourceTree = ""; }; + 16B43BFD3EA4A8BDCE30B6EF79885D65 /* Delay.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Delay.swift; path = RxSwift/Observables/Delay.swift; sourceTree = ""; }; + 1732BDD05A1B2DCAE38A22A2E52CADFC /* Never.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Never.swift; path = RxSwift/Observables/Never.swift; sourceTree = ""; }; + 180196574F4C6A2EA503EEE113D7E1DA /* NetworkReachabilityManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NetworkReachabilityManager.swift; path = Source/NetworkReachabilityManager.swift; sourceTree = ""; }; + 1879257263BF7E7F25A62A6CEA742CD8 /* Bag.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Bag.swift; path = Platform/DataStructures/Bag.swift; sourceTree = ""; }; + 1895C7E5C1C20859533DAC0404461E70 /* Queue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Queue.swift; path = Platform/DataStructures/Queue.swift; sourceTree = ""; }; + 19C817FBB0990767A0DB5E231108D2B9 /* Queue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Queue.swift; path = Platform/DataStructures/Queue.swift; sourceTree = ""; }; + 1A50D5ED1C53A6D665FF3D865E47A32E /* BooleanDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BooleanDisposable.swift; path = RxSwift/Disposables/BooleanDisposable.swift; sourceTree = ""; }; + 1AB6D9D250C8EABCF06AD5E8D2B3B4E9 /* UISegmentedControl+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UISegmentedControl+Rx.swift"; path = "RxCocoa/iOS/UISegmentedControl+Rx.swift"; sourceTree = ""; }; + 1B20C14E03FF446329B17B8921520F47 /* ConcurrentDispatchQueueScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConcurrentDispatchQueueScheduler.swift; path = RxSwift/Schedulers/ConcurrentDispatchQueueScheduler.swift; sourceTree = ""; }; + 1C3220C7BA3A9F66031E87DFA118ACFD /* SynchronizedUnsubscribeType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SynchronizedUnsubscribeType.swift; path = RxSwift/Concurrency/SynchronizedUnsubscribeType.swift; sourceTree = ""; }; + 1CD0BDB61457148CEEEDFF5E757E8A04 /* RxRelay.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = RxRelay.modulemap; sourceTree = ""; }; + 1E6A932A49B59F5E03A011DFCECE09E3 /* Just.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Just.swift; path = RxSwift/Observables/Just.swift; sourceTree = ""; }; + 1FA9DFC19E22B240C7876DD14FC2D856 /* Range.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Range.swift; path = RxSwift/Observables/Range.swift; sourceTree = ""; }; + 1FED91CB7BAB408B7F054A4F952904CB /* Debounce.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Debounce.swift; path = RxSwift/Observables/Debounce.swift; sourceTree = ""; }; + 20939B422F841314A916EFEBC6AC6245 /* ImageDownloader.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImageDownloader.swift; path = Sources/Networking/ImageDownloader.swift; sourceTree = ""; }; + 2094A6FA4F4A14BC5ADE62BC559C6519 /* StartWith.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StartWith.swift; path = RxSwift/Observables/StartWith.swift; sourceTree = ""; }; + 20C12E4903ACB5AE8ACB42690A55B23B /* Platform.Darwin.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Platform.Darwin.swift; path = Platform/Platform.Darwin.swift; sourceTree = ""; }; + 21BFEF37444D53516798550E03FF9BEB /* PrimitiveSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PrimitiveSequence.swift; path = RxSwift/Traits/PrimitiveSequence/PrimitiveSequence.swift; sourceTree = ""; }; + 2287F093DBC10BC57C102E18B019E333 /* Box.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Box.swift; path = Sources/Utility/Box.swift; sourceTree = ""; }; + 22CA57B6D7A7C14A2943CC2BD4ADB804 /* Error.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Error.swift; path = RxSwift/Observables/Error.swift; sourceTree = ""; }; + 24446A8EFC2933AEA48CC6501B896DED /* RxRelay-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RxRelay-umbrella.h"; sourceTree = ""; }; + 254DFBA9316CCDA4B58E3C1DEBEFDE0B /* Validation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Validation.swift; path = Source/Validation.swift; sourceTree = ""; }; + 26516EB86A478F9A0948A2385BA1801E /* ImageProcessor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImageProcessor.swift; path = Sources/Image/ImageProcessor.swift; sourceTree = ""; }; + 2710A5C58FB5D38DE88893B0EC1D5812 /* SerialDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SerialDisposable.swift; path = RxSwift/Disposables/SerialDisposable.swift; sourceTree = ""; }; + 271D498317266C203411F60340C099BC /* ControlEvent.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ControlEvent.swift; path = RxCocoa/Traits/ControlEvent.swift; sourceTree = ""; }; + 295491827D508CA3887131657ABFEBCD /* Zip+Collection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Zip+Collection.swift"; path = "RxSwift/Observables/Zip+Collection.swift"; sourceTree = ""; }; + 2A0012C71C40284C3A59CBE7ECD0DAFF /* TakeWithPredicate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TakeWithPredicate.swift; path = RxSwift/Observables/TakeWithPredicate.swift; sourceTree = ""; }; + 2A86E357ADE22959DDEC41EA131EDFB9 /* RxCollectionViewReactiveArrayDataSource.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxCollectionViewReactiveArrayDataSource.swift; path = RxCocoa/iOS/DataSources/RxCollectionViewReactiveArrayDataSource.swift; sourceTree = ""; }; + 2A9790FD98F92A408BE131856794F256 /* Image.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Image.swift; path = Sources/Image/Image.swift; sourceTree = ""; }; + 2AA3BCD0F8D8DD47DE2953CAA6551715 /* NSTextField+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSTextField+Rx.swift"; path = "RxCocoa/macOS/NSTextField+Rx.swift"; sourceTree = ""; }; + 2B8D1F9DE401B67F43275A07BFC01877 /* NSTextView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSTextView+Rx.swift"; path = "RxCocoa/macOS/NSTextView+Rx.swift"; sourceTree = ""; }; + 2BAD1824DB8363FB113C13EEC0F32A59 /* Enumerated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Enumerated.swift; path = RxSwift/Observables/Enumerated.swift; sourceTree = ""; }; + 2CB7090BE8D4A820293523F3E9316A87 /* Optional.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Optional.swift; path = RxSwift/Observables/Optional.swift; sourceTree = ""; }; + 2D98381E0E9250B1206C7D158115C501 /* Indicator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Indicator.swift; path = Sources/Views/Indicator.swift; sourceTree = ""; }; + 2DEE8774EEF8959AAB4722B0794E476A /* Cancelable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cancelable.swift; path = RxSwift/Cancelable.swift; sourceTree = ""; }; + 2E3BC1DED347059AEAE865AA41BF11FB /* SessionDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SessionDelegate.swift; path = Sources/Networking/SessionDelegate.swift; sourceTree = ""; }; + 2E6CBF7A09FCBC28E60715D50B8E5723 /* ItemEvents.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ItemEvents.swift; path = RxCocoa/iOS/Events/ItemEvents.swift; sourceTree = ""; }; + 2F03FE47257AE08BDECD446738800C67 /* Skip.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Skip.swift; path = RxSwift/Observables/Skip.swift; sourceTree = ""; }; + 2F30E28E179BC40DB103FD9650DB32C5 /* Alamofire.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Alamofire.modulemap; sourceTree = ""; }; + 30764A6124778F45A20AC59D3D520B6C /* Alamofire-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Alamofire-dummy.m"; sourceTree = ""; }; + 313AB55529116923DFCA1BE47322693F /* Throttle.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Throttle.swift; path = RxSwift/Observables/Throttle.swift; sourceTree = ""; }; + 3167E822221C6F0409B0E5984EE01373 /* SubscribeOn.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SubscribeOn.swift; path = RxSwift/Observables/SubscribeOn.swift; sourceTree = ""; }; + 36392ABC092B4FBF622DBE16D5083069 /* RequestModifier.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RequestModifier.swift; path = Sources/Networking/RequestModifier.swift; sourceTree = ""; }; + 3644EFA29BEE50A42E6705784E7BEC9F /* _RXObjCRuntime.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _RXObjCRuntime.h; path = RxCocoa/Runtime/include/_RXObjCRuntime.h; sourceTree = ""; }; + 37DC6B6793C3D2EAE2AF14ECF0B8CA6C /* UINavigationController+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UINavigationController+Rx.swift"; path = "RxCocoa/iOS/UINavigationController+Rx.swift"; sourceTree = ""; }; + 3806B07B9319EA3E0FFC897619C90C1C /* ControlEvent+Signal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ControlEvent+Signal.swift"; path = "RxCocoa/Traits/Signal/ControlEvent+Signal.swift"; sourceTree = ""; }; + 38B5587EDC1E5C18DCBD4821467D74DB /* ObservableConvertibleType+SharedSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ObservableConvertibleType+SharedSequence.swift"; path = "RxCocoa/Traits/SharedSequence/ObservableConvertibleType+SharedSequence.swift"; sourceTree = ""; }; + 398E77D40E6428470FC7FB4089F7C477 /* InvocableType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = InvocableType.swift; path = RxSwift/Schedulers/Internal/InvocableType.swift; sourceTree = ""; }; + 3A1876889211DA3EFFF8D66F13B8606F /* MultipartUpload.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MultipartUpload.swift; path = Source/MultipartUpload.swift; sourceTree = ""; }; + 3AEC10E040DFCDB14435C8A515AA6358 /* 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 = ""; }; + 3C24DE0414809B62C9E2FDC74CFBC808 /* ExtensionHelpers.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExtensionHelpers.swift; path = Sources/Utility/ExtensionHelpers.swift; sourceTree = ""; }; + 3C7B74E7C88E90FE1D3D344961603016 /* UITabBar+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UITabBar+Rx.swift"; path = "RxCocoa/iOS/UITabBar+Rx.swift"; sourceTree = ""; }; + 3C7D7D3830CB0BF4CD8C8B7D9C7A64D2 /* Completable+AndThen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Completable+AndThen.swift"; path = "RxSwift/Traits/PrimitiveSequence/Completable+AndThen.swift"; sourceTree = ""; }; + 3C8341376070773E4EE79FF6BB8ACBE9 /* PriorityQueue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PriorityQueue.swift; path = Platform/DataStructures/PriorityQueue.swift; sourceTree = ""; }; + 3C8343F0F3ADF9A69081CF548E7EA913 /* Lock.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Lock.swift; path = RxSwift/Concurrency/Lock.swift; sourceTree = ""; }; + 3D1F4E3D2613458B541B68A3715A1F81 /* AVAssetImageDataProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AVAssetImageDataProvider.swift; path = Sources/General/ImageSource/AVAssetImageDataProvider.swift; sourceTree = ""; }; + 3E52E8485BEDD9177E8632291D3D44AB /* SkipUntil.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SkipUntil.swift; path = RxSwift/Observables/SkipUntil.swift; sourceTree = ""; }; + 3F754B62062C1BB702C9AE5AB255AE25 /* _RXObjCRuntime.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _RXObjCRuntime.m; path = RxCocoa/Runtime/_RXObjCRuntime.m; sourceTree = ""; }; + 4012532D3D1DB3E46A111EBBC4C6E6E8 /* SwitchIfEmpty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SwitchIfEmpty.swift; path = RxSwift/Observables/SwitchIfEmpty.swift; sourceTree = ""; }; + 408187CD2BD0C3E8A0B46D0F0F49ABB7 /* RxSearchControllerDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxSearchControllerDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxSearchControllerDelegateProxy.swift; sourceTree = ""; }; + 40F8F8FC8E896CF54990C6083476F50F /* Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Alamofire.swift; path = Source/Alamofire.swift; sourceTree = ""; }; + 4100FD1FA7881797381F450B5683F96B /* Create.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Create.swift; path = RxSwift/Observables/Create.swift; sourceTree = ""; }; + 412E15B01A1AC4D62C2A091BF7C0BC49 /* Window.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Window.swift; path = RxSwift/Observables/Window.swift; sourceTree = ""; }; 4207BEE6DFA63E5CF69828DD467E9674 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; - 424A702748AA121F5FEB193B1191483C /* SwiftSupport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SwiftSupport.swift; path = RxSwift/SwiftSupport/SwiftSupport.swift; sourceTree = ""; }; - 4270B930D638943834E67312DB05D3F4 /* CompactMap.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CompactMap.swift; path = RxSwift/Observables/CompactMap.swift; sourceTree = ""; }; - 42AF3D32E74844540839E2E372746C95 /* _RXDelegateProxy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _RXDelegateProxy.h; path = RxCocoa/Runtime/include/_RXDelegateProxy.h; sourceTree = ""; }; - 436E6B8122FFBFEC2355E92A4369076F /* Switch.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Switch.swift; path = RxSwift/Observables/Switch.swift; sourceTree = ""; }; - 44989B930B27CD43F60DCD0E3E0B8F9C /* ScheduledDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ScheduledDisposable.swift; path = RxSwift/Disposables/ScheduledDisposable.swift; sourceTree = ""; }; - 478E5AC81408D14D72E89C0DCFC82FB4 /* SynchronizedDisposeType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SynchronizedDisposeType.swift; path = RxSwift/Concurrency/SynchronizedDisposeType.swift; sourceTree = ""; }; - 47D8AA07BE58DD83B97017D9210622B5 /* AsMaybe.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AsMaybe.swift; path = RxSwift/Observables/AsMaybe.swift; sourceTree = ""; }; - 4C8395BDA2FFB7C203360D569C73EB85 /* RxCocoa-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "RxCocoa-dummy.m"; sourceTree = ""; }; - 4CED55A453561E7A37513977A28DFED5 /* Then-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Then-umbrella.h"; sourceTree = ""; }; - 4D02EF97FDBB7982690195FA389A8EFC /* SynchronizedUnsubscribeType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SynchronizedUnsubscribeType.swift; path = RxSwift/Concurrency/SynchronizedUnsubscribeType.swift; sourceTree = ""; }; - 4E7C6F96F576B353969EC8330148F91E /* Zip.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Zip.swift; path = RxSwift/Observables/Zip.swift; sourceTree = ""; }; - 4F09D78410DD73D2369B5402471248B6 /* Platform.Darwin.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Platform.Darwin.swift; path = Platform/Platform.Darwin.swift; sourceTree = ""; }; - 50108B124006A165C4BA439D5C83CA39 /* Take.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Take.swift; path = RxSwift/Observables/Take.swift; sourceTree = ""; }; - 505248F8BBCE74AE90A0319FAEB54D28 /* Platform.Linux.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Platform.Linux.swift; path = Platform/Platform.Linux.swift; sourceTree = ""; }; - 5053573A84F849ED9EC73ADB43D7CBD8 /* KingfisherError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = KingfisherError.swift; path = Sources/General/KingfisherError.swift; sourceTree = ""; }; - 505AD183F074879A6B30520F7EB09771 /* Create.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Create.swift; path = RxSwift/Observables/Create.swift; sourceTree = ""; }; - 51395A3F31443E10D5D0D3C251622CFE /* Result+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Result+Alamofire.swift"; path = "Source/Result+Alamofire.swift"; sourceTree = ""; }; - 515327C59D95E5C4061D499BA1F0B68F /* Repeat.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Repeat.swift; path = RxSwift/Observables/Repeat.swift; sourceTree = ""; }; - 51E4CAC9C5F684CB8FE11146529161D8 /* ConstraintViewDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintViewDSL.swift; path = Sources/ConstraintViewDSL.swift; sourceTree = ""; }; + 422B5B171A08768C578EDA6F142190E9 /* UITabBarController+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UITabBarController+Rx.swift"; path = "RxCocoa/iOS/UITabBarController+Rx.swift"; sourceTree = ""; }; + 43471A02ECA3B06572E8614A11DCA555 /* _RXDelegateProxy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _RXDelegateProxy.m; path = RxCocoa/Runtime/_RXDelegateProxy.m; sourceTree = ""; }; + 43ADC81E7B186C1B4BEFE99903A8D43C /* ConnectableObservableType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConnectableObservableType.swift; path = RxSwift/ConnectableObservableType.swift; sourceTree = ""; }; + 43C0EB62460E4454569B4CD1B4FC5203 /* RxCocoa-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "RxCocoa-dummy.m"; sourceTree = ""; }; + 448A11DB14D3B2788E2A0C10C58345C6 /* NSButton+Kingfisher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSButton+Kingfisher.swift"; path = "Sources/Extensions/NSButton+Kingfisher.swift"; sourceTree = ""; }; + 459327ADC2AB1F0121DAC848FA335CB9 /* HistoricalScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HistoricalScheduler.swift; path = RxSwift/Schedulers/HistoricalScheduler.swift; sourceTree = ""; }; + 4664F288F9FB831786A630ECFA101071 /* URLEncodedFormEncoder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = URLEncodedFormEncoder.swift; path = Source/URLEncodedFormEncoder.swift; sourceTree = ""; }; + 46DA2F54CCFBD4DEEB954509123BAB46 /* Infallible+Create.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Infallible+Create.swift"; path = "RxSwift/Traits/Infallible/Infallible+Create.swift"; sourceTree = ""; }; + 4716AEFE0CA36DD49DA802EB2D4B0D79 /* UIApplication+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIApplication+Rx.swift"; path = "RxCocoa/iOS/UIApplication+Rx.swift"; sourceTree = ""; }; + 47585F17D6C493BE1807B82D30857796 /* NopDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NopDisposable.swift; path = RxSwift/Disposables/NopDisposable.swift; sourceTree = ""; }; + 495E2FE5455AE75E6837A7437BBB075C /* RxRelay-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RxRelay-prefix.pch"; sourceTree = ""; }; + 49CAD7B768F40EFF2365DAAB0BF69AC1 /* SharedSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SharedSequence.swift; path = RxCocoa/Traits/SharedSequence/SharedSequence.swift; sourceTree = ""; }; + 49E09E42120F22D8569577653A9ABE42 /* Result.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Result.swift; path = Sources/Utility/Result.swift; sourceTree = ""; }; + 4A3C02E23BCDD3860873163D1B3E216E /* Zip.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Zip.swift; path = RxSwift/Observables/Zip.swift; sourceTree = ""; }; + 4A4B30F23533D3593387DB40F428E6C8 /* Amb.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Amb.swift; path = RxSwift/Observables/Amb.swift; sourceTree = ""; }; + 4A77498D8601CD2A18C2B266D134A0B3 /* ElementAt.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ElementAt.swift; path = RxSwift/Observables/ElementAt.swift; sourceTree = ""; }; + 4AFA537C2BBA71F66CC1125DF51BB8F1 /* Zip+arity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Zip+arity.swift"; path = "RxSwift/Observables/Zip+arity.swift"; sourceTree = ""; }; + 4B503E10D803E0857839B5BAD00579DB /* HTTPHeaders.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HTTPHeaders.swift; path = Source/HTTPHeaders.swift; sourceTree = ""; }; + 4B5315396EDBBDED60D29690F6FFE660 /* EventMonitor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EventMonitor.swift; path = Source/EventMonitor.swift; sourceTree = ""; }; + 4BC0821E5EC77C0618E68B7F1EAA4944 /* Do.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Do.swift; path = RxSwift/Observables/Do.swift; sourceTree = ""; }; + 4C649A24C3B907ADD6A53C148A80E93C /* RxCocoa.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RxCocoa.h; path = RxCocoa/RxCocoa.h; sourceTree = ""; }; + 4C78E16FA67F5AF3CF5161CE98BFA398 /* Single.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Single.swift; path = RxSwift/Traits/PrimitiveSequence/Single.swift; sourceTree = ""; }; + 4CFCEFBDF57C364335702AD677A55637 /* RxScrollViewDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxScrollViewDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxScrollViewDelegateProxy.swift; sourceTree = ""; }; + 4D3351FC50325E6DAE44B85F58E49EF2 /* Date+Dispatch.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Date+Dispatch.swift"; path = "RxSwift/Date+Dispatch.swift"; sourceTree = ""; }; + 4D3F30CED42F29C1B4B138C2EBFBBF37 /* Result+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Result+Alamofire.swift"; path = "Source/Result+Alamofire.swift"; sourceTree = ""; }; + 4D7720CFEC1EF58FA7358FBFCAC80F23 /* AsSingle.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AsSingle.swift; path = RxSwift/Observables/AsSingle.swift; sourceTree = ""; }; + 4DC7E4A0392635B4CA930D97C0E613C9 /* CombineLatest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CombineLatest.swift; path = RxSwift/Observables/CombineLatest.swift; sourceTree = ""; }; + 4E2901BCCE211D127E9D644FCDAAEF7A /* ObserveOn.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObserveOn.swift; path = RxSwift/Observables/ObserveOn.swift; sourceTree = ""; }; + 50AC3B813EF4E421F55DE2E0FCD5C099 /* AnonymousObserver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnonymousObserver.swift; path = RxSwift/Observers/AnonymousObserver.swift; sourceTree = ""; }; + 50D79AB7119770DA3D4CFC430A785079 /* Disposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Disposable.swift; path = RxSwift/Disposable.swift; sourceTree = ""; }; + 51444FAEE00EC9DACD445B3ADD8D0CCF /* ParameterEncoder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ParameterEncoder.swift; path = Source/ParameterEncoder.swift; sourceTree = ""; }; + 51726A3B096ECD92B4BE6442299A6888 /* RxSwift-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "RxSwift-dummy.m"; sourceTree = ""; }; + 52143777EAE425DCF6E0F254A2EE83D4 /* Disposables.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Disposables.swift; path = RxSwift/Disposables/Disposables.swift; sourceTree = ""; }; 52554E1C9731D5352FDE9E63F8C5466B /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk/System/Library/Frameworks/Accelerate.framework; sourceTree = DEVELOPER_DIR; }; - 52D55157148922A4E72072CD651FE28F /* KingfisherManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = KingfisherManager.swift; path = Sources/General/KingfisherManager.swift; sourceTree = ""; }; - 54DC3B1CA2300B64603FB538AEE12921 /* WithLatestFrom.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = WithLatestFrom.swift; path = RxSwift/Observables/WithLatestFrom.swift; sourceTree = ""; }; - 55435AE4D7BC14A801AED59B2F4B8944 /* RxCocoa-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RxCocoa-prefix.pch"; sourceTree = ""; }; - 559F537D9EE98F4DBBFA8F2C9FCFB664 /* PrimitiveSequence+Zip+arity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "PrimitiveSequence+Zip+arity.swift"; path = "RxSwift/Traits/PrimitiveSequence/PrimitiveSequence+Zip+arity.swift"; sourceTree = ""; }; - 564A9D0888ED1D14EF0ABE0146AB74C7 /* Resource.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Resource.swift; path = Sources/General/ImageSource/Resource.swift; sourceTree = ""; }; - 5757A156B9ED6AF45944C0C68D09DB15 /* LockOwnerType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LockOwnerType.swift; path = RxSwift/Concurrency/LockOwnerType.swift; sourceTree = ""; }; - 5852EAC9E3B19706A61BDEF7DA19B7E1 /* DisposeBase.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DisposeBase.swift; path = RxSwift/Disposables/DisposeBase.swift; sourceTree = ""; }; - 5887FC1311110E56ED239BE1451913E8 /* RedirectHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RedirectHandler.swift; path = Sources/Networking/RedirectHandler.swift; sourceTree = ""; }; - 5A58CD7D057EE28BA318D92BBFD801A8 /* Infallible+Create.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Infallible+Create.swift"; path = "RxSwift/Traits/Infallible/Infallible+Create.swift"; sourceTree = ""; }; - 5A6D991DB3D58444F055CD0B712B5691 /* DistinctUntilChanged.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DistinctUntilChanged.swift; path = RxSwift/Observables/DistinctUntilChanged.swift; sourceTree = ""; }; - 5AB89D57D0DD2B7478CC2A47BD314CC2 /* SharedSequence+Operators.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "SharedSequence+Operators.swift"; path = "RxCocoa/Traits/SharedSequence/SharedSequence+Operators.swift"; sourceTree = ""; }; - 5B39CB31815FB05E72BA3D232A26A687 /* ConstraintDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintDSL.swift; path = Sources/ConstraintDSL.swift; sourceTree = ""; }; - 5B7E5897EBDF8FBE8BDCD6623C2F41EB /* HistoricalSchedulerTimeConverter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HistoricalSchedulerTimeConverter.swift; path = RxSwift/Schedulers/HistoricalSchedulerTimeConverter.swift; sourceTree = ""; }; - 5CD712911FD9E48747CD181C877EDE5B /* Kingfisher.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Kingfisher.modulemap; sourceTree = ""; }; - 5D23EFB5EDFFADC4C3044C2632CAA671 /* ConstraintMakerRelatable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerRelatable.swift; path = Sources/ConstraintMakerRelatable.swift; sourceTree = ""; }; + 52B734ED0DA76190B3AC4C46F9489089 /* Alamofire.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Alamofire.debug.xcconfig; sourceTree = ""; }; + 53175CAB142FE09893D8362D65F2FC4E /* RecursiveLock.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RecursiveLock.swift; path = Platform/RecursiveLock.swift; sourceTree = ""; }; + 537ACD34D8A705090426289B9BBDD416 /* UICollectionView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UICollectionView+Rx.swift"; path = "RxCocoa/iOS/UICollectionView+Rx.swift"; sourceTree = ""; }; + 53A0879EC7912ADD13E86EA9562CEBE8 /* AddRef.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AddRef.swift; path = RxSwift/Observables/AddRef.swift; sourceTree = ""; }; + 54828098CAE6FA49FBA21FAD41401637 /* UISlider+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UISlider+Rx.swift"; path = "RxCocoa/iOS/UISlider+Rx.swift"; sourceTree = ""; }; + 563AB85303B287FBBE5053F55176D645 /* AtomicInt.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AtomicInt.swift; path = Platform/AtomicInt.swift; sourceTree = ""; }; + 5667B4FAB3C320031E30415B6606AB22 /* Platform.Darwin.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Platform.Darwin.swift; path = Platform/Platform.Darwin.swift; sourceTree = ""; }; + 567BE6ACB034F4EF97626F4D15100B32 /* KF.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = KF.swift; path = Sources/General/KF.swift; sourceTree = ""; }; + 584C6421C2874DE3375A54E75DA35E94 /* URLSessionConfiguration+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "URLSessionConfiguration+Alamofire.swift"; path = "Source/URLSessionConfiguration+Alamofire.swift"; sourceTree = ""; }; + 586C60BC4AE1A5E9B55904581C0BD815 /* CompositeDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CompositeDisposable.swift; path = RxSwift/Disposables/CompositeDisposable.swift; sourceTree = ""; }; + 589B5DCBD29865837BD32446EFB838B1 /* Binder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Binder.swift; path = RxSwift/Binder.swift; sourceTree = ""; }; + 58F2C24360E3F08F46AF5808C720E195 /* Kingfisher.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Kingfisher.modulemap; sourceTree = ""; }; + 59813941BA80AA3F02042957C14FFBBC /* GIFAnimatedImage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GIFAnimatedImage.swift; path = Sources/Image/GIFAnimatedImage.swift; sourceTree = ""; }; + 5A28EC8933B0AB206A9F67DA3A609D53 /* KFImage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = KFImage.swift; path = Sources/SwiftUI/KFImage.swift; sourceTree = ""; }; + 5A8EB0715EF64AC2D4FA26C2FCEAE5CF /* DisposeBag.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DisposeBag.swift; path = RxSwift/Disposables/DisposeBag.swift; sourceTree = ""; }; + 5AA282F1442513B9D4A4F680BF173C8E /* ImageDataProcessor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImageDataProcessor.swift; path = Sources/Networking/ImageDataProcessor.swift; sourceTree = ""; }; + 5B537B4474A6B0D3C117F31EFE7CE9BB /* ScheduledItemType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ScheduledItemType.swift; path = RxSwift/Schedulers/Internal/ScheduledItemType.swift; sourceTree = ""; }; + 5B5D82051CBE3C0E5ECC9B437EA8A036 /* DelaySubscription.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DelaySubscription.swift; path = RxSwift/Observables/DelaySubscription.swift; sourceTree = ""; }; + 5B90094D3C08989C66117381B0EE78A0 /* RxCollectionViewDataSourcePrefetchingProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxCollectionViewDataSourcePrefetchingProxy.swift; path = RxCocoa/iOS/Proxies/RxCollectionViewDataSourcePrefetchingProxy.swift; sourceTree = ""; }; + 5C3A2ADBACF14D1B6CDCC27BC006E1F3 /* WKInterfaceImage+Kingfisher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "WKInterfaceImage+Kingfisher.swift"; path = "Sources/Extensions/WKInterfaceImage+Kingfisher.swift"; sourceTree = ""; }; + 5CF25316F497FB2B080F1B937682ADA3 /* ImageCache.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImageCache.swift; path = Sources/Cache/ImageCache.swift; sourceTree = ""; }; 5D797E9A5C5782CE845840781FA1CC81 /* Alamofire */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Alamofire; path = Alamofire.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 5DCBFE494DC58D5A2DD337AB33BDE86B /* AlamofireExtended.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AlamofireExtended.swift; path = Source/AlamofireExtended.swift; sourceTree = ""; }; - 5DE6E5AA4600F001A83F9820E4D492BC /* AnonymousDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnonymousDisposable.swift; path = RxSwift/Disposables/AnonymousDisposable.swift; sourceTree = ""; }; + 5DF8B1C21C11A77C92F432271875B512 /* RedirectHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RedirectHandler.swift; path = Sources/Networking/RedirectHandler.swift; sourceTree = ""; }; 5EF8209FD188AC4FB88A5B54F92C4802 /* Pods-There-iOS-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-There-iOS-acknowledgements.markdown"; sourceTree = ""; }; - 5F113DB7BBDE9D4B2C046D73D2734848 /* ConstraintMaker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMaker.swift; path = Sources/ConstraintMaker.swift; sourceTree = ""; }; - 5F680A2F306AB6146114790DB8C6A189 /* SnapKit-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "SnapKit-Info.plist"; sourceTree = ""; }; - 5FA5BB426732446D6C8EC23D1739B538 /* RxCocoaRuntime.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RxCocoaRuntime.h; path = RxCocoa/Runtime/include/RxCocoaRuntime.h; sourceTree = ""; }; - 603D763519A2376BDD40B30EEB5570A4 /* ServerTrustEvaluation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ServerTrustEvaluation.swift; path = Source/ServerTrustEvaluation.swift; sourceTree = ""; }; - 6050A1249660A9E7EC5EEDF8D9330913 /* UISearchBar+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UISearchBar+Rx.swift"; path = "RxCocoa/iOS/UISearchBar+Rx.swift"; sourceTree = ""; }; - 60CC6C39DC44366F26892B2B6511EFBD /* URLSessionConfiguration+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "URLSessionConfiguration+Alamofire.swift"; path = "Source/URLSessionConfiguration+Alamofire.swift"; sourceTree = ""; }; - 60D594328B73008C69B795A38C238228 /* ControlEvent+Signal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ControlEvent+Signal.swift"; path = "RxCocoa/Traits/Signal/ControlEvent+Signal.swift"; sourceTree = ""; }; - 610D60209B13D08D145176FAB45012B0 /* RxPickerViewDataSourceProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxPickerViewDataSourceProxy.swift; path = RxCocoa/iOS/Proxies/RxPickerViewDataSourceProxy.swift; sourceTree = ""; }; - 611E5A10FE4D60AF65A7E3B05C4E5C03 /* ConstraintLayoutGuideDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutGuideDSL.swift; path = Sources/ConstraintLayoutGuideDSL.swift; sourceTree = ""; }; - 614E388060D3B35521A90FB1A50B7E01 /* Kingfisher-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Kingfisher-prefix.pch"; sourceTree = ""; }; - 6150A67385F2551D9AC90B6E0F6C85A0 /* TakeLast.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TakeLast.swift; path = RxSwift/Observables/TakeLast.swift; sourceTree = ""; }; - 615AD1D4C454F5B681174A4A0994738A /* Indicator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Indicator.swift; path = Sources/Views/Indicator.swift; sourceTree = ""; }; - 625300D43DB54866F54F44790A3A98BA /* RefCountDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RefCountDisposable.swift; path = RxSwift/Disposables/RefCountDisposable.swift; sourceTree = ""; }; - 625C1ADC3FB0DA17A0B9DB0693B3DB9D /* ImageTransition.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImageTransition.swift; path = Sources/Image/ImageTransition.swift; sourceTree = ""; }; - 6276AE8F0E37FDC7EAA0930B72656BD1 /* KVORepresentable+CoreGraphics.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "KVORepresentable+CoreGraphics.swift"; path = "RxCocoa/Foundation/KVORepresentable+CoreGraphics.swift"; sourceTree = ""; }; - 634F1310DDDCF2A124C3C0806E578FF2 /* ControlEvent.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ControlEvent.swift; path = RxCocoa/Traits/ControlEvent.swift; sourceTree = ""; }; - 636A098DCA586733FE77B8F29C352F57 /* UICollectionView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UICollectionView+Rx.swift"; path = "RxCocoa/iOS/UICollectionView+Rx.swift"; sourceTree = ""; }; - 646FC131B01C9B399908A95A1A7D6E6D /* Validation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Validation.swift; path = Source/Validation.swift; sourceTree = ""; }; - 64D056D73DACA21B11089A038C892D21 /* InfiniteSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = InfiniteSequence.swift; path = Platform/DataStructures/InfiniteSequence.swift; sourceTree = ""; }; - 667BCCC6EF989ADDFF9F676FD2DEC2C7 /* AnyObserver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnyObserver.swift; path = RxSwift/AnyObserver.swift; sourceTree = ""; }; - 66E22DCD934936B599621C78FEC8ECA2 /* RxPickerViewDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxPickerViewDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxPickerViewDelegateProxy.swift; sourceTree = ""; }; - 6735D933417E3A7792F11221B4948957 /* Sample.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Sample.swift; path = RxSwift/Observables/Sample.swift; sourceTree = ""; }; - 6799C58B8E68EE4D3671B2DBD9DEEA2C /* UIRefreshControl+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIRefreshControl+Rx.swift"; path = "RxCocoa/iOS/UIRefreshControl+Rx.swift"; sourceTree = ""; }; - 679B1D18592F3482375D81C361FDA166 /* Observable+Bind.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+Bind.swift"; path = "RxCocoa/Common/Observable+Bind.swift"; sourceTree = ""; }; - 680980213D606A3C307D5237BC4AC698 /* Lock.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Lock.swift; path = RxSwift/Concurrency/Lock.swift; sourceTree = ""; }; - 686C9ABA5260DC1736D582EB21EB3170 /* UIPickerView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIPickerView+Rx.swift"; path = "RxCocoa/iOS/UIPickerView+Rx.swift"; sourceTree = ""; }; - 68812FCB1CD2C05CA550FBEC188FAAE9 /* Never.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Never.swift; path = RxSwift/Observables/Never.swift; sourceTree = ""; }; - 68B9DFF5147237034DA364C3FA516CCB /* AtomicInt.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AtomicInt.swift; path = Platform/AtomicInt.swift; sourceTree = ""; }; - 6A15CE2114798C7DF1E85D42389A4564 /* ConstraintView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintView.swift; path = Sources/ConstraintView.swift; sourceTree = ""; }; - 6C727459A08E794B0412C703A8824E55 /* _RXObjCRuntime.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _RXObjCRuntime.h; path = RxCocoa/Runtime/include/_RXObjCRuntime.h; sourceTree = ""; }; - 6DA063F5256A347D7D081C46F96F5FA7 /* VirtualTimeScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = VirtualTimeScheduler.swift; path = RxSwift/Schedulers/VirtualTimeScheduler.swift; sourceTree = ""; }; - 6E5D4CAF83FA4976540C145582719E6F /* ObserverType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObserverType.swift; path = RxSwift/ObserverType.swift; sourceTree = ""; }; - 6EA6E623D9042B6F80A15AA124D3DF21 /* Alamofire.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Alamofire.release.xcconfig; sourceTree = ""; }; - 6EB1862A3CC0798C6A24F748B398D9F6 /* UIGestureRecognizer+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIGestureRecognizer+Rx.swift"; path = "RxCocoa/iOS/UIGestureRecognizer+Rx.swift"; sourceTree = ""; }; + 5FE3FB9C44BB4F4290AB98825B32A812 /* DelegateProxyType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DelegateProxyType.swift; path = RxCocoa/Common/DelegateProxyType.swift; sourceTree = ""; }; + 5FF245DC5E5E5115A0CCE928068EB36E /* ImagePrefetcher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImagePrefetcher.swift; path = Sources/Networking/ImagePrefetcher.swift; sourceTree = ""; }; + 5FFCAEA7668B03A52CFF43D566250417 /* AuthenticationChallengeResponsable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AuthenticationChallengeResponsable.swift; path = Sources/Networking/AuthenticationChallengeResponsable.swift; sourceTree = ""; }; + 610A258B4117D041EA311FE0D4F95643 /* RxSwift.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = RxSwift.release.xcconfig; sourceTree = ""; }; + 61121DC00DF38B7FA58EAA2E41C391FA /* SizeExtensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SizeExtensions.swift; path = Sources/Utility/SizeExtensions.swift; sourceTree = ""; }; + 61B416CA589A337C97015EF24DBDD568 /* Kingfisher-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Kingfisher-umbrella.h"; sourceTree = ""; }; + 62179499EA0E80E3C049F023201128C4 /* Generate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Generate.swift; path = RxSwift/Observables/Generate.swift; sourceTree = ""; }; + 627668991D668FCE3BDC0FA5745A7B68 /* SessionDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SessionDelegate.swift; path = Source/SessionDelegate.swift; sourceTree = ""; }; + 63F8D4B22BC804BC0F51DA9BF3E67217 /* RxCollectionViewDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxCollectionViewDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxCollectionViewDelegateProxy.swift; sourceTree = ""; }; + 64197BAC523DD80ED92D1DB069578960 /* Driver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Driver.swift; path = RxCocoa/Traits/Driver/Driver.swift; sourceTree = ""; }; + 642F46CBABE009A91ACCDC5F2125D014 /* UIControl+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIControl+Rx.swift"; path = "RxCocoa/iOS/UIControl+Rx.swift"; sourceTree = ""; }; + 6461452C06B8605ECB001BC346C91C5C /* AnyObserver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnyObserver.swift; path = RxSwift/AnyObserver.swift; sourceTree = ""; }; + 64909AEF0474F7028E482B793D9DC3FA /* RxCocoa-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RxCocoa-prefix.pch"; sourceTree = ""; }; + 65A601CE0F70B8D505A82650819F547D /* ImageDownloaderDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImageDownloaderDelegate.swift; path = Sources/Networking/ImageDownloaderDelegate.swift; sourceTree = ""; }; + 65FCD89C77EE61B45C986D7E1C5980C2 /* Infallible+Concurrency.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Infallible+Concurrency.swift"; path = "RxSwift/Traits/Infallible/Infallible+Concurrency.swift"; sourceTree = ""; }; + 67082E4E25595240E61CF45204D156A0 /* ObserverType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObserverType.swift; path = RxSwift/ObserverType.swift; sourceTree = ""; }; + 676843E43C0FD0072394037646433821 /* LockOwnerType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LockOwnerType.swift; path = RxSwift/Concurrency/LockOwnerType.swift; sourceTree = ""; }; + 67923D634A8B8C86AF9859C7FA400A6D /* PrimitiveSequence+Concurrency.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "PrimitiveSequence+Concurrency.swift"; path = "RxSwift/Traits/PrimitiveSequence/PrimitiveSequence+Concurrency.swift"; sourceTree = ""; }; + 67E658F56497B6F95E92CC171DB4AA46 /* Kingfisher-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Kingfisher-dummy.m"; sourceTree = ""; }; + 67FE9F7C0FBED88E2529038C216FA2ED /* GraphicsContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GraphicsContext.swift; path = Sources/Image/GraphicsContext.swift; sourceTree = ""; }; + 687CE1566B344748F0FE85E51A9BF025 /* Timeout.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Timeout.swift; path = RxSwift/Observables/Timeout.swift; sourceTree = ""; }; + 6A325487EBA872AF6FCFC430EEBC0348 /* _RX.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _RX.h; path = RxCocoa/Runtime/include/_RX.h; sourceTree = ""; }; + 6A3A0F64E54D7EBB69997EB7302B82EC /* Decode.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Decode.swift; path = RxSwift/Observables/Decode.swift; sourceTree = ""; }; + 6A850B5E9CD1C55B9C2DB4337A32340F /* KingfisherManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = KingfisherManager.swift; path = Sources/General/KingfisherManager.swift; sourceTree = ""; }; + 6A8EAF49F33612E2323188B5584E29C9 /* SharedSequence+Concurrency.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "SharedSequence+Concurrency.swift"; path = "RxCocoa/Traits/SharedSequence/SharedSequence+Concurrency.swift"; sourceTree = ""; }; + 6B3DA540E41064641CB12115BD238B3E /* WKWebView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "WKWebView+Rx.swift"; path = "RxCocoa/iOS/WKWebView+Rx.swift"; sourceTree = ""; }; + 6B676FD3CB23152BBFE395F467934BDF /* RefCountDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RefCountDisposable.swift; path = RxSwift/Disposables/RefCountDisposable.swift; sourceTree = ""; }; + 6BAAA12C2EFD1C98E0F0E6A7499F5AC6 /* UITableView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UITableView+Rx.swift"; path = "RxCocoa/iOS/UITableView+Rx.swift"; sourceTree = ""; }; + 6BFCBA19A72971A1A3CFFF7AE0258A40 /* Producer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Producer.swift; path = RxSwift/Observables/Producer.swift; sourceTree = ""; }; + 6DE88099051C05F2B2CC4E30CCA31C04 /* DispatchQueue+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "DispatchQueue+Alamofire.swift"; path = "Source/DispatchQueue+Alamofire.swift"; sourceTree = ""; }; + 6DFAEE7B3DF034686497C0CFA51CBB89 /* DisposeBase.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DisposeBase.swift; path = RxSwift/Disposables/DisposeBase.swift; sourceTree = ""; }; + 6E0A4D7CDFDF8C581CF22EEC2C0FEBA1 /* ReplayRelay.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ReplayRelay.swift; path = RxRelay/ReplayRelay.swift; sourceTree = ""; }; + 6E5D5C6C82C4EA4739C48E870D813AE9 /* Signal+Subscription.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Signal+Subscription.swift"; path = "RxCocoa/Traits/Signal/Signal+Subscription.swift"; sourceTree = ""; }; + 6ECB5F2C1A85E7F241B4C1FD0B488EC2 /* NSTextStorage+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSTextStorage+Rx.swift"; path = "RxCocoa/iOS/NSTextStorage+Rx.swift"; sourceTree = ""; }; 6EDA121F37547E112BB7C1844418AC52 /* Pods-There-iOS-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-There-iOS-frameworks.sh"; sourceTree = ""; }; - 6F7B98B286348B719EB92A7CA8505611 /* Platform.Linux.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Platform.Linux.swift; path = Platform/Platform.Linux.swift; sourceTree = ""; }; - 70B328AA2DA9F6D6BC087C830B9E66DD /* RequestTaskMap.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RequestTaskMap.swift; path = Source/RequestTaskMap.swift; sourceTree = ""; }; - 7137171669548A89FD0947DE2F70CB3C /* Cancelable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cancelable.swift; path = RxSwift/Cancelable.swift; sourceTree = ""; }; - 7290C238EDFE8CBB4693E81249FDDDB7 /* UITabBar+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UITabBar+Rx.swift"; path = "RxCocoa/iOS/UITabBar+Rx.swift"; sourceTree = ""; }; - 73015DD9E55747CB2D91D4CAC3BC8736 /* ObservableConvertibleType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObservableConvertibleType.swift; path = RxSwift/ObservableConvertibleType.swift; sourceTree = ""; }; - 7338F1FF23532AF46F9E8008D26B30FA /* RetryWhen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RetryWhen.swift; path = RxSwift/Observables/RetryWhen.swift; sourceTree = ""; }; - 741D4B1EAE87BA86ABEE652CFED1CC88 /* PublishSubject.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PublishSubject.swift; path = RxSwift/Subjects/PublishSubject.swift; sourceTree = ""; }; - 74248FA6486C900879416076682443CF /* WithUnretained.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = WithUnretained.swift; path = RxSwift/Observables/WithUnretained.swift; sourceTree = ""; }; - 7425AE0B86190A421131348A707C2E31 /* Session.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Session.swift; path = Source/Session.swift; sourceTree = ""; }; - 754528A7F206CABAF3A4B9CCD0B15698 /* KFOptionsSetter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = KFOptionsSetter.swift; path = Sources/General/KFOptionsSetter.swift; sourceTree = ""; }; - 76A5506DB75AED093E33DF6AC438B33B /* Kingfisher.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Kingfisher.debug.xcconfig; sourceTree = ""; }; - 7759672358133367A026CFFF100B7266 /* Disposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Disposable.swift; path = RxSwift/Disposable.swift; sourceTree = ""; }; - 776E05050225F30B14E0071859FB29FF /* KingfisherOptionsInfo.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = KingfisherOptionsInfo.swift; path = Sources/General/KingfisherOptionsInfo.swift; sourceTree = ""; }; - 780E0176A836E546D207CE4483038658 /* RxCocoa-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RxCocoa-umbrella.h"; sourceTree = ""; }; - 785E0F6C5CA46EA33D98898BE6977970 /* RxCocoa.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxCocoa.swift; path = RxCocoa/RxCocoa.swift; sourceTree = ""; }; - 78CD0AE127F2118D1B135D21123B567C /* SchedulerType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SchedulerType.swift; path = RxSwift/SchedulerType.swift; sourceTree = ""; }; - 78E9510A4CA460640E1916026B3FF850 /* ObservableConvertibleType+Driver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ObservableConvertibleType+Driver.swift"; path = "RxCocoa/Traits/Driver/ObservableConvertibleType+Driver.swift"; sourceTree = ""; }; - 799B75660C1716D42B9B3723AD8262EB /* TakeWithPredicate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TakeWithPredicate.swift; path = RxSwift/Observables/TakeWithPredicate.swift; sourceTree = ""; }; - 7A78CCB27913900B58ABE701A103B12C /* VirtualTimeConverterType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = VirtualTimeConverterType.swift; path = RxSwift/Schedulers/VirtualTimeConverterType.swift; sourceTree = ""; }; - 7AA3F9A7A2046368B1234741416AF60B /* ImageCache.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImageCache.swift; path = Sources/Cache/ImageCache.swift; sourceTree = ""; }; - 7ADD7DEFE68C53F7062513961FC78461 /* Debug.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Debug.swift; path = RxSwift/Observables/Debug.swift; sourceTree = ""; }; - 7ADFDFBB232B20320B048DB95C656DCF /* _RX.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _RX.m; path = RxCocoa/Runtime/_RX.m; sourceTree = ""; }; - 7B68448B96DB3E77C5C2170A1871CF92 /* UISwitch+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UISwitch+Rx.swift"; path = "RxCocoa/iOS/UISwitch+Rx.swift"; sourceTree = ""; }; - 7B9F183A99A365571A11F07B47AB4016 /* Alamofire.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Alamofire.modulemap; sourceTree = ""; }; - 7C4370E79AFE88AE5E47F04A6C28FFFB /* CombineLatest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CombineLatest.swift; path = RxSwift/Observables/CombineLatest.swift; sourceTree = ""; }; - 7C47B06900D152D91714F8930D442A94 /* RxPickerViewAdapter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxPickerViewAdapter.swift; path = RxCocoa/iOS/DataSources/RxPickerViewAdapter.swift; sourceTree = ""; }; - 7EE59B9FB330590B231A240FE174AF8A /* RxCollectionViewDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxCollectionViewDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxCollectionViewDelegateProxy.swift; sourceTree = ""; }; - 7EF73088160BC1E445ABA621835F550C /* ItemEvents.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ItemEvents.swift; path = RxCocoa/iOS/Events/ItemEvents.swift; sourceTree = ""; }; - 7F01F2AB167F577C0F70E48C66A6336A /* GraphicsContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GraphicsContext.swift; path = Sources/Image/GraphicsContext.swift; sourceTree = ""; }; - 7F165BD2274B8D44D7378ED421062D22 /* WKWebView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "WKWebView+Rx.swift"; path = "RxCocoa/iOS/WKWebView+Rx.swift"; sourceTree = ""; }; - 7FA62421088663312FD983291693B58E /* ConstraintDirectionalInsets.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintDirectionalInsets.swift; path = Sources/ConstraintDirectionalInsets.swift; sourceTree = ""; }; - 8004121F9765A0B714B62EA3E06E1D3F /* GroupedObservable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GroupedObservable.swift; path = RxSwift/GroupedObservable.swift; sourceTree = ""; }; - 8071655E5A20276BDB7FB6A26CEFC34B /* Alamofire-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Alamofire-prefix.pch"; sourceTree = ""; }; + 6F1992927EEBFAD4FAF98E6C6DB3B08E /* Infallible+CombineLatest+arity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Infallible+CombineLatest+arity.swift"; path = "RxSwift/Traits/Infallible/Infallible+CombineLatest+arity.swift"; sourceTree = ""; }; + 6F1D27503CE135C3D54F987051C45F85 /* FormatIndicatedCacheSerializer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FormatIndicatedCacheSerializer.swift; path = Sources/Cache/FormatIndicatedCacheSerializer.swift; sourceTree = ""; }; + 6FEEE56BABCDEFBA1F584203AAA5128E /* OperationQueue+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "OperationQueue+Alamofire.swift"; path = "Source/OperationQueue+Alamofire.swift"; sourceTree = ""; }; + 7004D13B2CAE14E35250FD29BC7819DA /* MultipartFormData.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MultipartFormData.swift; path = Source/MultipartFormData.swift; sourceTree = ""; }; + 70D596C39E4C1ADDCC517577A15F3109 /* TextInput.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TextInput.swift; path = RxCocoa/Common/TextInput.swift; sourceTree = ""; }; + 70F8A4F6EBCFD76ABC02DECC4A95FE5B /* InfiniteSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = InfiniteSequence.swift; path = Platform/DataStructures/InfiniteSequence.swift; sourceTree = ""; }; + 710A3AA15C7FA4C094BC7278A2983D29 /* Protected.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Protected.swift; path = Source/Protected.swift; sourceTree = ""; }; + 7193FF2965FF0A6665461EBF34A0804E /* ImageBinder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImageBinder.swift; path = Sources/SwiftUI/ImageBinder.swift; sourceTree = ""; }; + 720980564AC80F314307521A850F53A0 /* AlamofireExtended.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AlamofireExtended.swift; path = Source/AlamofireExtended.swift; sourceTree = ""; }; + 72CF58AC977381EC12AD727765D8BB16 /* Infallible+Zip+arity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Infallible+Zip+arity.swift"; path = "RxSwift/Traits/Infallible/Infallible+Zip+arity.swift"; sourceTree = ""; }; + 73D918E505856BB35E3229297A7D48B2 /* Request.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Request.swift; path = Source/Request.swift; sourceTree = ""; }; + 7479A03FF36C7E3B930D167270E76013 /* ObservableConvertibleType+Driver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ObservableConvertibleType+Driver.swift"; path = "RxCocoa/Traits/Driver/ObservableConvertibleType+Driver.swift"; sourceTree = ""; }; + 751E2BCF9EEA072DBFDDA7045C85AD5E /* CompactMap.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CompactMap.swift; path = RxSwift/Observables/CompactMap.swift; sourceTree = ""; }; + 75313700186384D3426C05B50811E476 /* RxCocoaObjCRuntimeError+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "RxCocoaObjCRuntimeError+Extensions.swift"; path = "RxCocoa/Common/RxCocoaObjCRuntimeError+Extensions.swift"; sourceTree = ""; }; + 75A4B469744B03B34A6A5E4C2FD29706 /* SerialDispatchQueueScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SerialDispatchQueueScheduler.swift; path = RxSwift/Schedulers/SerialDispatchQueueScheduler.swift; sourceTree = ""; }; + 7615C57CFFD715E1AC4A3AFBD0F96D1B /* CacheSerializer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CacheSerializer.swift; path = Sources/Cache/CacheSerializer.swift; sourceTree = ""; }; + 78370139B77BD67E754510344118A3DA /* KFOptionsSetter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = KFOptionsSetter.swift; path = Sources/General/KFOptionsSetter.swift; sourceTree = ""; }; + 784EE0ECF0D461F59C8235C6D9DD4235 /* ReplaySubject.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ReplaySubject.swift; path = RxSwift/Subjects/ReplaySubject.swift; sourceTree = ""; }; + 786F0B1BB634D8412F2B0D3E2473BF24 /* Signal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Signal.swift; path = RxCocoa/Traits/Signal/Signal.swift; sourceTree = ""; }; + 791B0942F84333022C4891B489680957 /* ObservableType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObservableType.swift; path = RxSwift/ObservableType.swift; sourceTree = ""; }; + 794E832D7BFC2202E0BAA2D8B4CFD8AA /* RetryWhen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RetryWhen.swift; path = RxSwift/Observables/RetryWhen.swift; sourceTree = ""; }; + 7A0E266DEF48B263F2364D5D311C1712 /* ObserverBase.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObserverBase.swift; path = RxSwift/Observers/ObserverBase.swift; sourceTree = ""; }; + 7A21E937FDD5F3F9AFE145F095C2D51A /* RxSwift-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RxSwift-prefix.pch"; sourceTree = ""; }; + 7A5353ADD126D1B9B0E043853E331B26 /* ImmediateSchedulerType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImmediateSchedulerType.swift; path = RxSwift/ImmediateSchedulerType.swift; sourceTree = ""; }; + 7AC22D38C074164E3D5D9CADA9547C3C /* AnonymousDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnonymousDisposable.swift; path = RxSwift/Disposables/AnonymousDisposable.swift; sourceTree = ""; }; + 7B878A062FF9D6C1461C17F743268255 /* RxCocoa.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = RxCocoa.release.xcconfig; sourceTree = ""; }; + 7DC095A09CB1D5D32E6A66BE456733BC /* RxPickerViewDataSourceType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxPickerViewDataSourceType.swift; path = RxCocoa/iOS/Protocols/RxPickerViewDataSourceType.swift; sourceTree = ""; }; + 7E921FAF2C76D49894FEBEFB951AAA8F /* RxRelay.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = RxRelay.debug.xcconfig; sourceTree = ""; }; + 7EEB96B4D038CEE39530658F6B1BD6A4 /* HistoricalSchedulerTimeConverter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HistoricalSchedulerTimeConverter.swift; path = RxSwift/Schedulers/HistoricalSchedulerTimeConverter.swift; sourceTree = ""; }; + 7F37FCAA847910C20C746E2E93D6E753 /* NSTextAttachment+Kingfisher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSTextAttachment+Kingfisher.swift"; path = "Sources/Extensions/NSTextAttachment+Kingfisher.swift"; sourceTree = ""; }; 809C5FAB588354C9BA37DC3EAB8CB45C /* RxSwift */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = RxSwift; path = RxSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 80C9F35A9CDE73099A44352E6E7A44FB /* PrimitiveSequence+Concurrency.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "PrimitiveSequence+Concurrency.swift"; path = "RxSwift/Traits/PrimitiveSequence/PrimitiveSequence+Concurrency.swift"; sourceTree = ""; }; - 814213E801B02E483CCA8EF36D9F5345 /* KF.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = KF.swift; path = Sources/General/KF.swift; sourceTree = ""; }; - 8149E991589AA0EB06A5CFF14BEBB265 /* Timer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Timer.swift; path = RxSwift/Observables/Timer.swift; sourceTree = ""; }; - 81891398514B0EA5CD3AA9A0445DDEB3 /* Filter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Filter.swift; path = RxSwift/Observables/Filter.swift; sourceTree = ""; }; - 8369E4648F3585DB30ED0C7420B05E86 /* GroupBy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GroupBy.swift; path = RxSwift/Observables/GroupBy.swift; sourceTree = ""; }; - 83AF027C040D1D799583FE3C53D2BA5B /* RxSwift-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "RxSwift-Info.plist"; sourceTree = ""; }; - 83D37690DF4A5E1E936945D336965FED /* Infallible+Zip+arity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Infallible+Zip+arity.swift"; path = "RxSwift/Traits/Infallible/Infallible+Zip+arity.swift"; sourceTree = ""; }; - 83EC7773188568506B64A628A29FD2A7 /* First.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = First.swift; path = RxSwift/Observables/First.swift; sourceTree = ""; }; - 8465C45E9E93FBD759A4B73864D23EC2 /* Merge.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Merge.swift; path = RxSwift/Observables/Merge.swift; sourceTree = ""; }; - 84D3E75D7E621D3A2DF1014FEB8C8357 /* RxMutableBox.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxMutableBox.swift; path = RxSwift/RxMutableBox.swift; sourceTree = ""; }; - 85007FF21F76B4ACF8C66BD5A328F146 /* TailRecursiveSink.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TailRecursiveSink.swift; path = RxSwift/Observers/TailRecursiveSink.swift; sourceTree = ""; }; - 8627535079D650264EE5F518A61C4952 /* RxPickerViewDataSourceType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxPickerViewDataSourceType.swift; path = RxCocoa/iOS/Protocols/RxPickerViewDataSourceType.swift; sourceTree = ""; }; - 86492500A6402F964E075FACAEF01A3E /* RxCollectionViewDataSourceType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxCollectionViewDataSourceType.swift; path = RxCocoa/iOS/Protocols/RxCollectionViewDataSourceType.swift; sourceTree = ""; }; + 80C307B02634BC91FE6BC96843B4368A /* UISearchController+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UISearchController+Rx.swift"; path = "RxCocoa/iOS/UISearchController+Rx.swift"; sourceTree = ""; }; + 810B8913E4DAE38C62A12FD02554631A /* _RXDelegateProxy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _RXDelegateProxy.h; path = RxCocoa/Runtime/include/_RXDelegateProxy.h; sourceTree = ""; }; + 810D5AD632625CD4138ABBAE21581C4E /* Multicast.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Multicast.swift; path = RxSwift/Observables/Multicast.swift; sourceTree = ""; }; + 8185251BFE165EDB58E882098C9E7AFE /* RxCocoa.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = RxCocoa.debug.xcconfig; sourceTree = ""; }; + 81B0246DEF4779FFF060497028EEFE3D /* CachedResponseHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CachedResponseHandler.swift; path = Source/CachedResponseHandler.swift; sourceTree = ""; }; + 82BECDF9E7CCB55C9A04955AA405C2C0 /* Infallible+Bind.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Infallible+Bind.swift"; path = "RxCocoa/Common/Infallible+Bind.swift"; sourceTree = ""; }; + 82FFE850E5116771090CBEEAD0D544BC /* ScheduledDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ScheduledDisposable.swift; path = RxSwift/Disposables/ScheduledDisposable.swift; sourceTree = ""; }; + 8381FF8F3A46CE4DD141C7E1F642DBF8 /* Platform.Linux.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Platform.Linux.swift; path = Platform/Platform.Linux.swift; sourceTree = ""; }; + 844E8E0412CDDAD52312E618E250DCA9 /* RxSwift-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RxSwift-umbrella.h"; sourceTree = ""; }; + 84B8B4921B1F63A6B9959C8B8B4437E9 /* Map.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Map.swift; path = RxSwift/Observables/Map.swift; sourceTree = ""; }; + 855385488D6B001EAA34784CFD4D4072 /* AsMaybe.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AsMaybe.swift; path = RxSwift/Observables/AsMaybe.swift; sourceTree = ""; }; + 85538E67B970F891C2B43A933ADF9F2F /* MainScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MainScheduler.swift; path = RxSwift/Schedulers/MainScheduler.swift; sourceTree = ""; }; + 858053529BB3FEAAD613BA94C8D843D1 /* Switch.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Switch.swift; path = RxSwift/Observables/Switch.swift; sourceTree = ""; }; + 86C211C0E27F0C36D15E2CB6EC897DF2 /* Kingfisher-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Kingfisher-prefix.pch"; sourceTree = ""; }; 872D7EFA572ECEE8EF993C27196E16DD /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk/System/Library/Frameworks/CFNetwork.framework; sourceTree = DEVELOPER_DIR; }; - 8741833E411E6F1B508277982C0AEC9F /* AnonymousObserver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnonymousObserver.swift; path = RxSwift/Observers/AnonymousObserver.swift; sourceTree = ""; }; - 87AB57B81BC7D19E0C97FD4C2D586541 /* Bag.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Bag.swift; path = Platform/DataStructures/Bag.swift; sourceTree = ""; }; - 88120D6186A3327ED8A9731885CAD570 /* ImagePrefetcher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImagePrefetcher.swift; path = Sources/Networking/ImagePrefetcher.swift; sourceTree = ""; }; - 8842DBE29A05C1307DC38FF9AF30743D /* SessionDataTask.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SessionDataTask.swift; path = Sources/Networking/SessionDataTask.swift; sourceTree = ""; }; + 88B1E35A636DC56AD88590FC347B6872 /* RxCollectionViewDataSourceType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxCollectionViewDataSourceType.swift; path = RxCocoa/iOS/Protocols/RxCollectionViewDataSourceType.swift; sourceTree = ""; }; + 89007878AFF8B9F69939C8A73E5D4C9A /* KingfisherError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = KingfisherError.swift; path = Sources/General/KingfisherError.swift; sourceTree = ""; }; 891D8CC5F0CAD8500D573E4EF9CBFD77 /* Pods-There-iOS-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-There-iOS-Info.plist"; sourceTree = ""; }; - 89AD8FFA023EF893E15CF561FF70F38E /* Then.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Then.release.xcconfig; sourceTree = ""; }; - 8A53FF7F4C311F1D3DAB84FA08003A75 /* Then.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Then.debug.xcconfig; sourceTree = ""; }; - 8A8339466C7D009EF826C170E1AD90C9 /* Debounce.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Debounce.swift; path = RxSwift/Observables/Debounce.swift; sourceTree = ""; }; - 8C022E17691D9FA8EA6272CE2A154876 /* ConstraintMakerPrioritizable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerPrioritizable.swift; path = Sources/ConstraintMakerPrioritizable.swift; sourceTree = ""; }; - 8D041A3D4570CBE2784F0EDE829AE171 /* ImageDownloader.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImageDownloader.swift; path = Sources/Networking/ImageDownloader.swift; sourceTree = ""; }; - 8DB0DA36B5B0DC606ECB769BC4325CA3 /* URLConvertible+URLRequestConvertible.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "URLConvertible+URLRequestConvertible.swift"; path = "Source/URLConvertible+URLRequestConvertible.swift"; sourceTree = ""; }; - 8DECC1ACEB9D7D92FBD2B29E14C1E606 /* Disposables.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Disposables.swift; path = RxSwift/Disposables/Disposables.swift; sourceTree = ""; }; - 8DFB8933200B3D6EA07BDD5A6EC3A405 /* UITableView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UITableView+Rx.swift"; path = "RxCocoa/iOS/UITableView+Rx.swift"; sourceTree = ""; }; - 8E978BB81DF1C42184501D238D4F0435 /* NSButton+Kingfisher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSButton+Kingfisher.swift"; path = "Sources/Extensions/NSButton+Kingfisher.swift"; sourceTree = ""; }; - 8FB5398B2B62AAD9A46B5060AE1F2D1B /* Producer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Producer.swift; path = RxSwift/Observables/Producer.swift; sourceTree = ""; }; - 8FDBD87FACB64B79AF66EA5E4853AA26 /* SharedSequence+Concurrency.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "SharedSequence+Concurrency.swift"; path = "RxCocoa/Traits/SharedSequence/SharedSequence+Concurrency.swift"; sourceTree = ""; }; - 904B25049C5C4201D2F3807CEB7EDD18 /* KFImage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = KFImage.swift; path = Sources/SwiftUI/KFImage.swift; sourceTree = ""; }; - 90B8C2D67A7A4AB7243CC7062B49441F /* Driver+Subscription.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Driver+Subscription.swift"; path = "RxCocoa/Traits/Driver/Driver+Subscription.swift"; sourceTree = ""; }; - 915AF1EC159B765FB7AC4A1C0E60CAC0 /* NSTextAttachment+Kingfisher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSTextAttachment+Kingfisher.swift"; path = "Sources/Extensions/NSTextAttachment+Kingfisher.swift"; sourceTree = ""; }; - 9317E4947CA2FE1B5D5999034C09CCA7 /* Then */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Then; path = Then.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 9333AC86CE5E1D168C6206BEEC879F1B /* Then-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Then-dummy.m"; sourceTree = ""; }; - 9389EF9D0336BE90292F36C593B5559D /* CurrentThreadScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CurrentThreadScheduler.swift; path = RxSwift/Schedulers/CurrentThreadScheduler.swift; sourceTree = ""; }; - 9396943C00170C38F62A4F6FBF41252F /* PrimitiveSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PrimitiveSequence.swift; path = RxSwift/Traits/PrimitiveSequence/PrimitiveSequence.swift; sourceTree = ""; }; - 9469355019E77C388D5A169C5422BE47 /* CPListItem+Kingfisher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "CPListItem+Kingfisher.swift"; path = "Sources/Extensions/CPListItem+Kingfisher.swift"; sourceTree = ""; }; - 94C6C4981AF08F7ACC83F059A99ED6B4 /* UIScrollView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIScrollView+Rx.swift"; path = "RxCocoa/iOS/UIScrollView+Rx.swift"; sourceTree = ""; }; - 951DFF7A3C099B7077A9004393955170 /* Range.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Range.swift; path = RxSwift/Observables/Range.swift; sourceTree = ""; }; - 95E6BF7DBFB733E5C2798A197F19DA70 /* SnapKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SnapKit-umbrella.h"; sourceTree = ""; }; - 9682883A9FB9227A30E426B7B22A4AE0 /* Concurrency.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Concurrency.swift; path = Source/Concurrency.swift; sourceTree = ""; }; - 974E848FB013751BB9CC1F6737249D2A /* ConstraintRelation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintRelation.swift; path = Sources/ConstraintRelation.swift; sourceTree = ""; }; - 979486118B3E90C08386079D57962701 /* SnapKit */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = SnapKit; path = SnapKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 97BC78966CBAF868191F7FEFE2AF62DF /* Buffer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Buffer.swift; path = RxSwift/Observables/Buffer.swift; sourceTree = ""; }; - 97E005EA91A106712D975AEE786304C8 /* RedirectHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RedirectHandler.swift; path = Source/RedirectHandler.swift; sourceTree = ""; }; - 9823846C303204754B247A0BDF6ED785 /* Concat.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Concat.swift; path = RxSwift/Observables/Concat.swift; sourceTree = ""; }; - 986A6F35DC6F8A06E3D5D55C5E1C8A8E /* BinaryDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BinaryDisposable.swift; path = RxSwift/Disposables/BinaryDisposable.swift; sourceTree = ""; }; - 9A2F16A1F9F00BDA8F79C00C654CE3CD /* Amb.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Amb.swift; path = RxSwift/Observables/Amb.swift; sourceTree = ""; }; - 9A32C24DECAFE475A9EFCD41472154F1 /* Catch.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Catch.swift; path = RxSwift/Observables/Catch.swift; sourceTree = ""; }; - 9A654525D87DA5ABC310ED77B8FFBCF0 /* NopDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NopDisposable.swift; path = RxSwift/Disposables/NopDisposable.swift; sourceTree = ""; }; + 89BCD4286686A86D46A69B4C6CDC4AD5 /* RxTableViewDataSourceType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTableViewDataSourceType.swift; path = RxCocoa/iOS/Protocols/RxTableViewDataSourceType.swift; sourceTree = ""; }; + 89FA4653A9DB20B46B5EAD969CEFD408 /* SubscriptionDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SubscriptionDisposable.swift; path = RxSwift/Disposables/SubscriptionDisposable.swift; sourceTree = ""; }; + 8B21AA11663F08C11AFD56F31D5E7C63 /* SchedulerType+SharedSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "SchedulerType+SharedSequence.swift"; path = "RxCocoa/Traits/SharedSequence/SchedulerType+SharedSequence.swift"; sourceTree = ""; }; + 8B379EC72D5A50ECFD1AEDAD11E99640 /* Source.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Source.swift; path = Sources/General/ImageSource/Source.swift; sourceTree = ""; }; + 8BA463B68F79F5752D5A5F44F3669765 /* DispatchQueue+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "DispatchQueue+Extensions.swift"; path = "Platform/DispatchQueue+Extensions.swift"; sourceTree = ""; }; + 8BD52EC9995315E6CC0E92D042F1D87C /* VirtualTimeConverterType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = VirtualTimeConverterType.swift; path = RxSwift/Schedulers/VirtualTimeConverterType.swift; sourceTree = ""; }; + 8C9BCEA0730F069CF5481C6CCB8E03F1 /* RxTabBarDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTabBarDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxTabBarDelegateProxy.swift; sourceTree = ""; }; + 901FEA9354851243A07A818AB61A488C /* Alamofire.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Alamofire.release.xcconfig; sourceTree = ""; }; + 90772E31F7E3A4B81492CA5FD46DA28D /* ControlProperty+Driver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ControlProperty+Driver.swift"; path = "RxCocoa/Traits/Driver/ControlProperty+Driver.swift"; sourceTree = ""; }; + 90BD440FA187566E2CC29B6E37F5541A /* KVORepresentable+Swift.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "KVORepresentable+Swift.swift"; path = "RxCocoa/Foundation/KVORepresentable+Swift.swift"; sourceTree = ""; }; + 92E9E919A6553EE8C8A1C1AFC0C9CFBF /* _RX.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _RX.m; path = RxCocoa/Runtime/_RX.m; sourceTree = ""; }; + 93E8C92BFFCA129D6496C3425EB6D522 /* RxTableViewDataSourcePrefetchingProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTableViewDataSourcePrefetchingProxy.swift; path = RxCocoa/iOS/Proxies/RxTableViewDataSourcePrefetchingProxy.swift; sourceTree = ""; }; + 9548E45ECB4EAA92384CA6603FE8136E /* Infallible.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Infallible.swift; path = RxSwift/Traits/Infallible/Infallible.swift; sourceTree = ""; }; + 9673A6B10FF7272A0A8D84BB45970880 /* Placeholder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Placeholder.swift; path = Sources/Image/Placeholder.swift; sourceTree = ""; }; + 96EEAF7699B2B1EB0F28008019EB0076 /* SynchronizedDisposeType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SynchronizedDisposeType.swift; path = RxSwift/Concurrency/SynchronizedDisposeType.swift; sourceTree = ""; }; + 98B2EE21A737EEFCAD2B57F31F0462AE /* Delegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Delegate.swift; path = Sources/Utility/Delegate.swift; sourceTree = ""; }; + 9930D5D82D7D9AF9A4599CC223CFDCAC /* AsyncLock.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AsyncLock.swift; path = RxSwift/Concurrency/AsyncLock.swift; sourceTree = ""; }; + 99766486F734DC131C0AB85BFB5C8AA4 /* RequestTaskMap.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RequestTaskMap.swift; path = Source/RequestTaskMap.swift; sourceTree = ""; }; 9ACF97C20BE9DEF5ECB4580E40B83548 /* Pods-There-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-There-iOS.modulemap"; sourceTree = ""; }; + 9AFA41360863749DB25290EF39470429 /* Event.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Event.swift; path = RxSwift/Event.swift; sourceTree = ""; }; + 9BE8E24C1DD452484E4541B9975ECBDD /* CombineLatest+arity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "CombineLatest+arity.swift"; path = "RxSwift/Observables/CombineLatest+arity.swift"; sourceTree = ""; }; + 9D8B61750C8BAAF46DFBC184F5344B80 /* CallbackQueue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CallbackQueue.swift; path = Sources/Utility/CallbackQueue.swift; sourceTree = ""; }; 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 9DFF83D7C88F282827677F0479B7CAD3 /* RequestModifier.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RequestModifier.swift; path = Sources/Networking/RequestModifier.swift; sourceTree = ""; }; - 9E275F1F8736ABE6226C20BBEF403C2D /* URLRequest+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "URLRequest+Alamofire.swift"; path = "Source/URLRequest+Alamofire.swift"; sourceTree = ""; }; - 9EBC3E93786D1276540C7307B9D45965 /* Source.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Source.swift; path = Sources/General/ImageSource/Source.swift; sourceTree = ""; }; - 9F6EEF790427F231334590DCE3E3CC6B /* Infallible+Concurrency.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Infallible+Concurrency.swift"; path = "RxSwift/Traits/Infallible/Infallible+Concurrency.swift"; sourceTree = ""; }; - 9FC375C4BA7AE0311FBDFE08B6835B15 /* ObservableType+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ObservableType+Extensions.swift"; path = "RxSwift/ObservableType+Extensions.swift"; sourceTree = ""; }; - A0392E7F88A95B61FB8FA05CDD0C277C /* UISegmentedControl+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UISegmentedControl+Rx.swift"; path = "RxCocoa/iOS/UISegmentedControl+Rx.swift"; sourceTree = ""; }; - A075621CE539BDE37EB74B766E920862 /* _RX.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _RX.h; path = RxCocoa/Runtime/include/_RX.h; sourceTree = ""; }; - A19B865FFE6A5B37280CC76EEDCF02B9 /* ScheduledItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ScheduledItem.swift; path = RxSwift/Schedulers/Internal/ScheduledItem.swift; sourceTree = ""; }; - A297C8D784BBC859E9C6201E49BF4E13 /* Zip+Collection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Zip+Collection.swift"; path = "RxSwift/Observables/Zip+Collection.swift"; sourceTree = ""; }; - A2AF511FA4A7880DD68E6DD9D4B5EC65 /* Zip+arity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Zip+arity.swift"; path = "RxSwift/Observables/Zip+arity.swift"; sourceTree = ""; }; - A2EF1EADD760E9AE6DAB52EC5351A20D /* CombineLatest+Collection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "CombineLatest+Collection.swift"; path = "RxSwift/Observables/CombineLatest+Collection.swift"; sourceTree = ""; }; - A42268A3F11ED3D8B1391D86D7DE4D75 /* SkipUntil.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SkipUntil.swift; path = RxSwift/Observables/SkipUntil.swift; sourceTree = ""; }; + 9E6CB787B2F1DFDEB2E1BFC5B67C7786 /* RxRelay-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "RxRelay-Info.plist"; sourceTree = ""; }; + 9EF41FA625AD657C7CFC563F429E9E6D /* Kingfisher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Kingfisher.swift; path = Sources/General/Kingfisher.swift; sourceTree = ""; }; + 9FBAF4D997BFF2667709D54B12CFB958 /* ImageDataProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImageDataProvider.swift; path = Sources/General/ImageSource/ImageDataProvider.swift; sourceTree = ""; }; + A1511419B3E32DBD99D732A5746C02D3 /* NSObject+Rx+KVORepresentable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSObject+Rx+KVORepresentable.swift"; path = "RxCocoa/Foundation/NSObject+Rx+KVORepresentable.swift"; sourceTree = ""; }; + A20C9D95E7E31090FCF766166CEE8348 /* Sink.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Sink.swift; path = RxSwift/Observables/Sink.swift; sourceTree = ""; }; + A2A59D17A057BBA460ABED890B54FD19 /* AsyncSubject.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AsyncSubject.swift; path = RxSwift/Subjects/AsyncSubject.swift; sourceTree = ""; }; + A2ADB1A654FB2A0BF877079A9CBA6AB0 /* UIDatePicker+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIDatePicker+Rx.swift"; path = "RxCocoa/iOS/UIDatePicker+Rx.swift"; sourceTree = ""; }; + A42414508823C15D7CBBBDBF234E6633 /* KFAnimatedImage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = KFAnimatedImage.swift; path = Sources/SwiftUI/KFAnimatedImage.swift; sourceTree = ""; }; A43C36A637182826421A0B79C4C58FFA /* Pods-There-iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-There-iOS.release.xcconfig"; sourceTree = ""; }; - A4558050D670F650FBA7E8380E5DBA7E /* Using.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Using.swift; path = RxSwift/Observables/Using.swift; sourceTree = ""; }; - A466A6CE62C2884AA095CAB4E9A597D8 /* RxRelay-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RxRelay-umbrella.h"; sourceTree = ""; }; - A4BF3FBDDC39414EB54005B5C1977CB0 /* Kingfisher-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Kingfisher-dummy.m"; sourceTree = ""; }; - A604F918712336CD1923A3E79BD132D2 /* RxTextStorageDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTextStorageDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxTextStorageDelegateProxy.swift; sourceTree = ""; }; - A6625A8BE682668A570694D038A257D5 /* Reduce.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Reduce.swift; path = RxSwift/Observables/Reduce.swift; sourceTree = ""; }; - A664631DAB917B89486AD2B6AEE385C7 /* EventMonitor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EventMonitor.swift; path = Source/EventMonitor.swift; sourceTree = ""; }; - A6AC7747348A91C3139DDCE09EB120AB /* GIFAnimatedImage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GIFAnimatedImage.swift; path = Sources/Image/GIFAnimatedImage.swift; sourceTree = ""; }; - A887DEF81D5E15FF990179C08B1AC359 /* URLEncodedFormEncoder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = URLEncodedFormEncoder.swift; path = Source/URLEncodedFormEncoder.swift; sourceTree = ""; }; - A90EA43B988B46C5459D233BA833F713 /* Errors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Errors.swift; path = RxSwift/Errors.swift; sourceTree = ""; }; - A97B289458AC803EDFEBD1E061C3931A /* SubscriptionDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SubscriptionDisposable.swift; path = RxSwift/Disposables/SubscriptionDisposable.swift; sourceTree = ""; }; - AA1F87BA0742A1EA0A40E235FE971C67 /* StringEncoding+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "StringEncoding+Alamofire.swift"; path = "Source/StringEncoding+Alamofire.swift"; sourceTree = ""; }; - AAC0A5EA734A3D3562F6A3C68DA95FCD /* UIDatePicker+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIDatePicker+Rx.swift"; path = "RxCocoa/iOS/UIDatePicker+Rx.swift"; sourceTree = ""; }; - AAE089A2DAF6928489C0F032292A97A1 /* ConstraintMakerFinalizable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerFinalizable.swift; path = Sources/ConstraintMakerFinalizable.swift; sourceTree = ""; }; - AB60AFB20DFE05A6E5F37FF915441C1B /* ControlEvent+Driver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ControlEvent+Driver.swift"; path = "RxCocoa/Traits/Driver/ControlEvent+Driver.swift"; sourceTree = ""; }; - ABF9455485697E9BC09FC01DDC12B9C9 /* Timeout.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Timeout.swift; path = RxSwift/Observables/Timeout.swift; sourceTree = ""; }; - AC2D976E804DF6781BDF44DEDFFED8D1 /* SingleAssignmentDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SingleAssignmentDisposable.swift; path = RxSwift/Disposables/SingleAssignmentDisposable.swift; sourceTree = ""; }; - AC43E89136D5320B447049628E1C8544 /* PriorityQueue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PriorityQueue.swift; path = Platform/DataStructures/PriorityQueue.swift; sourceTree = ""; }; - AC750FE624FE723D48BF5FC95ED42684 /* URLSession+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "URLSession+Rx.swift"; path = "RxCocoa/Foundation/URLSession+Rx.swift"; sourceTree = ""; }; - ACFFEF9DB2D957EA2190E7217D515F43 /* Event.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Event.swift; path = RxSwift/Event.swift; sourceTree = ""; }; - AD0931A895BB76990F9827F0A182B6DB /* RxTableViewDataSourceType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTableViewDataSourceType.swift; path = RxCocoa/iOS/Protocols/RxTableViewDataSourceType.swift; sourceTree = ""; }; - AD0EC135ECC1602F717B3C6A0FFDD706 /* ImageDataProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImageDataProvider.swift; path = Sources/General/ImageSource/ImageDataProvider.swift; sourceTree = ""; }; - AD3E366E6DE937B4024ADA5EE48138EB /* Maybe.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Maybe.swift; path = RxSwift/Traits/PrimitiveSequence/Maybe.swift; sourceTree = ""; }; - AD6A756A303F3D840680A55EE3996D04 /* RxCollectionViewDataSourceProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxCollectionViewDataSourceProxy.swift; path = RxCocoa/iOS/Proxies/RxCollectionViewDataSourceProxy.swift; sourceTree = ""; }; - AE61255BFA43D6938F0666739E260F44 /* ImageBinder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImageBinder.swift; path = Sources/SwiftUI/ImageBinder.swift; sourceTree = ""; }; - B09298A516E7FFD7FD5B611FA05669FE /* Runtime.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Runtime.swift; path = Sources/Utility/Runtime.swift; sourceTree = ""; }; - B0A2F406CF49BBA3F6A9915F18143063 /* UITextField+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UITextField+Rx.swift"; path = "RxCocoa/iOS/UITextField+Rx.swift"; sourceTree = ""; }; - B0C98D8984E5F9E6BE14A7A557660E41 /* String+MD5.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+MD5.swift"; path = "Sources/Utility/String+MD5.swift"; sourceTree = ""; }; - B0EF334BF437A3AAE88D02BC04BDC3F7 /* Alamofire-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Alamofire-umbrella.h"; sourceTree = ""; }; - B19292ABC27D8557E07D97751DF088CB /* KVORepresentable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = KVORepresentable.swift; path = RxCocoa/Foundation/KVORepresentable.swift; sourceTree = ""; }; - B38AC9CD131E9D354B7866DF3989A835 /* RxTextViewDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTextViewDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxTextViewDelegateProxy.swift; sourceTree = ""; }; - B38BE2295FE2397D41A09552883D41E2 /* Signal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Signal.swift; path = RxCocoa/Traits/Signal/Signal.swift; sourceTree = ""; }; - B3A8466F726C0577EE51ED0D0CB2FA2E /* UIApplication+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIApplication+Rx.swift"; path = "RxCocoa/iOS/UIApplication+Rx.swift"; sourceTree = ""; }; - B46D92C74028BCB0D4FFE2AB83E6CF3B /* Typealiases.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Typealiases.swift; path = Sources/Typealiases.swift; sourceTree = ""; }; - B5586AFC8EB75A3EE3A83307B450CFCF /* Observable+Bind.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+Bind.swift"; path = "RxRelay/Observable+Bind.swift"; sourceTree = ""; }; - B5FAFD42F7D43384C6B200D149DD1F3B /* ImmediateSchedulerType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImmediateSchedulerType.swift; path = RxSwift/ImmediateSchedulerType.swift; sourceTree = ""; }; - B6D4F3D5917C20DD8E4D57B04803FB62 /* Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Alamofire.swift; path = Source/Alamofire.swift; sourceTree = ""; }; - B70C3F887C9E902C702236E0327D4F38 /* Kingfisher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Kingfisher.swift; path = Sources/General/Kingfisher.swift; sourceTree = ""; }; - B742465553B4966E5817298E541F34F4 /* ConstraintMakerEditable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerEditable.swift; path = Sources/ConstraintMakerEditable.swift; sourceTree = ""; }; - B74E363CCB450588B74F29B510F59EA3 /* AuthenticationChallengeResponsable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AuthenticationChallengeResponsable.swift; path = Sources/Networking/AuthenticationChallengeResponsable.swift; sourceTree = ""; }; - B7D99A5F81D17E615E68BE3B01918E8E /* Just.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Just.swift; path = RxSwift/Observables/Just.swift; sourceTree = ""; }; - B7F39213C0178184C8FE1F396BC6FA23 /* Window.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Window.swift; path = RxSwift/Observables/Window.swift; sourceTree = ""; }; - B8B0DDFD1A057CBEFE8A57D9CD2E287B /* MultipartUpload.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MultipartUpload.swift; path = Source/MultipartUpload.swift; sourceTree = ""; }; - B8B1B004489EF0A3C00FC654FBC3F2C1 /* WKInterfaceImage+Kingfisher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "WKInterfaceImage+Kingfisher.swift"; path = "Sources/Extensions/WKInterfaceImage+Kingfisher.swift"; sourceTree = ""; }; - B9490D032196631216F57127B64B19BA /* SerialDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SerialDisposable.swift; path = RxSwift/Disposables/SerialDisposable.swift; sourceTree = ""; }; - B993F56F31C725E1E5CA25413AAB820B /* ObservableType+PrimitiveSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ObservableType+PrimitiveSequence.swift"; path = "RxSwift/Traits/PrimitiveSequence/ObservableType+PrimitiveSequence.swift"; sourceTree = ""; }; - BA1FCB66D9CBF439A7D5EA6F638AA679 /* Utils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Utils.swift; path = RxRelay/Utils.swift; sourceTree = ""; }; - BA7374E08BD77EC7B39B3539474F0A32 /* _RXKVOObserver.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _RXKVOObserver.h; path = RxCocoa/Runtime/include/_RXKVOObserver.h; sourceTree = ""; }; - BAF16F6D75065670EFBF2F15055AB81B /* RxSwift-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RxSwift-umbrella.h"; sourceTree = ""; }; - BAF952156F864DE8F911AB3FAD2AFB31 /* Then.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Then.swift; path = Sources/Then/Then.swift; sourceTree = ""; }; - BBA7D19A35E045E7A572B547EFDB0933 /* Debugging.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Debugging.swift; path = Sources/Debugging.swift; sourceTree = ""; }; + A44DD914888EB1E478F7706FC636220E /* Deferred.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Deferred.swift; path = RxSwift/Observables/Deferred.swift; sourceTree = ""; }; + A5B25A55985A666D3D86D9FB76E22487 /* URLRequest+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "URLRequest+Alamofire.swift"; path = "Source/URLRequest+Alamofire.swift"; sourceTree = ""; }; + A5CB0926D59A88DBB7ED24512C52F669 /* Runtime.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Runtime.swift; path = Sources/Utility/Runtime.swift; sourceTree = ""; }; + A64A6001FFE9EABDCCE022D89F339336 /* Timer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Timer.swift; path = RxSwift/Observables/Timer.swift; sourceTree = ""; }; + A7262E1B9BBFFBD9E0D2418C8513DFB6 /* TakeLast.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TakeLast.swift; path = RxSwift/Observables/TakeLast.swift; sourceTree = ""; }; + A753CF5BF33F9243A14FAF0AF2923C94 /* Response.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Response.swift; path = Source/Response.swift; sourceTree = ""; }; + A78FD69F1003B5D6C296A1952855EFF8 /* BehaviorRelay+Driver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "BehaviorRelay+Driver.swift"; path = "RxCocoa/Traits/Driver/BehaviorRelay+Driver.swift"; sourceTree = ""; }; + A9166A55504E2F4CF90E0A141C684609 /* SingleAssignmentDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SingleAssignmentDisposable.swift; path = RxSwift/Disposables/SingleAssignmentDisposable.swift; sourceTree = ""; }; + A93504BC876FAFEF8FE3285505020CE3 /* ImageProgressive.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImageProgressive.swift; path = Sources/Image/ImageProgressive.swift; sourceTree = ""; }; + AAA0047936D84B9E020F164BE4137F33 /* Materialize.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Materialize.swift; path = RxSwift/Observables/Materialize.swift; sourceTree = ""; }; + AAB26A201E739AE3C272987EA5C36100 /* ImageFormat.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImageFormat.swift; path = Sources/Image/ImageFormat.swift; sourceTree = ""; }; + ABEA662FBC8AEEA7DD1E8CEA9B05DC13 /* RxMutableBox.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxMutableBox.swift; path = RxSwift/RxMutableBox.swift; sourceTree = ""; }; + AC5C08E887C8964A0180C1B98C0537E4 /* Reduce.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Reduce.swift; path = RxSwift/Observables/Reduce.swift; sourceTree = ""; }; + AC8527BAB8852F85E2F7683DBF5CC2B3 /* RxCocoaRuntime.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RxCocoaRuntime.h; path = RxCocoa/Runtime/include/RxCocoaRuntime.h; sourceTree = ""; }; + ACAAED49289E38E4347A0DA89EB9D124 /* SingleAsync.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SingleAsync.swift; path = RxSwift/Observables/SingleAsync.swift; sourceTree = ""; }; + ADDAE9559CF238A8C186179117F5FEAC /* _RXKVOObserver.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _RXKVOObserver.m; path = RxCocoa/Runtime/_RXKVOObserver.m; sourceTree = ""; }; + AF06CFE909D53A45328924B0E25B641A /* SwiftSupport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SwiftSupport.swift; path = RxSwift/SwiftSupport/SwiftSupport.swift; sourceTree = ""; }; + AF4FBD4F84F3F34D3610ED29EBD65C3F /* Resource.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Resource.swift; path = Sources/General/ImageSource/Resource.swift; sourceTree = ""; }; + AF649DDB1726547073CACDE64430EB6E /* SharedSequence+Operators.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "SharedSequence+Operators.swift"; path = "RxCocoa/Traits/SharedSequence/SharedSequence+Operators.swift"; sourceTree = ""; }; + AFCF620854B55B1F2796E51B4ED5ACA5 /* RxWKNavigationDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxWKNavigationDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxWKNavigationDelegateProxy.swift; sourceTree = ""; }; + B079B1E822C96FC547559897FBC5CC64 /* UIRefreshControl+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIRefreshControl+Rx.swift"; path = "RxCocoa/iOS/UIRefreshControl+Rx.swift"; sourceTree = ""; }; + B193967E6D565C43AC67933DDCA85E58 /* Filter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Filter.swift; path = RxSwift/Observables/Filter.swift; sourceTree = ""; }; + B1979BC71B8388CEF2E410D1F4693EB8 /* ServerTrustEvaluation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ServerTrustEvaluation.swift; path = Source/ServerTrustEvaluation.swift; sourceTree = ""; }; + B35D3839DCED2BC6C6ADE371B4C6EB17 /* NSObject+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSObject+Rx.swift"; path = "RxCocoa/Foundation/NSObject+Rx.swift"; sourceTree = ""; }; + B3BDAE522856DB9BAAE57DD3196522C8 /* UIStepper+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIStepper+Rx.swift"; path = "RxCocoa/iOS/UIStepper+Rx.swift"; sourceTree = ""; }; + B3E7DAFFBBECFBA919171DD5E26B7B72 /* RxPickerViewDataSourceProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxPickerViewDataSourceProxy.swift; path = RxCocoa/iOS/Proxies/RxPickerViewDataSourceProxy.swift; sourceTree = ""; }; + B404FE3FAE0B4E88F3925443DFB7B036 /* KVORepresentable+CoreGraphics.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "KVORepresentable+CoreGraphics.swift"; path = "RxCocoa/Foundation/KVORepresentable+CoreGraphics.swift"; sourceTree = ""; }; + B41285A8512647DBCF32080742F7CD91 /* First.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = First.swift; path = RxSwift/Observables/First.swift; sourceTree = ""; }; + B52C6E7CC90A14F22C09AFD1A3D63684 /* RxNavigationControllerDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxNavigationControllerDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxNavigationControllerDelegateProxy.swift; sourceTree = ""; }; + B6221D8E557B616FA8C9D3C67082F021 /* Concat.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Concat.swift; path = RxSwift/Observables/Concat.swift; sourceTree = ""; }; + B799A42CD7515AD6ED2B59728A9B0D92 /* GroupedObservable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GroupedObservable.swift; path = RxSwift/GroupedObservable.swift; sourceTree = ""; }; + B7B4259327F0F2C937C9610BC90EAD0F /* DispatchQueue+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "DispatchQueue+Extensions.swift"; path = "Platform/DispatchQueue+Extensions.swift"; sourceTree = ""; }; + B8521D10962CD6544E8B053AEDDDD18E /* NSButton+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSButton+Rx.swift"; path = "RxCocoa/macOS/NSButton+Rx.swift"; sourceTree = ""; }; + B867489CAA9A158B6D49D6607E5D0443 /* TVMonogramView+Kingfisher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "TVMonogramView+Kingfisher.swift"; path = "Sources/Extensions/TVMonogramView+Kingfisher.swift"; sourceTree = ""; }; + B8C23A27738B5975E26D1B029FF66155 /* Notifications.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Notifications.swift; path = Source/Notifications.swift; sourceTree = ""; }; + B8E72EA3F69A37BA5AA8DBB27B22C0A8 /* Kingfisher.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Kingfisher.debug.xcconfig; sourceTree = ""; }; + B9C5DAE538E29783165FF88D9D443E4F /* Sample.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Sample.swift; path = RxSwift/Observables/Sample.swift; sourceTree = ""; }; + BA6BD8892100449EB57FAE6110BA16A2 /* ObservableConvertibleType+Signal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ObservableConvertibleType+Signal.swift"; path = "RxCocoa/Traits/Signal/ObservableConvertibleType+Signal.swift"; sourceTree = ""; }; + BB157346ED77EC2F45A6E516EA702D03 /* NSControl+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSControl+Rx.swift"; path = "RxCocoa/macOS/NSControl+Rx.swift"; sourceTree = ""; }; + BBBD45296653BE240DD3C8B696A020B8 /* NotificationCenter+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NotificationCenter+Rx.swift"; path = "RxCocoa/Foundation/NotificationCenter+Rx.swift"; sourceTree = ""; }; + BBE929FE803089E6ABF951E95EB1B206 /* Storage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Storage.swift; path = Sources/Cache/Storage.swift; sourceTree = ""; }; + BC3A85F3F8DE421C7AC392CAA457528A /* GroupBy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GroupBy.swift; path = RxSwift/Observables/GroupBy.swift; sourceTree = ""; }; BC432FD48A5932251F1CAFBC4BF74894 /* RxCocoa */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = RxCocoa; path = RxCocoa.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - BC4C1601FF283EA011AFABC45324A68E /* RetryStrategy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RetryStrategy.swift; path = Sources/Networking/RetryStrategy.swift; sourceTree = ""; }; + BCCE83C628D5D1C1C3C3322675C5E351 /* RxCocoa.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = RxCocoa.modulemap; sourceTree = ""; }; BCDAD6C2E4C711FE54EB56DCD3B0D557 /* Pods-There-iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-There-iOS.debug.xcconfig"; sourceTree = ""; }; - BD553A4B55468BF02042D0573ADD48EC /* HistoricalScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HistoricalScheduler.swift; path = RxSwift/Schedulers/HistoricalScheduler.swift; sourceTree = ""; }; - BDC531A0264E9B91B65C9F12019C5A99 /* InfiniteSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = InfiniteSequence.swift; path = Platform/DataStructures/InfiniteSequence.swift; sourceTree = ""; }; - BE1A28E5AD7EF6372521BE1A4126DE79 /* ImageProcessor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImageProcessor.swift; path = Sources/Image/ImageProcessor.swift; sourceTree = ""; }; - BE2463CF4E92F3210A0276FE9BEB525E /* ConcurrentMainScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConcurrentMainScheduler.swift; path = RxSwift/Schedulers/ConcurrentMainScheduler.swift; sourceTree = ""; }; - BEE8793F79C324F81E990D85B0DD7181 /* KFImageOptions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = KFImageOptions.swift; path = Sources/SwiftUI/KFImageOptions.swift; sourceTree = ""; }; - BFB9A6B81B14F3C64035C2DB48F52776 /* ConstraintMakerExtendable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerExtendable.swift; path = Sources/ConstraintMakerExtendable.swift; sourceTree = ""; }; - C081583615AA896E03775390E21AE5F8 /* RecursiveLock.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RecursiveLock.swift; path = Platform/RecursiveLock.swift; sourceTree = ""; }; - C09926B777B66C9766AF01F6F265E06F /* DelaySubscription.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DelaySubscription.swift; path = RxSwift/Observables/DelaySubscription.swift; sourceTree = ""; }; - C1681861BBDA70E403E80CA49A445375 /* RxNavigationControllerDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxNavigationControllerDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxNavigationControllerDelegateProxy.swift; sourceTree = ""; }; - C24C02808C9A44C68841D6A26FC904F5 /* Storage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Storage.swift; path = Sources/Cache/Storage.swift; sourceTree = ""; }; - C2D8EF56F3733D820BC6C13F9D5EA1BD /* SnapKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SnapKit-dummy.m"; sourceTree = ""; }; - C369ED58693BF37EDA21C4F4D033C77F /* ImageDataProcessor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImageDataProcessor.swift; path = Sources/Networking/ImageDataProcessor.swift; sourceTree = ""; }; - C3B1FC3A97FC25696485D0B9F5CA47E0 /* RxCollectionViewReactiveArrayDataSource.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxCollectionViewReactiveArrayDataSource.swift; path = RxCocoa/iOS/DataSources/RxCollectionViewReactiveArrayDataSource.swift; sourceTree = ""; }; - C3CC5D0B21A15FD96C484088E9FCBF9C /* UITabBarController+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UITabBarController+Rx.swift"; path = "RxCocoa/iOS/UITabBarController+Rx.swift"; sourceTree = ""; }; + BD01D8893628A54D2A0C318828649E85 /* RxSwift.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = RxSwift.modulemap; sourceTree = ""; }; + BDADCE362410B693329FBFA129EF5FC2 /* SubjectType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SubjectType.swift; path = RxSwift/Subjects/SubjectType.swift; sourceTree = ""; }; + BDEB83C8FAEFE3CC63F9F814DA3D8341 /* RequestInterceptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RequestInterceptor.swift; path = Source/RequestInterceptor.swift; sourceTree = ""; }; + BE2002B01BE646FE909AF9A67B0D5296 /* URLConvertible+URLRequestConvertible.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "URLConvertible+URLRequestConvertible.swift"; path = "Source/URLConvertible+URLRequestConvertible.swift"; sourceTree = ""; }; + BEF1AD4B22CBE0B02873602A6ABD9601 /* CurrentThreadScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CurrentThreadScheduler.swift; path = RxSwift/Schedulers/CurrentThreadScheduler.swift; sourceTree = ""; }; + C04709767D68410FBE4F4622835C586C /* Maybe.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Maybe.swift; path = RxSwift/Traits/PrimitiveSequence/Maybe.swift; sourceTree = ""; }; + C0ABFA4A6E9DB62E603FDAD7A60B1B76 /* InfiniteSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = InfiniteSequence.swift; path = Platform/DataStructures/InfiniteSequence.swift; sourceTree = ""; }; + C0CFB8E28B87C361F44D3415CBD14B47 /* ControlProperty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ControlProperty.swift; path = RxCocoa/Traits/ControlProperty.swift; sourceTree = ""; }; + C26BB9B8E14C64D2F368202A14ACB93C /* URLSession+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "URLSession+Rx.swift"; path = "RxCocoa/Foundation/URLSession+Rx.swift"; sourceTree = ""; }; + C39605861A75B23A511D075AF23546D2 /* AnimatedImageView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnimatedImageView.swift; path = Sources/Views/AnimatedImageView.swift; sourceTree = ""; }; + C3E9BD1B82DC1C63D878259269A75296 /* SynchronizedOnType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SynchronizedOnType.swift; path = RxSwift/Concurrency/SynchronizedOnType.swift; sourceTree = ""; }; + C3EA13BB3D536D4E84858D3646B8014E /* Concurrency.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Concurrency.swift; path = Source/Concurrency.swift; sourceTree = ""; }; C3F44C782D64D7EB20B61CE3844EBFAD /* Kingfisher */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Kingfisher; path = Kingfisher.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - C49A13838C81BACC20199E208538B3B8 /* NSView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSView+Rx.swift"; path = "RxCocoa/macOS/NSView+Rx.swift"; sourceTree = ""; }; - C5215357429D8EA204EE12B191514F93 /* ConstraintPriorityTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintPriorityTarget.swift; path = Sources/ConstraintPriorityTarget.swift; sourceTree = ""; }; - C5B410F4A0BE420D44C466F881C99D2C /* DispatchQueue+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "DispatchQueue+Extensions.swift"; path = "Platform/DispatchQueue+Extensions.swift"; sourceTree = ""; }; - C60DB64107153016B903308B69078B33 /* RecursiveScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RecursiveScheduler.swift; path = RxSwift/Schedulers/RecursiveScheduler.swift; sourceTree = ""; }; - C6505A3DE2E8C09D3D2D4D2909C04CE3 /* RxRelay.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = RxRelay.modulemap; sourceTree = ""; }; - C67A73189CB386B8D58D186B82E98684 /* SynchronizedOnType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SynchronizedOnType.swift; path = RxSwift/Concurrency/SynchronizedOnType.swift; sourceTree = ""; }; - C6FF74D43F87D779AE2282429C5B0B48 /* Enumerated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Enumerated.swift; path = RxSwift/Observables/Enumerated.swift; sourceTree = ""; }; - C7AA88545E06E602F1F3E8860FB21206 /* UITextView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UITextView+Rx.swift"; path = "RxCocoa/iOS/UITextView+Rx.swift"; sourceTree = ""; }; - C7C2EDA699FA5A0E181E5ED70C828D88 /* ConstraintInsetTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintInsetTarget.swift; path = Sources/ConstraintInsetTarget.swift; sourceTree = ""; }; - C7DF83D544C4549F1E2EB2470DFB510A /* ShareReplayScope.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ShareReplayScope.swift; path = RxSwift/Observables/ShareReplayScope.swift; sourceTree = ""; }; - C84D5CEF7870B54A1135523F0884A956 /* ControlProperty+Driver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ControlProperty+Driver.swift"; path = "RxCocoa/Traits/Driver/ControlProperty+Driver.swift"; sourceTree = ""; }; - C8BE7761AA7EDF740E5A15DE82632D39 /* Bag+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Bag+Rx.swift"; path = "RxSwift/Extensions/Bag+Rx.swift"; sourceTree = ""; }; - C8C98E8B29EB7013228E6AA772DF5A5E /* RxRelay.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = RxRelay.release.xcconfig; sourceTree = ""; }; - C8CBA518FC6A4193466224E12B56A38D /* ImageView+Kingfisher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ImageView+Kingfisher.swift"; path = "Sources/Extensions/ImageView+Kingfisher.swift"; sourceTree = ""; }; - C8DAF2426DACB63AF02746FF53F2D89D /* DefaultIfEmpty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DefaultIfEmpty.swift; path = RxSwift/Observables/DefaultIfEmpty.swift; sourceTree = ""; }; - C8FA96DF00CC51AFC9A95824FB710B28 /* RxScrollViewDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxScrollViewDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxScrollViewDelegateProxy.swift; sourceTree = ""; }; - C9DED1B66A3921B2642A321CF400F7CD /* RxCocoa-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "RxCocoa-Info.plist"; sourceTree = ""; }; - C9EE1581D88A8DC5A6B4BAEBED387C17 /* SubscribeOn.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SubscribeOn.swift; path = RxSwift/Observables/SubscribeOn.swift; sourceTree = ""; }; - C9F1DD2F60379679B5B17A76B1696616 /* Deferred.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Deferred.swift; path = RxSwift/Observables/Deferred.swift; sourceTree = ""; }; - CA5FA378AAE886DA3AC9C16D0DD6BE0C /* Protected.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Protected.swift; path = Source/Protected.swift; sourceTree = ""; }; - CAE75034A0C45C468312CBBB58D7B435 /* SubjectType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SubjectType.swift; path = RxSwift/Subjects/SubjectType.swift; sourceTree = ""; }; - CAEA2AB218D7E204D19861EC84B7407E /* ResponseSerialization.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ResponseSerialization.swift; path = Source/ResponseSerialization.swift; sourceTree = ""; }; - CC6211ABFF0E7C22F06CE29BE02CA652 /* RxCocoa.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RxCocoa.h; path = RxCocoa/RxCocoa.h; sourceTree = ""; }; - CC959D963C45093881E59A7D62D07FC1 /* NSTextView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSTextView+Rx.swift"; path = "RxCocoa/macOS/NSTextView+Rx.swift"; sourceTree = ""; }; - CDCBCE2E3BA3768C414D11C5495C08C9 /* 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 = ""; }; - CDE51B036B3A4486C9241941317E197C /* Sequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Sequence.swift; path = RxSwift/Observables/Sequence.swift; sourceTree = ""; }; + C40172426AA49C960570533F04EDAC56 /* ObservableType+PrimitiveSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ObservableType+PrimitiveSequence.swift"; path = "RxSwift/Traits/PrimitiveSequence/ObservableType+PrimitiveSequence.swift"; sourceTree = ""; }; + C4ACD3E232CF8F56E3F4BC6B1F9C5654 /* NSSlider+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSSlider+Rx.swift"; path = "RxCocoa/macOS/NSSlider+Rx.swift"; sourceTree = ""; }; + C4D2107F7E7CA901BEC39C8808706FCD /* Scan.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Scan.swift; path = RxSwift/Observables/Scan.swift; sourceTree = ""; }; + C5AC26A75A4DCF2DF62120375C46227A /* PublishRelay.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PublishRelay.swift; path = RxRelay/PublishRelay.swift; sourceTree = ""; }; + C605EFAD94AFBD0163C0861BD8B0CA3B /* RxTextViewDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTextViewDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxTextViewDelegateProxy.swift; sourceTree = ""; }; + C658A0800D28F71B188746BCFF8FE9BD /* RxRelay-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "RxRelay-dummy.m"; sourceTree = ""; }; + C70A8D9B9E4A6A019C843F4A46DC7FFC /* ImageDrawing.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImageDrawing.swift; path = Sources/Image/ImageDrawing.swift; sourceTree = ""; }; + C75461932EFF007E374BCAC3E4DD0959 /* Completable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Completable.swift; path = RxSwift/Traits/PrimitiveSequence/Completable.swift; sourceTree = ""; }; + C857A07EDAC98C5773AD8FF4CA534A81 /* BehaviorRelay.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BehaviorRelay.swift; path = RxRelay/BehaviorRelay.swift; sourceTree = ""; }; + C8A18DD4ACC119C70D18792585C5F434 /* ShareReplayScope.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ShareReplayScope.swift; path = RxSwift/Observables/ShareReplayScope.swift; sourceTree = ""; }; + C8DBF0411FF8D792A6933F889E443410 /* RxPickerViewDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxPickerViewDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxPickerViewDelegateProxy.swift; sourceTree = ""; }; + C985A3EBABEEB27E181011B6B8A5B365 /* PriorityQueue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PriorityQueue.swift; path = Platform/DataStructures/PriorityQueue.swift; sourceTree = ""; }; + CA4D8AC3183B18DBC49FB0A82ABD9E2A /* UISearchBar+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UISearchBar+Rx.swift"; path = "RxCocoa/iOS/UISearchBar+Rx.swift"; sourceTree = ""; }; + CB74E15B8A3958FCCF43DC6C12D685D0 /* UIBarButtonItem+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIBarButtonItem+Rx.swift"; path = "RxCocoa/iOS/UIBarButtonItem+Rx.swift"; sourceTree = ""; }; + CB86FA52E8E02183238787010CD24DE7 /* SessionDataTask.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SessionDataTask.swift; path = Sources/Networking/SessionDataTask.swift; sourceTree = ""; }; + CD4D22DB86291DC9F571CA3995969FD6 /* ResponseSerialization.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ResponseSerialization.swift; path = Source/ResponseSerialization.swift; sourceTree = ""; }; + CD8066018BC59F052DCFE63931ECAC04 /* Driver+Subscription.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Driver+Subscription.swift"; path = "RxCocoa/Traits/Driver/Driver+Subscription.swift"; sourceTree = ""; }; + CDBEA15881F780357AEB80F4AD63DB8A /* Kingfisher.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Kingfisher.release.xcconfig; sourceTree = ""; }; + CE2BBF541B31E11E856B3C8C1559075B /* RetryPolicy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RetryPolicy.swift; path = Source/RetryPolicy.swift; sourceTree = ""; }; CE57864A556F6292BCCB5FF8440D034E /* Pods-There-iOS */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "Pods-There-iOS"; path = Pods_There_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - CE8ADB821682AF228C4FD9BA20B10E1C /* ObservableConvertibleType+Signal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ObservableConvertibleType+Signal.swift"; path = "RxCocoa/Traits/Signal/ObservableConvertibleType+Signal.swift"; sourceTree = ""; }; - CF997BA16163896793A7485A2663806D /* NSControl+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSControl+Rx.swift"; path = "RxCocoa/macOS/NSControl+Rx.swift"; sourceTree = ""; }; - CFAE018E2F9B7DD4F5CA60175FDE87DA /* Delay.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Delay.swift; path = RxSwift/Observables/Delay.swift; sourceTree = ""; }; - CFCA110575FAAC102E9178B12E293AF5 /* Image.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Image.swift; path = Sources/Image/Image.swift; sourceTree = ""; }; - D037120874B112016F8388503CE29CD5 /* Empty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Empty.swift; path = RxSwift/Observables/Empty.swift; sourceTree = ""; }; - D0619FCA015DDC34D47329F533A3EE37 /* SnapKit.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SnapKit.debug.xcconfig; sourceTree = ""; }; - D0CACF64471AFF0470B5E42C9B46037D /* NSTextField+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSTextField+Rx.swift"; path = "RxCocoa/macOS/NSTextField+Rx.swift"; sourceTree = ""; }; - D12F42FB81BC21E66F7B0B1CFC3A20A6 /* ConnectableObservableType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConnectableObservableType.swift; path = RxSwift/ConnectableObservableType.swift; sourceTree = ""; }; - D146F0260D78CBCAA11274438E7C766E /* SessionDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SessionDelegate.swift; path = Sources/Networking/SessionDelegate.swift; sourceTree = ""; }; - D17D1A0E6B4CE6A8F8FEBA2124CC9F2B /* UIControl+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIControl+Rx.swift"; path = "RxCocoa/iOS/UIControl+Rx.swift"; sourceTree = ""; }; - D194AB4BFFBB13771291209526471F2A /* SingleAsync.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SingleAsync.swift; path = RxSwift/Observables/SingleAsync.swift; sourceTree = ""; }; - D228F6C8F517C8A8C3D9E2C7EF99F713 /* SchedulerServices+Emulation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "SchedulerServices+Emulation.swift"; path = "RxSwift/Schedulers/SchedulerServices+Emulation.swift"; sourceTree = ""; }; - D2352512FCD66C32A7438D777F716159 /* SnapKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SnapKit-prefix.pch"; sourceTree = ""; }; - D3693A926111331029E338FEEDC1D7F0 /* Request.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Request.swift; path = Source/Request.swift; sourceTree = ""; }; - D3B1DE34013E6AA345837FE6FA20B40B /* Kingfisher.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Kingfisher.release.xcconfig; sourceTree = ""; }; - D3CE376A4FEC2AE77F20CE6DAA638D4F /* CachedResponseHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CachedResponseHandler.swift; path = Source/CachedResponseHandler.swift; sourceTree = ""; }; - D4949EDAC2D6B42BB1D0463611EB6CEA /* Throttle.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Throttle.swift; path = RxSwift/Observables/Throttle.swift; sourceTree = ""; }; - D4C260821F3355A8D3ABA482ED863676 /* _RXDelegateProxy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _RXDelegateProxy.m; path = RxCocoa/Runtime/_RXDelegateProxy.m; sourceTree = ""; }; - D502FE235CCFEC8630275FA474F1B574 /* Result.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Result.swift; path = Sources/Utility/Result.swift; sourceTree = ""; }; - D5A7C25ACDFFA30CA306CE4EAA895BDE /* Then-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Then-Info.plist"; sourceTree = ""; }; - D60CC3FAFCB4CC4233D8A3FBDA356B9A /* RetryPolicy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RetryPolicy.swift; path = Source/RetryPolicy.swift; sourceTree = ""; }; - D68F2EA8FCB9295EBA18AAE483AD76B5 /* MainScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MainScheduler.swift; path = RxSwift/Schedulers/MainScheduler.swift; sourceTree = ""; }; - D6F55CEEF50C9DDB5101170C66B9A74B /* AVAssetImageDataProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AVAssetImageDataProvider.swift; path = Sources/General/ImageSource/AVAssetImageDataProvider.swift; sourceTree = ""; }; - D75E3F2F55F1E25FACE68CEE13F42681 /* UIButton+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIButton+Rx.swift"; path = "RxCocoa/iOS/UIButton+Rx.swift"; sourceTree = ""; }; - D7BB0EA786A1FFEB2A3351587D587B6E /* Kingfisher-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Kingfisher-Info.plist"; sourceTree = ""; }; - D8C6D6A0A273E5CBC1AA8F31BC7793FC /* Observable+Concurrency.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+Concurrency.swift"; path = "RxSwift/Observable+Concurrency.swift"; sourceTree = ""; }; - DA032F5D9847C548FF785FD079219DDD /* DispatchQueueConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DispatchQueueConfiguration.swift; path = RxSwift/Schedulers/Internal/DispatchQueueConfiguration.swift; sourceTree = ""; }; - DA07BA8FE6748A737F5CCD20E4944E38 /* UIActivityIndicatorView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIActivityIndicatorView+Rx.swift"; path = "RxCocoa/iOS/UIActivityIndicatorView+Rx.swift"; sourceTree = ""; }; - DA36C83021D98DE90FEB177307AAEAAD /* Do.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Do.swift; path = RxSwift/Observables/Do.swift; sourceTree = ""; }; - DB55EAC78F857CF686ADF3B4B060FE43 /* InvocableType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = InvocableType.swift; path = RxSwift/Schedulers/Internal/InvocableType.swift; sourceTree = ""; }; - DB6E79ECB4E9126F4A7C583D73F0B07F /* UIBarButtonItem+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIBarButtonItem+Rx.swift"; path = "RxCocoa/iOS/UIBarButtonItem+Rx.swift"; sourceTree = ""; }; - DBE85F9EC0B9324A6D99F3BBE5A5A1D9 /* RxTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTarget.swift; path = RxCocoa/Common/RxTarget.swift; sourceTree = ""; }; - DC38313A2232A2D1552DD6864E4B41BB /* FormatIndicatedCacheSerializer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FormatIndicatedCacheSerializer.swift; path = Sources/Cache/FormatIndicatedCacheSerializer.swift; sourceTree = ""; }; - DD66E1759D33767049BCE9F5F59F58FD /* ConstraintLayoutSupportDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutSupportDSL.swift; path = Sources/ConstraintLayoutSupportDSL.swift; sourceTree = ""; }; - DDE6EED322F77EB0A4D538B6446EDC56 /* NSSlider+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSSlider+Rx.swift"; path = "RxCocoa/macOS/NSSlider+Rx.swift"; sourceTree = ""; }; - DE20FD85A0868D0EEDC4B827FC5FBF16 /* ConstraintMultiplierTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMultiplierTarget.swift; path = Sources/ConstraintMultiplierTarget.swift; sourceTree = ""; }; - DE5C49454786AF871262458384B775EC /* ScheduledItemType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ScheduledItemType.swift; path = RxSwift/Schedulers/Internal/ScheduledItemType.swift; sourceTree = ""; }; - DF162A5990A31692642CA4945713F8DD /* Completable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Completable.swift; path = RxSwift/Traits/PrimitiveSequence/Completable.swift; sourceTree = ""; }; - DF2081FB6F160F02B039B6B8E0372A0C /* ConstraintLayoutGuide.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutGuide.swift; path = Sources/ConstraintLayoutGuide.swift; sourceTree = ""; }; - DF317EAAC9323039312A970435204F41 /* RxWKNavigationDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxWKNavigationDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxWKNavigationDelegateProxy.swift; sourceTree = ""; }; - DF3D2C433853B62E78135ADAE7B973C4 /* CompositeDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CompositeDisposable.swift; path = RxSwift/Disposables/CompositeDisposable.swift; sourceTree = ""; }; - DF419F5D318D7AC9C950528EBAC8A59C /* CacheSerializer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CacheSerializer.swift; path = Sources/Cache/CacheSerializer.swift; sourceTree = ""; }; - DF5AAAADBEFB98DD71E0B90CA5D6EE94 /* Then-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Then-prefix.pch"; sourceTree = ""; }; - DF71006EABC2B7CE1FD3F20EAD5D2FE2 /* Reactive.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Reactive.swift; path = RxSwift/Reactive.swift; sourceTree = ""; }; - DF7C6EBF0BA06F19F06C3F78EB8C1DF0 /* DispatchQueue+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "DispatchQueue+Alamofire.swift"; path = "Source/DispatchQueue+Alamofire.swift"; sourceTree = ""; }; - DF9705F6F2A7054D7F69DFB3AE176D4F /* UIButton+Kingfisher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIButton+Kingfisher.swift"; path = "Sources/Extensions/UIButton+Kingfisher.swift"; sourceTree = ""; }; - DFACA8A2950430A3DC8D906B8634E45C /* NSObject+Rx+RawRepresentable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSObject+Rx+RawRepresentable.swift"; path = "RxCocoa/Foundation/NSObject+Rx+RawRepresentable.swift"; sourceTree = ""; }; - E16B7B3944944B2D9F4E36B482FF5966 /* Filter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Filter.swift; path = Sources/Image/Filter.swift; sourceTree = ""; }; - E1A41264B1C246AFE72507244BE6F511 /* RxTableViewReactiveArrayDataSource.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTableViewReactiveArrayDataSource.swift; path = RxCocoa/iOS/DataSources/RxTableViewReactiveArrayDataSource.swift; sourceTree = ""; }; - E2421811EE1C9C5B4A9B655FA86C5287 /* RxCocoa.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = RxCocoa.modulemap; sourceTree = ""; }; - E266949416C7AE1F7A986201A7DE7761 /* AFError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AFError.swift; path = Source/AFError.swift; sourceTree = ""; }; - E26E92CBC0FCFC8BDC931D35CE1E96EE /* _RXObjCRuntime.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _RXObjCRuntime.m; path = RxCocoa/Runtime/_RXObjCRuntime.m; sourceTree = ""; }; - E280800EDD85383B4CEB50CBF3C52C28 /* ImageFormat.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImageFormat.swift; path = Sources/Image/ImageFormat.swift; sourceTree = ""; }; - E2FE14FB813D0BED51D52469FA3EDA35 /* RxCocoa.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = RxCocoa.debug.xcconfig; sourceTree = ""; }; - E47C24C9E09A123619563D5F7FB0CDF0 /* ConstraintOffsetTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintOffsetTarget.swift; path = Sources/ConstraintOffsetTarget.swift; sourceTree = ""; }; - E51E8E49DDEEEC6197B82EF295582F92 /* RxSwift.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = RxSwift.release.xcconfig; sourceTree = ""; }; - E52CEE68C7ABD0BD8FBF3FD58DA7FD03 /* RxRelay-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RxRelay-prefix.pch"; sourceTree = ""; }; - E5B77D608A1D372965EF3ECEBF567934 /* ControlTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ControlTarget.swift; path = RxCocoa/Common/ControlTarget.swift; sourceTree = ""; }; - E5BA74BF40B3BBE425DE26E53D5C990B /* RxCocoaObjCRuntimeError+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "RxCocoaObjCRuntimeError+Extensions.swift"; path = "RxCocoa/Common/RxCocoaObjCRuntimeError+Extensions.swift"; sourceTree = ""; }; - E5BECD02C4A772730853DC7E28DE77BB /* OperationQueueScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = OperationQueueScheduler.swift; path = RxSwift/Schedulers/OperationQueueScheduler.swift; sourceTree = ""; }; - E616CFD11CAFF3D5E8EEF6739E14A7AB /* Delegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Delegate.swift; path = Sources/Utility/Delegate.swift; sourceTree = ""; }; - E79BA51E0D886B86DAB8E186842517EB /* NSTextStorage+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSTextStorage+Rx.swift"; path = "RxCocoa/iOS/NSTextStorage+Rx.swift"; sourceTree = ""; }; - E7BAA0DA36E7E33C0C9ACCBA5834B9A6 /* ImageDownloaderDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImageDownloaderDelegate.swift; path = Sources/Networking/ImageDownloaderDelegate.swift; sourceTree = ""; }; - E7BF7335FF6D11A25744B6FCF31E5012 /* Platform.Darwin.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Platform.Darwin.swift; path = Platform/Platform.Darwin.swift; sourceTree = ""; }; - E8356865FC9E775236F741C269CB22B4 /* MultipartFormData.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MultipartFormData.swift; path = Source/MultipartFormData.swift; sourceTree = ""; }; - E86CC6CB2AE7498DFB6F825C654C87A5 /* AsyncSubject.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AsyncSubject.swift; path = RxSwift/Subjects/AsyncSubject.swift; sourceTree = ""; }; - EBF7DB3313290A31E6E7487B1137D90E /* Observable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Observable.swift; path = RxSwift/Observable.swift; sourceTree = ""; }; - EDB108338BFA9DC329256FA808451C2E /* CombineLatest+arity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "CombineLatest+arity.swift"; path = "RxSwift/Observables/CombineLatest+arity.swift"; sourceTree = ""; }; - EE65B39F824473BC883FFA45AC0D3690 /* RxSearchControllerDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxSearchControllerDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxSearchControllerDelegateProxy.swift; sourceTree = ""; }; - EEA4CF35914BD29431034CCC4CA1788B /* RxSwift.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = RxSwift.modulemap; sourceTree = ""; }; - EEF24B52506C0A14899953DD9B056BB3 /* ConstraintDescription.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintDescription.swift; path = Sources/ConstraintDescription.swift; sourceTree = ""; }; - EF6466B2CDFFDD0EE39DEA95F0A41305 /* ConstraintView+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ConstraintView+Extensions.swift"; path = "Sources/ConstraintView+Extensions.swift"; sourceTree = ""; }; - EF7F041184F67AAD9232BBC8C5C8428B /* DiskStorage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DiskStorage.swift; path = Sources/Cache/DiskStorage.swift; sourceTree = ""; }; - F152EC9D502669EA0EBDA0A7C659AF3E /* KFImageProtocol.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = KFImageProtocol.swift; path = Sources/SwiftUI/KFImageProtocol.swift; sourceTree = ""; }; - F2128C5F572304D9CE4AD3413F5F20BD /* ObservableConvertibleType+SharedSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ObservableConvertibleType+SharedSequence.swift"; path = "RxCocoa/Traits/SharedSequence/ObservableConvertibleType+SharedSequence.swift"; sourceTree = ""; }; - F22D97DA8603DD70D4283D86DE43F125 /* RxRelay-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "RxRelay-Info.plist"; sourceTree = ""; }; - F2A70264572855BE967A5A6C6D3BAD99 /* Optional.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Optional.swift; path = RxSwift/Observables/Optional.swift; sourceTree = ""; }; - F667133DB5025D936CB88DBF5AA52A1E /* OperationQueue+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "OperationQueue+Alamofire.swift"; path = "Source/OperationQueue+Alamofire.swift"; sourceTree = ""; }; - F67AC86AEA728C60EE57148FA6BBA520 /* Multicast.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Multicast.swift; path = RxSwift/Observables/Multicast.swift; sourceTree = ""; }; + CF150E3036E71411BE5D70F7C9A20DD9 /* Observable+Bind.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+Bind.swift"; path = "RxRelay/Observable+Bind.swift"; sourceTree = ""; }; + CF8CB965C4EC1995B14A54D4DBDCE01C /* Combine.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Combine.swift; path = Source/Combine.swift; sourceTree = ""; }; + CFEF93C1E549228A855D54571F4F3DE8 /* InvocableScheduledItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = InvocableScheduledItem.swift; path = RxSwift/Schedulers/Internal/InvocableScheduledItem.swift; sourceTree = ""; }; + D096F57C02D3FCC4FA4E9309DEECACBA /* String+MD5.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+MD5.swift"; path = "Sources/Utility/String+MD5.swift"; sourceTree = ""; }; + D1498205770A72441EFB53733ADC44BE /* UIScrollView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIScrollView+Rx.swift"; path = "RxCocoa/iOS/UIScrollView+Rx.swift"; sourceTree = ""; }; + D186EF5541C18F253F9F39BCD2DCBDF4 /* NSObject+Rx+RawRepresentable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSObject+Rx+RawRepresentable.swift"; path = "RxCocoa/Foundation/NSObject+Rx+RawRepresentable.swift"; sourceTree = ""; }; + D1B796971D03F0F1DC4C150BCABFDD13 /* ConcurrentMainScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConcurrentMainScheduler.swift; path = RxSwift/Schedulers/ConcurrentMainScheduler.swift; sourceTree = ""; }; + D1D15BFBCC93AD6CA42DAB63BD96F143 /* PrimitiveSequence+Zip+arity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "PrimitiveSequence+Zip+arity.swift"; path = "RxSwift/Traits/PrimitiveSequence/PrimitiveSequence+Zip+arity.swift"; sourceTree = ""; }; + D21FBE05863BC38372B8421AA4F1AAF8 /* DiskStorage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DiskStorage.swift; path = Sources/Cache/DiskStorage.swift; sourceTree = ""; }; + D2214EAFEB7F6BF3DDE30DAAE294AC74 /* Observable+Bind.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+Bind.swift"; path = "RxCocoa/Common/Observable+Bind.swift"; sourceTree = ""; }; + D36563B91E8807D3554AFA958AD04CCF /* UITextField+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UITextField+Rx.swift"; path = "RxCocoa/iOS/UITextField+Rx.swift"; sourceTree = ""; }; + D437B22EAA093801BCE236E340CBEDBD /* DispatchQueueConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DispatchQueueConfiguration.swift; path = RxSwift/Schedulers/Internal/DispatchQueueConfiguration.swift; sourceTree = ""; }; + D49A250E5660E52FB3ED481F5453E468 /* Reactive.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Reactive.swift; path = RxSwift/Reactive.swift; sourceTree = ""; }; + D4C64FBE5B05FA4E07A3D9251DCBF891 /* Take.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Take.swift; path = RxSwift/Observables/Take.swift; sourceTree = ""; }; + D587E53F740333208B156ADF9CD51B3B /* AuthenticationInterceptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AuthenticationInterceptor.swift; path = Source/AuthenticationInterceptor.swift; sourceTree = ""; }; + D646E52366D7700C747071AA3048F803 /* ObservableType+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ObservableType+Extensions.swift"; path = "RxSwift/ObservableType+Extensions.swift"; sourceTree = ""; }; + D66786BC6FF3B760EBE08E8983413C84 /* VirtualTimeScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = VirtualTimeScheduler.swift; path = RxSwift/Schedulers/VirtualTimeScheduler.swift; sourceTree = ""; }; + D6E5FC2E9F085687E0F5D14CF9410536 /* BehaviorSubject.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BehaviorSubject.swift; path = RxSwift/Subjects/BehaviorSubject.swift; sourceTree = ""; }; + D758172119723E90B76FF571013C6F6D /* ControlEvent+Driver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ControlEvent+Driver.swift"; path = "RxCocoa/Traits/Driver/ControlEvent+Driver.swift"; sourceTree = ""; }; + D807106B4F7D9B57524D3CA8BCEC4176 /* RxCocoa-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RxCocoa-umbrella.h"; sourceTree = ""; }; + D8A759BDFAACF28A20C494FE78BD1B1C /* RxPickerViewAdapter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxPickerViewAdapter.swift; path = RxCocoa/iOS/DataSources/RxPickerViewAdapter.swift; sourceTree = ""; }; + D8FE2BB2288AD97BD5446B8F62173518 /* KFImageProtocol.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = KFImageProtocol.swift; path = Sources/SwiftUI/KFImageProtocol.swift; sourceTree = ""; }; + D971E3B9BAE2AE9CAE660E4495419BEA /* Alamofire-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Alamofire-umbrella.h"; sourceTree = ""; }; + D972429E029A1490A40C133607C81B2F /* ScheduledItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ScheduledItem.swift; path = RxSwift/Schedulers/Internal/ScheduledItem.swift; sourceTree = ""; }; + D991BC4F90455DA227CB5911DBE71D81 /* WithLatestFrom.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = WithLatestFrom.swift; path = RxSwift/Observables/WithLatestFrom.swift; sourceTree = ""; }; + DA49E186514D65619FE23983EAC796AC /* Bag.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Bag.swift; path = Platform/DataStructures/Bag.swift; sourceTree = ""; }; + DAFA67FFE8EBFA2B962664CBD52E769D /* UIButton+Kingfisher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIButton+Kingfisher.swift"; path = "Sources/Extensions/UIButton+Kingfisher.swift"; sourceTree = ""; }; + DB01656DD6DE09055004A2451DD90DEF /* SkipWhile.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SkipWhile.swift; path = RxSwift/Observables/SkipWhile.swift; sourceTree = ""; }; + DBD5DC3E97CCDE8C7840AA9F24421CE0 /* KVORepresentable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = KVORepresentable.swift; path = RxCocoa/Foundation/KVORepresentable.swift; sourceTree = ""; }; + DC05D9699B494D74FC8621E6BF4E0DE8 /* DistinctUntilChanged.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DistinctUntilChanged.swift; path = RxSwift/Observables/DistinctUntilChanged.swift; sourceTree = ""; }; + DDEE64D4CD0D86C8CC6067A1A5D87022 /* Infallible+Operators.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Infallible+Operators.swift"; path = "RxSwift/Traits/Infallible/Infallible+Operators.swift"; sourceTree = ""; }; + DED5650E3A6F5A3467C00F53CC1456E1 /* TailRecursiveSink.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TailRecursiveSink.swift; path = RxSwift/Observers/TailRecursiveSink.swift; sourceTree = ""; }; + DF56C73F6B09447C70193AA292709167 /* UISwitch+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UISwitch+Rx.swift"; path = "RxCocoa/iOS/UISwitch+Rx.swift"; sourceTree = ""; }; + E140A7754B0749E155F8E8E3C31DEEF2 /* Sequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Sequence.swift; path = RxSwift/Observables/Sequence.swift; sourceTree = ""; }; + E15869FB78995CF1C2B6675D7275DB50 /* Using.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Using.swift; path = RxSwift/Observables/Using.swift; sourceTree = ""; }; + E16DEFE4761DCC0C7D3A904967C331F7 /* Merge.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Merge.swift; path = RxSwift/Observables/Merge.swift; sourceTree = ""; }; + E210F51C92F96757E15DFADB012320B0 /* OperationQueueScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = OperationQueueScheduler.swift; path = RxSwift/Schedulers/OperationQueueScheduler.swift; sourceTree = ""; }; + E285C37690690B4F522FD714017C687B /* ImageModifier.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImageModifier.swift; path = Sources/Networking/ImageModifier.swift; sourceTree = ""; }; + E2C0168E5F3B616175A3EF5402ADCFA1 /* UIPickerView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIPickerView+Rx.swift"; path = "RxCocoa/iOS/UIPickerView+Rx.swift"; sourceTree = ""; }; + E4E5B47E38D693DF8FEE28E60E2A191B /* Observable+Concurrency.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+Concurrency.swift"; path = "RxSwift/Observable+Concurrency.swift"; sourceTree = ""; }; + E8F3AA6F62AC8C1189C0527EAA9BCACD /* Errors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Errors.swift; path = RxSwift/Errors.swift; sourceTree = ""; }; + E955EC2A45DFBE88B5C529147AAEF33C /* NSView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSView+Rx.swift"; path = "RxCocoa/macOS/NSView+Rx.swift"; sourceTree = ""; }; + EAC5967E2F4B2DBCC3F196E40B76AB66 /* ParameterEncoding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ParameterEncoding.swift; path = Source/ParameterEncoding.swift; sourceTree = ""; }; + ECD93E65F5FFCA7ECAAC986C1056A3B3 /* Bag+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Bag+Rx.swift"; path = "RxSwift/Extensions/Bag+Rx.swift"; sourceTree = ""; }; + ECE3D7863C685441B17909D323C93D1B /* RxSwift.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = RxSwift.debug.xcconfig; sourceTree = ""; }; + EEEE5FBEDCCBD735C692CAB265CE5ABF /* Session.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Session.swift; path = Source/Session.swift; sourceTree = ""; }; + EEFDF6CB124667078B438DF8F7EB9D19 /* Empty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Empty.swift; path = RxSwift/Observables/Empty.swift; sourceTree = ""; }; + EF2C0479C55753A363AD815EBCF83AC8 /* RxTableViewDataSourceProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTableViewDataSourceProxy.swift; path = RxCocoa/iOS/Proxies/RxTableViewDataSourceProxy.swift; sourceTree = ""; }; + F03A1B55B1FBB5FF5084100CA307B5D0 /* Dematerialize.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Dematerialize.swift; path = RxSwift/Observables/Dematerialize.swift; sourceTree = ""; }; + F12D473121D5D2AE5746621B81C91776 /* StringEncoding+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "StringEncoding+Alamofire.swift"; path = "Source/StringEncoding+Alamofire.swift"; sourceTree = ""; }; + F2743047250B48474DADF4B03739F5FA /* RecursiveLock.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RecursiveLock.swift; path = Platform/RecursiveLock.swift; sourceTree = ""; }; + F2E8893CC2CD4C42DF14222F4EA1B381 /* AFError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AFError.swift; path = Source/AFError.swift; sourceTree = ""; }; + F37A2CC3CFF80EE4F9877CC77782A805 /* UIGestureRecognizer+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIGestureRecognizer+Rx.swift"; path = "RxCocoa/iOS/UIGestureRecognizer+Rx.swift"; sourceTree = ""; }; + F3F21960E5C9703505BE6AAF1A2EC108 /* Observable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Observable.swift; path = RxSwift/Observable.swift; sourceTree = ""; }; + F525585EB6ADCCED14723483885C996F /* Repeat.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Repeat.swift; path = RxSwift/Observables/Repeat.swift; sourceTree = ""; }; + F6A6FBB3FA0B4E85A975C350FD329D26 /* KFImageOptions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = KFImageOptions.swift; path = Sources/SwiftUI/KFImageOptions.swift; sourceTree = ""; }; F6F34B1678E88B9EEE7FCFB9479F00E0 /* Pods-There-iOS-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-There-iOS-acknowledgements.plist"; sourceTree = ""; }; - F764A3A8B20324C2F34EC1D6F16152AB /* BehaviorRelay.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BehaviorRelay.swift; path = RxRelay/BehaviorRelay.swift; sourceTree = ""; }; - F7FC04867F5BF4E0A42DEF2F72E634EF /* NotificationCenter+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NotificationCenter+Rx.swift"; path = "RxCocoa/Foundation/NotificationCenter+Rx.swift"; sourceTree = ""; }; - F9743CC92474B8BDCC8075EBCE07D09F /* UINavigationController+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UINavigationController+Rx.swift"; path = "RxCocoa/iOS/UINavigationController+Rx.swift"; sourceTree = ""; }; - F9F5CAC1EDF2B44D3301E0172254C6D6 /* Driver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Driver.swift; path = RxCocoa/Traits/Driver/Driver.swift; sourceTree = ""; }; - FB253874724EA52DA69BE232247D5E07 /* Placeholder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Placeholder.swift; path = Sources/Image/Placeholder.swift; sourceTree = ""; }; - FB5B51A7D789E669AFF0CC71360AFD39 /* RxTabBarControllerDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTabBarControllerDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxTabBarControllerDelegateProxy.swift; sourceTree = ""; }; + F751EDB76BE08FCA42C91783FFFB58C6 /* RxRelay.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = RxRelay.release.xcconfig; sourceTree = ""; }; + F7A08AC809AFD67CDD3B4FD02629015E /* Filter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Filter.swift; path = Sources/Image/Filter.swift; sourceTree = ""; }; + F8DCD6EF2BA9AEA9B7B0A82E4E4B86AF /* ImageTransition.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImageTransition.swift; path = Sources/Image/ImageTransition.swift; sourceTree = ""; }; + F8F2044284634C65E29EED7A8EE3EEE1 /* Kingfisher-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Kingfisher-Info.plist"; sourceTree = ""; }; + F90FE1B2D54A1F9BDF3EB0B17B7390A1 /* RxTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTarget.swift; path = RxCocoa/Common/RxTarget.swift; sourceTree = ""; }; + F9C21A22F46F6079B717C1C180B79252 /* RxTableViewReactiveArrayDataSource.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTableViewReactiveArrayDataSource.swift; path = RxCocoa/iOS/DataSources/RxTableViewReactiveArrayDataSource.swift; sourceTree = ""; }; + FAF4305FA80E520D87765179C3BB9107 /* RxCollectionViewDataSourceProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxCollectionViewDataSourceProxy.swift; path = RxCocoa/iOS/Proxies/RxCollectionViewDataSourceProxy.swift; sourceTree = ""; }; + FBB2D27EBB6E8E4CB66D65603511BFC0 /* WithUnretained.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = WithUnretained.swift; path = RxSwift/Observables/WithUnretained.swift; sourceTree = ""; }; FC14FAA0DF651EE7DF507C858987C45E /* Pods-There-iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-There-iOS-umbrella.h"; sourceTree = ""; }; - FCB720609329B670F8E8AC3808D3BC45 /* RxSearchBarDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxSearchBarDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxSearchBarDelegateProxy.swift; sourceTree = ""; }; - FD19855FFD7857F44CE7952BED4CE838 /* Box.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Box.swift; path = Sources/Utility/Box.swift; sourceTree = ""; }; - FD5C7120A18D227A82997EED2A913F55 /* SectionedViewDataSourceType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SectionedViewDataSourceType.swift; path = RxCocoa/Common/SectionedViewDataSourceType.swift; sourceTree = ""; }; - FF1E73DCBB47ED856D69322088CA7932 /* RxTabBarDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTabBarDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxTabBarDelegateProxy.swift; sourceTree = ""; }; - FF6F52DB7F7E19CF6F1E3AD8EE7ABF96 /* SharedSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SharedSequence.swift; path = RxCocoa/Traits/SharedSequence/SharedSequence.swift; sourceTree = ""; }; + FC4CC3C7F30E948841D6AEAE00437177 /* ControlTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ControlTarget.swift; path = RxCocoa/Common/ControlTarget.swift; sourceTree = ""; }; + FCBB6A32C35785370B986E820A3A7F69 /* RxSearchBarDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxSearchBarDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxSearchBarDelegateProxy.swift; sourceTree = ""; }; + FD582EB1B7F678CA5403C04B069B4A7F /* Platform.Linux.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Platform.Linux.swift; path = Platform/Platform.Linux.swift; sourceTree = ""; }; + FE3425A82A2CA49411308D269371DE8C /* RxCocoa.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxCocoa.swift; path = RxCocoa/RxCocoa.swift; sourceTree = ""; }; + FE3F675BC754116E602F5544044876F3 /* KFImageRenderer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = KFImageRenderer.swift; path = Sources/SwiftUI/KFImageRenderer.swift; sourceTree = ""; }; FF8B264DFE802855D5D67E7CDDABFC3C /* RxRelay */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = RxRelay; path = RxRelay.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 15DC142A7EE833251AA37FC8E2B8E01F /* Frameworks */ = { + 0F11B9723B1F8E858956FC8C2C4A35E5 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 7B068137A8925891446203B5D3D6A4ED /* CFNetwork.framework in Frameworks */, - 0F4037DBF307AC8058BD0A3D35C7E7E9 /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 2D6B7FE2077137ADC4B9D5CD2B4F81A5 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - C1B73EE3AFFB6B2FAF81B37ECBC41182 /* Foundation.framework in Frameworks */, + 707678DCA308C0A83FBC5EE8A7AAF3E6 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 80FB86D5B48C7906D6A3308C284B8F47 /* Frameworks */ = { + 15DC142A7EE833251AA37FC8E2B8E01F /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - D21B5A1AA3B3ECFD974C91A75FB3DFA2 /* Foundation.framework in Frameworks */, + 7B068137A8925891446203B5D3D6A4ED /* CFNetwork.framework in Frameworks */, + 0F4037DBF307AC8058BD0A3D35C7E7E9 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1038,35 +918,27 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - B110F4A89B80E9EA29019FC5CA16B326 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 5E3BF2B719B3A034C173D16B3ABF682E /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - E877FC0D3719519B688F3E17FF0228B2 /* Frameworks */ = { + 9E6552368DDBB20B015CD6D40A4F63B4 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 2987A730911012C32AF6695D7B54E35C /* Foundation.framework in Frameworks */, + A210A1A196D9980281ABB93D6F242C5B /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - E8E4E7CE8309D3EF7B7476AC57986BE9 /* Frameworks */ = { + ACEA1D2CF57BE26C685BE9311B18A507 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 0833E66E7F19849322305D67777B77DB /* Foundation.framework in Frameworks */, + D6B40039AC4AE79360152A98EA18893D /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - FFD02D29ECE359A712C9CC54BE732F6A /* Frameworks */ = { + E877FC0D3719519B688F3E17FF0228B2 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - FB86B00FC72A1AAC4E247B873DFB7528 /* Foundation.framework in Frameworks */, + 2987A730911012C32AF6695D7B54E35C /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1081,242 +953,183 @@ name = Frameworks; sourceTree = ""; }; - 18FBE5707D051239CC7BB06DEA2296F7 /* Support Files */ = { + 1566D1B16D4342C50761BC4263E0B7B3 /* RxCocoa */ = { isa = PBXGroup; children = ( - 2B6CE29CC66441F2F8797A7A70736C60 /* SnapKit.modulemap */, - C2D8EF56F3733D820BC6C13F9D5EA1BD /* SnapKit-dummy.m */, - 5F680A2F306AB6146114790DB8C6A189 /* SnapKit-Info.plist */, - D2352512FCD66C32A7438D777F716159 /* SnapKit-prefix.pch */, - 95E6BF7DBFB733E5C2798A197F19DA70 /* SnapKit-umbrella.h */, - D0619FCA015DDC34D47329F533A3EE37 /* SnapKit.debug.xcconfig */, - 397A5AFA289920780AEAE1C4DAA0CF1F /* SnapKit.release.xcconfig */, + 6A325487EBA872AF6FCFC430EEBC0348 /* _RX.h */, + 92E9E919A6553EE8C8A1C1AFC0C9CFBF /* _RX.m */, + 810B8913E4DAE38C62A12FD02554631A /* _RXDelegateProxy.h */, + 43471A02ECA3B06572E8614A11DCA555 /* _RXDelegateProxy.m */, + 089B6DCA06D8D3E2325AFA510830CE74 /* _RXKVOObserver.h */, + ADDAE9559CF238A8C186179117F5FEAC /* _RXKVOObserver.m */, + 3644EFA29BEE50A42E6705784E7BEC9F /* _RXObjCRuntime.h */, + 3F754B62062C1BB702C9AE5AB255AE25 /* _RXObjCRuntime.m */, + 1879257263BF7E7F25A62A6CEA742CD8 /* Bag.swift */, + A78FD69F1003B5D6C296A1952855EFF8 /* BehaviorRelay+Driver.swift */, + 271D498317266C203411F60340C099BC /* ControlEvent.swift */, + D758172119723E90B76FF571013C6F6D /* ControlEvent+Driver.swift */, + 3806B07B9319EA3E0FFC897619C90C1C /* ControlEvent+Signal.swift */, + C0CFB8E28B87C361F44D3415CBD14B47 /* ControlProperty.swift */, + 90772E31F7E3A4B81492CA5FD46DA28D /* ControlProperty+Driver.swift */, + FC4CC3C7F30E948841D6AEAE00437177 /* ControlTarget.swift */, + 031DAA62FB3E657FDDA9EC33EEA30C69 /* DelegateProxy.swift */, + 5FE3FB9C44BB4F4290AB98825B32A812 /* DelegateProxyType.swift */, + 8BA463B68F79F5752D5A5F44F3669765 /* DispatchQueue+Extensions.swift */, + 64197BAC523DD80ED92D1DB069578960 /* Driver.swift */, + CD8066018BC59F052DCFE63931ECAC04 /* Driver+Subscription.swift */, + 82BECDF9E7CCB55C9A04955AA405C2C0 /* Infallible+Bind.swift */, + 70F8A4F6EBCFD76ABC02DECC4A95FE5B /* InfiniteSequence.swift */, + 2E6CBF7A09FCBC28E60715D50B8E5723 /* ItemEvents.swift */, + DBD5DC3E97CCDE8C7840AA9F24421CE0 /* KVORepresentable.swift */, + B404FE3FAE0B4E88F3925443DFB7B036 /* KVORepresentable+CoreGraphics.swift */, + 90BD440FA187566E2CC29B6E37F5541A /* KVORepresentable+Swift.swift */, + BBBD45296653BE240DD3C8B696A020B8 /* NotificationCenter+Rx.swift */, + B8521D10962CD6544E8B053AEDDDD18E /* NSButton+Rx.swift */, + BB157346ED77EC2F45A6E516EA702D03 /* NSControl+Rx.swift */, + B35D3839DCED2BC6C6ADE371B4C6EB17 /* NSObject+Rx.swift */, + A1511419B3E32DBD99D732A5746C02D3 /* NSObject+Rx+KVORepresentable.swift */, + D186EF5541C18F253F9F39BCD2DCBDF4 /* NSObject+Rx+RawRepresentable.swift */, + C4ACD3E232CF8F56E3F4BC6B1F9C5654 /* NSSlider+Rx.swift */, + 2AA3BCD0F8D8DD47DE2953CAA6551715 /* NSTextField+Rx.swift */, + 6ECB5F2C1A85E7F241B4C1FD0B488EC2 /* NSTextStorage+Rx.swift */, + 2B8D1F9DE401B67F43275A07BFC01877 /* NSTextView+Rx.swift */, + E955EC2A45DFBE88B5C529147AAEF33C /* NSView+Rx.swift */, + D2214EAFEB7F6BF3DDE30DAAE294AC74 /* Observable+Bind.swift */, + 7479A03FF36C7E3B930D167270E76013 /* ObservableConvertibleType+Driver.swift */, + 38B5587EDC1E5C18DCBD4821467D74DB /* ObservableConvertibleType+SharedSequence.swift */, + BA6BD8892100449EB57FAE6110BA16A2 /* ObservableConvertibleType+Signal.swift */, + 20C12E4903ACB5AE8ACB42690A55B23B /* Platform.Darwin.swift */, + FD582EB1B7F678CA5403C04B069B4A7F /* Platform.Linux.swift */, + 3C8341376070773E4EE79FF6BB8ACBE9 /* PriorityQueue.swift */, + 16ABC270E7640F31CD241310226A03D5 /* PublishRelay+Signal.swift */, + 1895C7E5C1C20859533DAC0404461E70 /* Queue.swift */, + F2743047250B48474DADF4B03739F5FA /* RecursiveLock.swift */, + 4C649A24C3B907ADD6A53C148A80E93C /* RxCocoa.h */, + FE3425A82A2CA49411308D269371DE8C /* RxCocoa.swift */, + 75313700186384D3426C05B50811E476 /* RxCocoaObjCRuntimeError+Extensions.swift */, + AC8527BAB8852F85E2F7683DBF5CC2B3 /* RxCocoaRuntime.h */, + 5B90094D3C08989C66117381B0EE78A0 /* RxCollectionViewDataSourcePrefetchingProxy.swift */, + FAF4305FA80E520D87765179C3BB9107 /* RxCollectionViewDataSourceProxy.swift */, + 88B1E35A636DC56AD88590FC347B6872 /* RxCollectionViewDataSourceType.swift */, + 63F8D4B22BC804BC0F51DA9BF3E67217 /* RxCollectionViewDelegateProxy.swift */, + 2A86E357ADE22959DDEC41EA131EDFB9 /* RxCollectionViewReactiveArrayDataSource.swift */, + B52C6E7CC90A14F22C09AFD1A3D63684 /* RxNavigationControllerDelegateProxy.swift */, + D8A759BDFAACF28A20C494FE78BD1B1C /* RxPickerViewAdapter.swift */, + B3E7DAFFBBECFBA919171DD5E26B7B72 /* RxPickerViewDataSourceProxy.swift */, + 7DC095A09CB1D5D32E6A66BE456733BC /* RxPickerViewDataSourceType.swift */, + C8DBF0411FF8D792A6933F889E443410 /* RxPickerViewDelegateProxy.swift */, + 4CFCEFBDF57C364335702AD677A55637 /* RxScrollViewDelegateProxy.swift */, + FCBB6A32C35785370B986E820A3A7F69 /* RxSearchBarDelegateProxy.swift */, + 408187CD2BD0C3E8A0B46D0F0F49ABB7 /* RxSearchControllerDelegateProxy.swift */, + 0D005C88BE49966A36E347AD178EC5D7 /* RxTabBarControllerDelegateProxy.swift */, + 8C9BCEA0730F069CF5481C6CCB8E03F1 /* RxTabBarDelegateProxy.swift */, + 93E8C92BFFCA129D6496C3425EB6D522 /* RxTableViewDataSourcePrefetchingProxy.swift */, + EF2C0479C55753A363AD815EBCF83AC8 /* RxTableViewDataSourceProxy.swift */, + 89BCD4286686A86D46A69B4C6CDC4AD5 /* RxTableViewDataSourceType.swift */, + 0403085D66AB02A22CD6E086CA65C550 /* RxTableViewDelegateProxy.swift */, + F9C21A22F46F6079B717C1C180B79252 /* RxTableViewReactiveArrayDataSource.swift */, + F90FE1B2D54A1F9BDF3EB0B17B7390A1 /* RxTarget.swift */, + 07632DF8B7FEB8D45D4D5761F0C98C55 /* RxTextStorageDelegateProxy.swift */, + C605EFAD94AFBD0163C0861BD8B0CA3B /* RxTextViewDelegateProxy.swift */, + AFCF620854B55B1F2796E51B4ED5ACA5 /* RxWKNavigationDelegateProxy.swift */, + 8B21AA11663F08C11AFD56F31D5E7C63 /* SchedulerType+SharedSequence.swift */, + 034F9196B5919FA3EA7A8CE4798385E6 /* SectionedViewDataSourceType.swift */, + 49CAD7B768F40EFF2365DAAB0BF69AC1 /* SharedSequence.swift */, + 6A8EAF49F33612E2323188B5584E29C9 /* SharedSequence+Concurrency.swift */, + AF649DDB1726547073CACDE64430EB6E /* SharedSequence+Operators.swift */, + 3AEC10E040DFCDB14435C8A515AA6358 /* SharedSequence+Operators+arity.swift */, + 786F0B1BB634D8412F2B0D3E2473BF24 /* Signal.swift */, + 6E5D5C6C82C4EA4739C48E870D813AE9 /* Signal+Subscription.swift */, + 70D596C39E4C1ADDCC517577A15F3109 /* TextInput.swift */, + 0B48A4A0A9B6AC543C675AC28F8ACDF5 /* UIActivityIndicatorView+Rx.swift */, + 4716AEFE0CA36DD49DA802EB2D4B0D79 /* UIApplication+Rx.swift */, + CB74E15B8A3958FCCF43DC6C12D685D0 /* UIBarButtonItem+Rx.swift */, + 084B4D13DFE0E4F1513523495E2822DB /* UIButton+Rx.swift */, + 537ACD34D8A705090426289B9BBDD416 /* UICollectionView+Rx.swift */, + 642F46CBABE009A91ACCDC5F2125D014 /* UIControl+Rx.swift */, + A2ADB1A654FB2A0BF877079A9CBA6AB0 /* UIDatePicker+Rx.swift */, + F37A2CC3CFF80EE4F9877CC77782A805 /* UIGestureRecognizer+Rx.swift */, + 37DC6B6793C3D2EAE2AF14ECF0B8CA6C /* UINavigationController+Rx.swift */, + E2C0168E5F3B616175A3EF5402ADCFA1 /* UIPickerView+Rx.swift */, + B079B1E822C96FC547559897FBC5CC64 /* UIRefreshControl+Rx.swift */, + D1498205770A72441EFB53733ADC44BE /* UIScrollView+Rx.swift */, + CA4D8AC3183B18DBC49FB0A82ABD9E2A /* UISearchBar+Rx.swift */, + 80C307B02634BC91FE6BC96843B4368A /* UISearchController+Rx.swift */, + 1AB6D9D250C8EABCF06AD5E8D2B3B4E9 /* UISegmentedControl+Rx.swift */, + 54828098CAE6FA49FBA21FAD41401637 /* UISlider+Rx.swift */, + B3BDAE522856DB9BAAE57DD3196522C8 /* UIStepper+Rx.swift */, + DF56C73F6B09447C70193AA292709167 /* UISwitch+Rx.swift */, + 3C7B74E7C88E90FE1D3D344961603016 /* UITabBar+Rx.swift */, + 422B5B171A08768C578EDA6F142190E9 /* UITabBarController+Rx.swift */, + 6BAAA12C2EFD1C98E0F0E6A7499F5AC6 /* UITableView+Rx.swift */, + D36563B91E8807D3554AFA958AD04CCF /* UITextField+Rx.swift */, + 09DC60FF8B51A1CAD3B33F1BFF124CB1 /* UITextView+Rx.swift */, + C26BB9B8E14C64D2F368202A14ACB93C /* URLSession+Rx.swift */, + 6B3DA540E41064641CB12115BD238B3E /* WKWebView+Rx.swift */, + E65182E093FD1DDB0E7606122D1577FF /* Support Files */, ); - name = "Support Files"; - path = "../Target Support Files/SnapKit"; - sourceTree = ""; - }; - 192D446BC0EAF79DFEA20D63946337CF /* Support Files */ = { - isa = PBXGroup; - children = ( - 5CD712911FD9E48747CD181C877EDE5B /* Kingfisher.modulemap */, - A4BF3FBDDC39414EB54005B5C1977CB0 /* Kingfisher-dummy.m */, - D7BB0EA786A1FFEB2A3351587D587B6E /* Kingfisher-Info.plist */, - 614E388060D3B35521A90FB1A50B7E01 /* Kingfisher-prefix.pch */, - 37992619C24C8F91137E8E266B2D9332 /* Kingfisher-umbrella.h */, - 76A5506DB75AED093E33DF6AC438B33B /* Kingfisher.debug.xcconfig */, - D3B1DE34013E6AA345837FE6FA20B40B /* Kingfisher.release.xcconfig */, - ); - name = "Support Files"; - path = "../Target Support Files/Kingfisher"; - sourceTree = ""; - }; - 1DC9350A32761BA5D8CC16E780ADFBD0 /* Support Files */ = { - isa = PBXGroup; - children = ( - C6505A3DE2E8C09D3D2D4D2909C04CE3 /* RxRelay.modulemap */, - 084B073DBB239AF4615C2D2E1425D4BF /* RxRelay-dummy.m */, - F22D97DA8603DD70D4283D86DE43F125 /* RxRelay-Info.plist */, - E52CEE68C7ABD0BD8FBF3FD58DA7FD03 /* RxRelay-prefix.pch */, - A466A6CE62C2884AA095CAB4E9A597D8 /* RxRelay-umbrella.h */, - 04E52C7203AC48229EDE61A498D39CA4 /* RxRelay.debug.xcconfig */, - C8C98E8B29EB7013228E6AA772DF5A5E /* RxRelay.release.xcconfig */, - ); - name = "Support Files"; - path = "../Target Support Files/RxRelay"; - sourceTree = ""; - }; - 1E0002ADCCD2F011D983E5EC92CD7E1C /* Support Files */ = { - isa = PBXGroup; - children = ( - 7B9F183A99A365571A11F07B47AB4016 /* Alamofire.modulemap */, - 2CC5247E9DECCC4F12F765D8EA14D111 /* Alamofire-dummy.m */, - 3335135A9FDEA418BA548EB80407E453 /* Alamofire-Info.plist */, - 8071655E5A20276BDB7FB6A26CEFC34B /* Alamofire-prefix.pch */, - B0EF334BF437A3AAE88D02BC04BDC3F7 /* Alamofire-umbrella.h */, - 1637A95EEF819ACF58D385510DA0CFFF /* Alamofire.debug.xcconfig */, - 6EA6E623D9042B6F80A15AA124D3DF21 /* Alamofire.release.xcconfig */, - ); - name = "Support Files"; - path = "../Target Support Files/Alamofire"; + name = RxCocoa; + path = RxCocoa; sourceTree = ""; }; - 1F492CF28B098D032DFCA4F8CC9FDF0F /* Kingfisher */ = { + 192A4B4D1DFB778811656429B4D36D7A /* Products */ = { isa = PBXGroup; children = ( - 36CEC8BD9AB2C0FA4EC9CC68B88179F8 /* AnimatedImageView.swift */, - B74E363CCB450588B74F29B510F59EA3 /* AuthenticationChallengeResponsable.swift */, - D6F55CEEF50C9DDB5101170C66B9A74B /* AVAssetImageDataProvider.swift */, - FD19855FFD7857F44CE7952BED4CE838 /* Box.swift */, - DF419F5D318D7AC9C950528EBAC8A59C /* CacheSerializer.swift */, - 0BDF3F045AFDBD442021EDD5F94F0228 /* CallbackQueue.swift */, - 9469355019E77C388D5A169C5422BE47 /* CPListItem+Kingfisher.swift */, - E616CFD11CAFF3D5E8EEF6739E14A7AB /* Delegate.swift */, - EF7F041184F67AAD9232BBC8C5C8428B /* DiskStorage.swift */, - 08ECD9EBF8F22245744D67D95C697C1B /* ExtensionHelpers.swift */, - E16B7B3944944B2D9F4E36B482FF5966 /* Filter.swift */, - DC38313A2232A2D1552DD6864E4B41BB /* FormatIndicatedCacheSerializer.swift */, - A6AC7747348A91C3139DDCE09EB120AB /* GIFAnimatedImage.swift */, - 7F01F2AB167F577C0F70E48C66A6336A /* GraphicsContext.swift */, - CFCA110575FAAC102E9178B12E293AF5 /* Image.swift */, - AE61255BFA43D6938F0666739E260F44 /* ImageBinder.swift */, - 7AA3F9A7A2046368B1234741416AF60B /* ImageCache.swift */, - 24242D22218AA37F8CC76B3EE6C62007 /* ImageContext.swift */, - C369ED58693BF37EDA21C4F4D033C77F /* ImageDataProcessor.swift */, - AD0EC135ECC1602F717B3C6A0FFDD706 /* ImageDataProvider.swift */, - 8D041A3D4570CBE2784F0EDE829AE171 /* ImageDownloader.swift */, - E7BAA0DA36E7E33C0C9ACCBA5834B9A6 /* ImageDownloaderDelegate.swift */, - 40959136378DF5E537DD2F8AF2D85948 /* ImageDrawing.swift */, - E280800EDD85383B4CEB50CBF3C52C28 /* ImageFormat.swift */, - 33ED7D037E31D37E5DDA6760309E40E1 /* ImageModifier.swift */, - 88120D6186A3327ED8A9731885CAD570 /* ImagePrefetcher.swift */, - BE1A28E5AD7EF6372521BE1A4126DE79 /* ImageProcessor.swift */, - 06C46BF167AB2478C8C4452C1CC1D492 /* ImageProgressive.swift */, - 625C1ADC3FB0DA17A0B9DB0693B3DB9D /* ImageTransition.swift */, - C8CBA518FC6A4193466224E12B56A38D /* ImageView+Kingfisher.swift */, - 615AD1D4C454F5B681174A4A0994738A /* Indicator.swift */, - 814213E801B02E483CCA8EF36D9F5345 /* KF.swift */, - 0C1F0F4DBA417BC6160C90E858AD8771 /* KFAnimatedImage.swift */, - 904B25049C5C4201D2F3807CEB7EDD18 /* KFImage.swift */, - BEE8793F79C324F81E990D85B0DD7181 /* KFImageOptions.swift */, - F152EC9D502669EA0EBDA0A7C659AF3E /* KFImageProtocol.swift */, - 3DE7E1B56AC9054D7556E751895125F8 /* KFImageRenderer.swift */, - 754528A7F206CABAF3A4B9CCD0B15698 /* KFOptionsSetter.swift */, - B70C3F887C9E902C702236E0327D4F38 /* Kingfisher.swift */, - 5053573A84F849ED9EC73ADB43D7CBD8 /* KingfisherError.swift */, - 52D55157148922A4E72072CD651FE28F /* KingfisherManager.swift */, - 776E05050225F30B14E0071859FB29FF /* KingfisherOptionsInfo.swift */, - 3E20AFF271CFF5DBC90C212D7DDCA674 /* MemoryStorage.swift */, - 8E978BB81DF1C42184501D238D4F0435 /* NSButton+Kingfisher.swift */, - 915AF1EC159B765FB7AC4A1C0E60CAC0 /* NSTextAttachment+Kingfisher.swift */, - FB253874724EA52DA69BE232247D5E07 /* Placeholder.swift */, - 5887FC1311110E56ED239BE1451913E8 /* RedirectHandler.swift */, - 9DFF83D7C88F282827677F0479B7CAD3 /* RequestModifier.swift */, - 564A9D0888ED1D14EF0ABE0146AB74C7 /* Resource.swift */, - D502FE235CCFEC8630275FA474F1B574 /* Result.swift */, - BC4C1601FF283EA011AFABC45324A68E /* RetryStrategy.swift */, - B09298A516E7FFD7FD5B611FA05669FE /* Runtime.swift */, - 8842DBE29A05C1307DC38FF9AF30743D /* SessionDataTask.swift */, - D146F0260D78CBCAA11274438E7C766E /* SessionDelegate.swift */, - 00C144CD3C498BB6542EF833E206A780 /* SizeExtensions.swift */, - 9EBC3E93786D1276540C7307B9D45965 /* Source.swift */, - C24C02808C9A44C68841D6A26FC904F5 /* Storage.swift */, - B0C98D8984E5F9E6BE14A7A557660E41 /* String+MD5.swift */, - 2BB13DDC7642063969BC00BD44E961A4 /* TVMonogramView+Kingfisher.swift */, - DF9705F6F2A7054D7F69DFB3AE176D4F /* UIButton+Kingfisher.swift */, - B8B1B004489EF0A3C00FC654FBC3F2C1 /* WKInterfaceImage+Kingfisher.swift */, - 192D446BC0EAF79DFEA20D63946337CF /* Support Files */, + 5D797E9A5C5782CE845840781FA1CC81 /* Alamofire */, + C3F44C782D64D7EB20B61CE3844EBFAD /* Kingfisher */, + CE57864A556F6292BCCB5FF8440D034E /* Pods-There-iOS */, + BC432FD48A5932251F1CAFBC4BF74894 /* RxCocoa */, + FF8B264DFE802855D5D67E7CDDABFC3C /* RxRelay */, + 809C5FAB588354C9BA37DC3EAB8CB45C /* RxSwift */, ); - name = Kingfisher; - path = Kingfisher; - sourceTree = ""; - }; - 23EB5AD956FFB4F13E60373BEE3F3E91 /* SnapKit */ = { - isa = PBXGroup; - children = ( - 222E58D6CACB78B0AC327D81E0735D90 /* Constraint.swift */, - 391465662C54A731FEF6EBCA43287123 /* ConstraintAttributes.swift */, - 37177EBE517E3906F38F4B70C7D3CE4D /* ConstraintConfig.swift */, - 157F1A5836DEDB20C7CA0569D4AEE12D /* ConstraintConstantTarget.swift */, - EEF24B52506C0A14899953DD9B056BB3 /* ConstraintDescription.swift */, - 7FA62421088663312FD983291693B58E /* ConstraintDirectionalInsets.swift */, - 1D9DF1056F596AA0CD8F94BFF548E5D2 /* ConstraintDirectionalInsetTarget.swift */, - 5B39CB31815FB05E72BA3D232A26A687 /* ConstraintDSL.swift */, - 317E64497475D02434416B7515431CCA /* ConstraintInsets.swift */, - C7C2EDA699FA5A0E181E5ED70C828D88 /* ConstraintInsetTarget.swift */, - 130B211EBE72E2E4257ED2647FBBB416 /* ConstraintItem.swift */, - DF2081FB6F160F02B039B6B8E0372A0C /* ConstraintLayoutGuide.swift */, - 241DAB52B81445629ED6FA03025A8A01 /* ConstraintLayoutGuide+Extensions.swift */, - 611E5A10FE4D60AF65A7E3B05C4E5C03 /* ConstraintLayoutGuideDSL.swift */, - 388572D8342AC9984B65C463B3F59CE0 /* ConstraintLayoutSupport.swift */, - DD66E1759D33767049BCE9F5F59F58FD /* ConstraintLayoutSupportDSL.swift */, - 5F113DB7BBDE9D4B2C046D73D2734848 /* ConstraintMaker.swift */, - B742465553B4966E5817298E541F34F4 /* ConstraintMakerEditable.swift */, - BFB9A6B81B14F3C64035C2DB48F52776 /* ConstraintMakerExtendable.swift */, - AAE089A2DAF6928489C0F032292A97A1 /* ConstraintMakerFinalizable.swift */, - 8C022E17691D9FA8EA6272CE2A154876 /* ConstraintMakerPrioritizable.swift */, - 5D23EFB5EDFFADC4C3044C2632CAA671 /* ConstraintMakerRelatable.swift */, - 3F1CCBB07D9A089B4336F0EE9B43FCF0 /* ConstraintMakerRelatable+Extensions.swift */, - DE20FD85A0868D0EEDC4B827FC5FBF16 /* ConstraintMultiplierTarget.swift */, - E47C24C9E09A123619563D5F7FB0CDF0 /* ConstraintOffsetTarget.swift */, - 34D48950F27FF4654DB84E4C7DF47F76 /* ConstraintPriority.swift */, - C5215357429D8EA204EE12B191514F93 /* ConstraintPriorityTarget.swift */, - 11D55BE75ADCB999D07155CF0EF3CC35 /* ConstraintRelatableTarget.swift */, - 974E848FB013751BB9CC1F6737249D2A /* ConstraintRelation.swift */, - 6A15CE2114798C7DF1E85D42389A4564 /* ConstraintView.swift */, - EF6466B2CDFFDD0EE39DEA95F0A41305 /* ConstraintView+Extensions.swift */, - 51E4CAC9C5F684CB8FE11146529161D8 /* ConstraintViewDSL.swift */, - BBA7D19A35E045E7A572B547EFDB0933 /* Debugging.swift */, - 1FA400B74FCBF7D2B5EF3560299C861C /* LayoutConstraint.swift */, - 0F2AD37C6A839CE397E45D4A45248051 /* LayoutConstraintItem.swift */, - B46D92C74028BCB0D4FFE2AB83E6CF3B /* Typealiases.swift */, - 3A6E512733535C8B693231B7295040F3 /* UILayoutSupport+Extensions.swift */, - 18FBE5707D051239CC7BB06DEA2296F7 /* Support Files */, - ); - name = SnapKit; - path = SnapKit; + name = Products; sourceTree = ""; }; - 3C741346D4242BF9A218B43B291D4D6C /* Alamofire */ = { + 2B5B4D281E388C2C15F3BF65762B8749 /* Alamofire */ = { isa = PBXGroup; children = ( - E266949416C7AE1F7A986201A7DE7761 /* AFError.swift */, - B6D4F3D5917C20DD8E4D57B04803FB62 /* Alamofire.swift */, - 5DCBFE494DC58D5A2DD337AB33BDE86B /* AlamofireExtended.swift */, - 358DAA2B9E4EBB5587E050278C4D2477 /* AuthenticationInterceptor.swift */, - D3CE376A4FEC2AE77F20CE6DAA638D4F /* CachedResponseHandler.swift */, - 28BD79B48447D9D9387B3CA0BAEC9D99 /* Combine.swift */, - 9682883A9FB9227A30E426B7B22A4AE0 /* Concurrency.swift */, - DF7C6EBF0BA06F19F06C3F78EB8C1DF0 /* DispatchQueue+Alamofire.swift */, - A664631DAB917B89486AD2B6AEE385C7 /* EventMonitor.swift */, - 0541EE12F83E7E06C39B7A475EAD9604 /* HTTPHeaders.swift */, - 2A91FF48BDA97DEC0CFA09E0B0C8D954 /* HTTPMethod.swift */, - E8356865FC9E775236F741C269CB22B4 /* MultipartFormData.swift */, - B8B0DDFD1A057CBEFE8A57D9CD2E287B /* MultipartUpload.swift */, - 1369099940636AB250657CC692BF3EC5 /* NetworkReachabilityManager.swift */, - 10C3654F11F6F247B7173D268D6C764A /* Notifications.swift */, - F667133DB5025D936CB88DBF5AA52A1E /* OperationQueue+Alamofire.swift */, - 2F21DE94F0437A981AE3D8EF4AE534F0 /* ParameterEncoder.swift */, - 2C25FB8546BC3CEE9E783B694D03F960 /* ParameterEncoding.swift */, - CA5FA378AAE886DA3AC9C16D0DD6BE0C /* Protected.swift */, - 97E005EA91A106712D975AEE786304C8 /* RedirectHandler.swift */, - D3693A926111331029E338FEEDC1D7F0 /* Request.swift */, - 26B1CD47411081568D6BED044060E0CD /* RequestInterceptor.swift */, - 70B328AA2DA9F6D6BC087C830B9E66DD /* RequestTaskMap.swift */, - 1E2EA13F76555343EEC44433CACFFD1E /* Response.swift */, - CAEA2AB218D7E204D19861EC84B7407E /* ResponseSerialization.swift */, - 51395A3F31443E10D5D0D3C251622CFE /* Result+Alamofire.swift */, - D60CC3FAFCB4CC4233D8A3FBDA356B9A /* RetryPolicy.swift */, - 603D763519A2376BDD40B30EEB5570A4 /* ServerTrustEvaluation.swift */, - 7425AE0B86190A421131348A707C2E31 /* Session.swift */, - 2136DEDB2593EA68DA01B65E7BB99118 /* SessionDelegate.swift */, - AA1F87BA0742A1EA0A40E235FE971C67 /* StringEncoding+Alamofire.swift */, - 8DB0DA36B5B0DC606ECB769BC4325CA3 /* URLConvertible+URLRequestConvertible.swift */, - A887DEF81D5E15FF990179C08B1AC359 /* URLEncodedFormEncoder.swift */, - 9E275F1F8736ABE6226C20BBEF403C2D /* URLRequest+Alamofire.swift */, - 60CC6C39DC44366F26892B2B6511EFBD /* URLSessionConfiguration+Alamofire.swift */, - 646FC131B01C9B399908A95A1A7D6E6D /* Validation.swift */, - 1E0002ADCCD2F011D983E5EC92CD7E1C /* Support Files */, + F2E8893CC2CD4C42DF14222F4EA1B381 /* AFError.swift */, + 40F8F8FC8E896CF54990C6083476F50F /* Alamofire.swift */, + 720980564AC80F314307521A850F53A0 /* AlamofireExtended.swift */, + D587E53F740333208B156ADF9CD51B3B /* AuthenticationInterceptor.swift */, + 81B0246DEF4779FFF060497028EEFE3D /* CachedResponseHandler.swift */, + CF8CB965C4EC1995B14A54D4DBDCE01C /* Combine.swift */, + C3EA13BB3D536D4E84858D3646B8014E /* Concurrency.swift */, + 6DE88099051C05F2B2CC4E30CCA31C04 /* DispatchQueue+Alamofire.swift */, + 4B5315396EDBBDED60D29690F6FFE660 /* EventMonitor.swift */, + 4B503E10D803E0857839B5BAD00579DB /* HTTPHeaders.swift */, + 107EAEE19A5E4AAA459BBF7DCFF35C28 /* HTTPMethod.swift */, + 7004D13B2CAE14E35250FD29BC7819DA /* MultipartFormData.swift */, + 3A1876889211DA3EFFF8D66F13B8606F /* MultipartUpload.swift */, + 180196574F4C6A2EA503EEE113D7E1DA /* NetworkReachabilityManager.swift */, + B8C23A27738B5975E26D1B029FF66155 /* Notifications.swift */, + 6FEEE56BABCDEFBA1F584203AAA5128E /* OperationQueue+Alamofire.swift */, + 51444FAEE00EC9DACD445B3ADD8D0CCF /* ParameterEncoder.swift */, + EAC5967E2F4B2DBCC3F196E40B76AB66 /* ParameterEncoding.swift */, + 710A3AA15C7FA4C094BC7278A2983D29 /* Protected.swift */, + 035AB900CB9D4FCE3B754833527218D9 /* RedirectHandler.swift */, + 73D918E505856BB35E3229297A7D48B2 /* Request.swift */, + BDEB83C8FAEFE3CC63F9F814DA3D8341 /* RequestInterceptor.swift */, + 99766486F734DC131C0AB85BFB5C8AA4 /* RequestTaskMap.swift */, + A753CF5BF33F9243A14FAF0AF2923C94 /* Response.swift */, + CD4D22DB86291DC9F571CA3995969FD6 /* ResponseSerialization.swift */, + 4D3F30CED42F29C1B4B138C2EBFBBF37 /* Result+Alamofire.swift */, + CE2BBF541B31E11E856B3C8C1559075B /* RetryPolicy.swift */, + B1979BC71B8388CEF2E410D1F4693EB8 /* ServerTrustEvaluation.swift */, + EEEE5FBEDCCBD735C692CAB265CE5ABF /* Session.swift */, + 627668991D668FCE3BDC0FA5745A7B68 /* SessionDelegate.swift */, + F12D473121D5D2AE5746621B81C91776 /* StringEncoding+Alamofire.swift */, + BE2002B01BE646FE909AF9A67B0D5296 /* URLConvertible+URLRequestConvertible.swift */, + 4664F288F9FB831786A630ECFA101071 /* URLEncodedFormEncoder.swift */, + A5B25A55985A666D3D86D9FB76E22487 /* URLRequest+Alamofire.swift */, + 584C6421C2874DE3375A54E75DA35E94 /* URLSessionConfiguration+Alamofire.swift */, + 254DFBA9316CCDA4B58E3C1DEBEFDE0B /* Validation.swift */, + DEA847AE553BF92BD775929D74837EFB /* Support Files */, ); name = Alamofire; path = Alamofire; sourceTree = ""; }; - 3EA0F66D5F48F0513DCAB213C46E8883 /* Support Files */ = { - isa = PBXGroup; - children = ( - 30384D09BA233758AAE10CB1617CC7F4 /* Then.modulemap */, - 9333AC86CE5E1D168C6206BEEC879F1B /* Then-dummy.m */, - D5A7C25ACDFFA30CA306CE4EAA895BDE /* Then-Info.plist */, - DF5AAAADBEFB98DD71E0B90CA5D6EE94 /* Then-prefix.pch */, - 4CED55A453561E7A37513977A28DFED5 /* Then-umbrella.h */, - 8A53FF7F4C311F1D3DAB84FA08003A75 /* Then.debug.xcconfig */, - 89AD8FFA023EF893E15CF561FF70F38E /* Then.release.xcconfig */, - ); - name = "Support Files"; - path = "../Target Support Files/Then"; - sourceTree = ""; - }; 3FB6ACF743BA35F6328134EC4CED7F6E /* Targets Support Files */ = { isa = PBXGroup; children = ( @@ -1325,396 +1138,365 @@ name = "Targets Support Files"; sourceTree = ""; }; - 42B85A4382E171A46B6763ED4629070F /* Support Files */ = { + 50AE5B0042CD3DC43BDFA69033E4F678 /* Support Files */ = { isa = PBXGroup; children = ( - E2421811EE1C9C5B4A9B655FA86C5287 /* RxCocoa.modulemap */, - 4C8395BDA2FFB7C203360D569C73EB85 /* RxCocoa-dummy.m */, - C9DED1B66A3921B2642A321CF400F7CD /* RxCocoa-Info.plist */, - 55435AE4D7BC14A801AED59B2F4B8944 /* RxCocoa-prefix.pch */, - 780E0176A836E546D207CE4483038658 /* RxCocoa-umbrella.h */, - E2FE14FB813D0BED51D52469FA3EDA35 /* RxCocoa.debug.xcconfig */, - 08342C7E81C77CE0A6ED701C9289A4B9 /* RxCocoa.release.xcconfig */, + 58F2C24360E3F08F46AF5808C720E195 /* Kingfisher.modulemap */, + 67E658F56497B6F95E92CC171DB4AA46 /* Kingfisher-dummy.m */, + F8F2044284634C65E29EED7A8EE3EEE1 /* Kingfisher-Info.plist */, + 86C211C0E27F0C36D15E2CB6EC897DF2 /* Kingfisher-prefix.pch */, + 61B416CA589A337C97015EF24DBDD568 /* Kingfisher-umbrella.h */, + B8E72EA3F69A37BA5AA8DBB27B22C0A8 /* Kingfisher.debug.xcconfig */, + CDBEA15881F780357AEB80F4AD63DB8A /* Kingfisher.release.xcconfig */, ); name = "Support Files"; - path = "../Target Support Files/RxCocoa"; + path = "../Target Support Files/Kingfisher"; sourceTree = ""; }; - 42BC8BB0490DBC60C11FAA4411EFC2CA /* Products */ = { + 5EE21CBB8EFB615AB450D209E054FAE6 /* iOS */ = { isa = PBXGroup; children = ( - 5D797E9A5C5782CE845840781FA1CC81 /* Alamofire */, - C3F44C782D64D7EB20B61CE3844EBFAD /* Kingfisher */, - CE57864A556F6292BCCB5FF8440D034E /* Pods-There-iOS */, - BC432FD48A5932251F1CAFBC4BF74894 /* RxCocoa */, - FF8B264DFE802855D5D67E7CDDABFC3C /* RxRelay */, - 809C5FAB588354C9BA37DC3EAB8CB45C /* RxSwift */, - 979486118B3E90C08386079D57962701 /* SnapKit */, - 9317E4947CA2FE1B5D5999034C09CCA7 /* Then */, + 52554E1C9731D5352FDE9E63F8C5466B /* Accelerate.framework */, + 872D7EFA572ECEE8EF993C27196E16DD /* CFNetwork.framework */, + 4207BEE6DFA63E5CF69828DD467E9674 /* Foundation.framework */, ); - name = Products; + name = iOS; sourceTree = ""; }; - 50690E39BF1A52B6B9348BAD1DB57972 /* Support Files */ = { + 6DDAA857446615BBF2CB93D585241F24 /* Support Files */ = { isa = PBXGroup; children = ( - EEA4CF35914BD29431034CCC4CA1788B /* RxSwift.modulemap */, - 0507656C37789248B52BDAEBE950C81E /* RxSwift-dummy.m */, - 83AF027C040D1D799583FE3C53D2BA5B /* RxSwift-Info.plist */, - 22D4873C8968A9AFF9DEE503F5071CB0 /* RxSwift-prefix.pch */, - BAF16F6D75065670EFBF2F15055AB81B /* RxSwift-umbrella.h */, - 07D74ECF960FC666CD89F75056A4B277 /* RxSwift.debug.xcconfig */, - E51E8E49DDEEEC6197B82EF295582F92 /* RxSwift.release.xcconfig */, + BD01D8893628A54D2A0C318828649E85 /* RxSwift.modulemap */, + 51726A3B096ECD92B4BE6442299A6888 /* RxSwift-dummy.m */, + 0D8C0A8FD1BF7F5F53DAD39AFB54F081 /* RxSwift-Info.plist */, + 7A21E937FDD5F3F9AFE145F095C2D51A /* RxSwift-prefix.pch */, + 844E8E0412CDDAD52312E618E250DCA9 /* RxSwift-umbrella.h */, + ECE3D7863C685441B17909D323C93D1B /* RxSwift.debug.xcconfig */, + 610A258B4117D041EA311FE0D4F95643 /* RxSwift.release.xcconfig */, ); name = "Support Files"; path = "../Target Support Files/RxSwift"; sourceTree = ""; }; - 5EE21CBB8EFB615AB450D209E054FAE6 /* iOS */ = { + C4C8F97068D5F1D048990D2C17ED31C5 /* Support Files */ = { isa = PBXGroup; children = ( - 52554E1C9731D5352FDE9E63F8C5466B /* Accelerate.framework */, - 872D7EFA572ECEE8EF993C27196E16DD /* CFNetwork.framework */, - 4207BEE6DFA63E5CF69828DD467E9674 /* Foundation.framework */, + 1CD0BDB61457148CEEEDFF5E757E8A04 /* RxRelay.modulemap */, + C658A0800D28F71B188746BCFF8FE9BD /* RxRelay-dummy.m */, + 9E6CB787B2F1DFDEB2E1BFC5B67C7786 /* RxRelay-Info.plist */, + 495E2FE5455AE75E6837A7437BBB075C /* RxRelay-prefix.pch */, + 24446A8EFC2933AEA48CC6501B896DED /* RxRelay-umbrella.h */, + 7E921FAF2C76D49894FEBEFB951AAA8F /* RxRelay.debug.xcconfig */, + F751EDB76BE08FCA42C91783FFFB58C6 /* RxRelay.release.xcconfig */, ); - name = iOS; + name = "Support Files"; + path = "../Target Support Files/RxRelay"; sourceTree = ""; }; - 6285DA92986870193F959C69037BEB86 /* Then */ = { + C5B00AA292DE1EB9790A0C2069981007 /* RxRelay */ = { isa = PBXGroup; children = ( - BAF952156F864DE8F911AB3FAD2AFB31 /* Then.swift */, - 3EA0F66D5F48F0513DCAB213C46E8883 /* Support Files */, + C857A07EDAC98C5773AD8FF4CA534A81 /* BehaviorRelay.swift */, + CF150E3036E71411BE5D70F7C9A20DD9 /* Observable+Bind.swift */, + C5AC26A75A4DCF2DF62120375C46227A /* PublishRelay.swift */, + 6E0A4D7CDFDF8C581CF22EEC2C0FEBA1 /* ReplayRelay.swift */, + 08A1FDBD059A732EDC3753506D2E53EE /* Utils.swift */, + C4C8F97068D5F1D048990D2C17ED31C5 /* Support Files */, ); - name = Then; - path = Then; + name = RxRelay; + path = RxRelay; sourceTree = ""; }; - B78CAAE898F2F506F38AE7C452324C81 /* RxRelay */ = { + CF1408CF629C7361332E53B88F7BD30C = { isa = PBXGroup; children = ( - F764A3A8B20324C2F34EC1D6F16152AB /* BehaviorRelay.swift */, - B5586AFC8EB75A3EE3A83307B450CFCF /* Observable+Bind.swift */, - 12A4C8B8EFF951FAD285022B23511A32 /* PublishRelay.swift */, - 26467BCE12DA0A06499ABC6754BEEFDA /* ReplayRelay.swift */, - BA1FCB66D9CBF439A7D5EA6F638AA679 /* Utils.swift */, - 1DC9350A32761BA5D8CC16E780ADFBD0 /* Support Files */, + 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */, + 03C5C200A0787E300053CFA8F53CA094 /* Frameworks */, + EA6A1BC68797CAD1F932C159339076DB /* Pods */, + 192A4B4D1DFB778811656429B4D36D7A /* Products */, + 3FB6ACF743BA35F6328134EC4CED7F6E /* Targets Support Files */, ); - name = RxRelay; - path = RxRelay; sourceTree = ""; }; - C1EDD408ADEFEE44254DBFB90FA5D12B /* Pods */ = { + D0F724C1C577EDDBDAA56F4A24E6CF7A /* RxSwift */ = { isa = PBXGroup; children = ( - 3C741346D4242BF9A218B43B291D4D6C /* Alamofire */, - 1F492CF28B098D032DFCA4F8CC9FDF0F /* Kingfisher */, - E8A9DB955D9F09F4BAEAD97721F39A80 /* RxCocoa */, - B78CAAE898F2F506F38AE7C452324C81 /* RxRelay */, - EB04967713A8E24FC2A4311D5897DAEF /* RxSwift */, - 23EB5AD956FFB4F13E60373BEE3F3E91 /* SnapKit */, - 6285DA92986870193F959C69037BEB86 /* Then */, + 53A0879EC7912ADD13E86EA9562CEBE8 /* AddRef.swift */, + 4A4B30F23533D3593387DB40F428E6C8 /* Amb.swift */, + 7AC22D38C074164E3D5D9CADA9547C3C /* AnonymousDisposable.swift */, + 50AC3B813EF4E421F55DE2E0FCD5C099 /* AnonymousObserver.swift */, + 6461452C06B8605ECB001BC346C91C5C /* AnyObserver.swift */, + 855385488D6B001EAA34784CFD4D4072 /* AsMaybe.swift */, + 4D7720CFEC1EF58FA7358FBFCAC80F23 /* AsSingle.swift */, + 9930D5D82D7D9AF9A4599CC223CFDCAC /* AsyncLock.swift */, + A2A59D17A057BBA460ABED890B54FD19 /* AsyncSubject.swift */, + 563AB85303B287FBBE5053F55176D645 /* AtomicInt.swift */, + DA49E186514D65619FE23983EAC796AC /* Bag.swift */, + ECD93E65F5FFCA7ECAAC986C1056A3B3 /* Bag+Rx.swift */, + D6E5FC2E9F085687E0F5D14CF9410536 /* BehaviorSubject.swift */, + 060DF4508CD9E71EF64F170D4171826D /* BinaryDisposable.swift */, + 589B5DCBD29865837BD32446EFB838B1 /* Binder.swift */, + 1A50D5ED1C53A6D665FF3D865E47A32E /* BooleanDisposable.swift */, + 01E10E28611A298A6EAE86EF489E9093 /* Buffer.swift */, + 2DEE8774EEF8959AAB4722B0794E476A /* Cancelable.swift */, + 04A16185825EBC87070F0294E1082A6C /* Catch.swift */, + 4DC7E4A0392635B4CA930D97C0E613C9 /* CombineLatest.swift */, + 9BE8E24C1DD452484E4541B9975ECBDD /* CombineLatest+arity.swift */, + 08F7F3D357F8394C66FC42DFC5599CF0 /* CombineLatest+Collection.swift */, + 751E2BCF9EEA072DBFDDA7045C85AD5E /* CompactMap.swift */, + C75461932EFF007E374BCAC3E4DD0959 /* Completable.swift */, + 3C7D7D3830CB0BF4CD8C8B7D9C7A64D2 /* Completable+AndThen.swift */, + 586C60BC4AE1A5E9B55904581C0BD815 /* CompositeDisposable.swift */, + B6221D8E557B616FA8C9D3C67082F021 /* Concat.swift */, + 1B20C14E03FF446329B17B8921520F47 /* ConcurrentDispatchQueueScheduler.swift */, + D1B796971D03F0F1DC4C150BCABFDD13 /* ConcurrentMainScheduler.swift */, + 43ADC81E7B186C1B4BEFE99903A8D43C /* ConnectableObservableType.swift */, + 4100FD1FA7881797381F450B5683F96B /* Create.swift */, + BEF1AD4B22CBE0B02873602A6ABD9601 /* CurrentThreadScheduler.swift */, + 4D3351FC50325E6DAE44B85F58E49EF2 /* Date+Dispatch.swift */, + 1FED91CB7BAB408B7F054A4F952904CB /* Debounce.swift */, + 0788EBCE7E78546610D593632B1358FE /* Debug.swift */, + 6A3A0F64E54D7EBB69997EB7302B82EC /* Decode.swift */, + 0FA9E7A216A388A60FEF3376047BC9BB /* DefaultIfEmpty.swift */, + A44DD914888EB1E478F7706FC636220E /* Deferred.swift */, + 16B43BFD3EA4A8BDCE30B6EF79885D65 /* Delay.swift */, + 5B5D82051CBE3C0E5ECC9B437EA8A036 /* DelaySubscription.swift */, + F03A1B55B1FBB5FF5084100CA307B5D0 /* Dematerialize.swift */, + B7B4259327F0F2C937C9610BC90EAD0F /* DispatchQueue+Extensions.swift */, + D437B22EAA093801BCE236E340CBEDBD /* DispatchQueueConfiguration.swift */, + 50D79AB7119770DA3D4CFC430A785079 /* Disposable.swift */, + 52143777EAE425DCF6E0F254A2EE83D4 /* Disposables.swift */, + 5A8EB0715EF64AC2D4FA26C2FCEAE5CF /* DisposeBag.swift */, + 6DFAEE7B3DF034686497C0CFA51CBB89 /* DisposeBase.swift */, + DC05D9699B494D74FC8621E6BF4E0DE8 /* DistinctUntilChanged.swift */, + 4BC0821E5EC77C0618E68B7F1EAA4944 /* Do.swift */, + 4A77498D8601CD2A18C2B266D134A0B3 /* ElementAt.swift */, + EEFDF6CB124667078B438DF8F7EB9D19 /* Empty.swift */, + 2BAD1824DB8363FB113C13EEC0F32A59 /* Enumerated.swift */, + 22CA57B6D7A7C14A2943CC2BD4ADB804 /* Error.swift */, + E8F3AA6F62AC8C1189C0527EAA9BCACD /* Errors.swift */, + 9AFA41360863749DB25290EF39470429 /* Event.swift */, + B193967E6D565C43AC67933DDCA85E58 /* Filter.swift */, + B41285A8512647DBCF32080742F7CD91 /* First.swift */, + 62179499EA0E80E3C049F023201128C4 /* Generate.swift */, + BC3A85F3F8DE421C7AC392CAA457528A /* GroupBy.swift */, + B799A42CD7515AD6ED2B59728A9B0D92 /* GroupedObservable.swift */, + 459327ADC2AB1F0121DAC848FA335CB9 /* HistoricalScheduler.swift */, + 7EEB96B4D038CEE39530658F6B1BD6A4 /* HistoricalSchedulerTimeConverter.swift */, + 7A5353ADD126D1B9B0E043853E331B26 /* ImmediateSchedulerType.swift */, + 9548E45ECB4EAA92384CA6603FE8136E /* Infallible.swift */, + 6F1992927EEBFAD4FAF98E6C6DB3B08E /* Infallible+CombineLatest+arity.swift */, + 65FCD89C77EE61B45C986D7E1C5980C2 /* Infallible+Concurrency.swift */, + 46DA2F54CCFBD4DEEB954509123BAB46 /* Infallible+Create.swift */, + DDEE64D4CD0D86C8CC6067A1A5D87022 /* Infallible+Operators.swift */, + 72CF58AC977381EC12AD727765D8BB16 /* Infallible+Zip+arity.swift */, + C0ABFA4A6E9DB62E603FDAD7A60B1B76 /* InfiniteSequence.swift */, + CFEF93C1E549228A855D54571F4F3DE8 /* InvocableScheduledItem.swift */, + 398E77D40E6428470FC7FB4089F7C477 /* InvocableType.swift */, + 1E6A932A49B59F5E03A011DFCECE09E3 /* Just.swift */, + 3C8343F0F3ADF9A69081CF548E7EA913 /* Lock.swift */, + 676843E43C0FD0072394037646433821 /* LockOwnerType.swift */, + 85538E67B970F891C2B43A933ADF9F2F /* MainScheduler.swift */, + 84B8B4921B1F63A6B9959C8B8B4437E9 /* Map.swift */, + AAA0047936D84B9E020F164BE4137F33 /* Materialize.swift */, + C04709767D68410FBE4F4622835C586C /* Maybe.swift */, + E16DEFE4761DCC0C7D3A904967C331F7 /* Merge.swift */, + 810D5AD632625CD4138ABBAE21581C4E /* Multicast.swift */, + 1732BDD05A1B2DCAE38A22A2E52CADFC /* Never.swift */, + 47585F17D6C493BE1807B82D30857796 /* NopDisposable.swift */, + F3F21960E5C9703505BE6AAF1A2EC108 /* Observable.swift */, + E4E5B47E38D693DF8FEE28E60E2A191B /* Observable+Concurrency.swift */, + 1434856504F77C2AF33D72E73A70E9F2 /* ObservableConvertibleType.swift */, + 155A1D09FF5B23C3E7C5BB03569CBC7C /* ObservableConvertibleType+Infallible.swift */, + 791B0942F84333022C4891B489680957 /* ObservableType.swift */, + D646E52366D7700C747071AA3048F803 /* ObservableType+Extensions.swift */, + C40172426AA49C960570533F04EDAC56 /* ObservableType+PrimitiveSequence.swift */, + 4E2901BCCE211D127E9D644FCDAAEF7A /* ObserveOn.swift */, + 7A0E266DEF48B263F2364D5D311C1712 /* ObserverBase.swift */, + 67082E4E25595240E61CF45204D156A0 /* ObserverType.swift */, + E210F51C92F96757E15DFADB012320B0 /* OperationQueueScheduler.swift */, + 2CB7090BE8D4A820293523F3E9316A87 /* Optional.swift */, + 5667B4FAB3C320031E30415B6606AB22 /* Platform.Darwin.swift */, + 8381FF8F3A46CE4DD141C7E1F642DBF8 /* Platform.Linux.swift */, + 21BFEF37444D53516798550E03FF9BEB /* PrimitiveSequence.swift */, + 67923D634A8B8C86AF9859C7FA400A6D /* PrimitiveSequence+Concurrency.swift */, + D1D15BFBCC93AD6CA42DAB63BD96F143 /* PrimitiveSequence+Zip+arity.swift */, + C985A3EBABEEB27E181011B6B8A5B365 /* PriorityQueue.swift */, + 6BFCBA19A72971A1A3CFFF7AE0258A40 /* Producer.swift */, + 06EF59092D94C47E9B9ECA701EED9931 /* PublishSubject.swift */, + 19C817FBB0990767A0DB5E231108D2B9 /* Queue.swift */, + 1FA9DFC19E22B240C7876DD14FC2D856 /* Range.swift */, + D49A250E5660E52FB3ED481F5453E468 /* Reactive.swift */, + 53175CAB142FE09893D8362D65F2FC4E /* RecursiveLock.swift */, + 0DF2409DEC699702D8BE3985399F6DC2 /* RecursiveScheduler.swift */, + AC5C08E887C8964A0180C1B98C0537E4 /* Reduce.swift */, + 6B676FD3CB23152BBFE395F467934BDF /* RefCountDisposable.swift */, + F525585EB6ADCCED14723483885C996F /* Repeat.swift */, + 784EE0ECF0D461F59C8235C6D9DD4235 /* ReplaySubject.swift */, + 794E832D7BFC2202E0BAA2D8B4CFD8AA /* RetryWhen.swift */, + 13EC9E362B3AE9B0D5203E10EE27F15B /* Rx.swift */, + ABEA662FBC8AEEA7DD1E8CEA9B05DC13 /* RxMutableBox.swift */, + B9C5DAE538E29783165FF88D9D443E4F /* Sample.swift */, + C4D2107F7E7CA901BEC39C8808706FCD /* Scan.swift */, + 82FFE850E5116771090CBEEAD0D544BC /* ScheduledDisposable.swift */, + D972429E029A1490A40C133607C81B2F /* ScheduledItem.swift */, + 5B537B4474A6B0D3C117F31EFE7CE9BB /* ScheduledItemType.swift */, + 14D4AAC0B9F44CACAB560017F756D101 /* SchedulerServices+Emulation.swift */, + 0B3BB0D4F74979A9A72EE69983C7356E /* SchedulerType.swift */, + E140A7754B0749E155F8E8E3C31DEEF2 /* Sequence.swift */, + 75A4B469744B03B34A6A5E4C2FD29706 /* SerialDispatchQueueScheduler.swift */, + 2710A5C58FB5D38DE88893B0EC1D5812 /* SerialDisposable.swift */, + C8A18DD4ACC119C70D18792585C5F434 /* ShareReplayScope.swift */, + 4C78E16FA67F5AF3CF5161CE98BFA398 /* Single.swift */, + A9166A55504E2F4CF90E0A141C684609 /* SingleAssignmentDisposable.swift */, + ACAAED49289E38E4347A0DA89EB9D124 /* SingleAsync.swift */, + A20C9D95E7E31090FCF766166CEE8348 /* Sink.swift */, + 2F03FE47257AE08BDECD446738800C67 /* Skip.swift */, + 3E52E8485BEDD9177E8632291D3D44AB /* SkipUntil.swift */, + DB01656DD6DE09055004A2451DD90DEF /* SkipWhile.swift */, + 2094A6FA4F4A14BC5ADE62BC559C6519 /* StartWith.swift */, + BDADCE362410B693329FBFA129EF5FC2 /* SubjectType.swift */, + 3167E822221C6F0409B0E5984EE01373 /* SubscribeOn.swift */, + 89FA4653A9DB20B46B5EAD969CEFD408 /* SubscriptionDisposable.swift */, + AF06CFE909D53A45328924B0E25B641A /* SwiftSupport.swift */, + 858053529BB3FEAAD613BA94C8D843D1 /* Switch.swift */, + 4012532D3D1DB3E46A111EBBC4C6E6E8 /* SwitchIfEmpty.swift */, + 96EEAF7699B2B1EB0F28008019EB0076 /* SynchronizedDisposeType.swift */, + C3E9BD1B82DC1C63D878259269A75296 /* SynchronizedOnType.swift */, + 1C3220C7BA3A9F66031E87DFA118ACFD /* SynchronizedUnsubscribeType.swift */, + DED5650E3A6F5A3467C00F53CC1456E1 /* TailRecursiveSink.swift */, + D4C64FBE5B05FA4E07A3D9251DCBF891 /* Take.swift */, + A7262E1B9BBFFBD9E0D2418C8513DFB6 /* TakeLast.swift */, + 2A0012C71C40284C3A59CBE7ECD0DAFF /* TakeWithPredicate.swift */, + 313AB55529116923DFCA1BE47322693F /* Throttle.swift */, + 687CE1566B344748F0FE85E51A9BF025 /* Timeout.swift */, + A64A6001FFE9EABDCCE022D89F339336 /* Timer.swift */, + 0BF895F7443BC545CB58471AD36FFF75 /* ToArray.swift */, + E15869FB78995CF1C2B6675D7275DB50 /* Using.swift */, + 8BD52EC9995315E6CC0E92D042F1D87C /* VirtualTimeConverterType.swift */, + D66786BC6FF3B760EBE08E8983413C84 /* VirtualTimeScheduler.swift */, + 412E15B01A1AC4D62C2A091BF7C0BC49 /* Window.swift */, + D991BC4F90455DA227CB5911DBE71D81 /* WithLatestFrom.swift */, + FBB2D27EBB6E8E4CB66D65603511BFC0 /* WithUnretained.swift */, + 4A3C02E23BCDD3860873163D1B3E216E /* Zip.swift */, + 4AFA537C2BBA71F66CC1125DF51BB8F1 /* Zip+arity.swift */, + 295491827D508CA3887131657ABFEBCD /* Zip+Collection.swift */, + 6DDAA857446615BBF2CB93D585241F24 /* Support Files */, ); - name = Pods; + name = RxSwift; + path = RxSwift; sourceTree = ""; }; - CF1408CF629C7361332E53B88F7BD30C = { + DEA847AE553BF92BD775929D74837EFB /* Support Files */ = { isa = PBXGroup; children = ( - 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */, - 03C5C200A0787E300053CFA8F53CA094 /* Frameworks */, - C1EDD408ADEFEE44254DBFB90FA5D12B /* Pods */, - 42BC8BB0490DBC60C11FAA4411EFC2CA /* Products */, - 3FB6ACF743BA35F6328134EC4CED7F6E /* Targets Support Files */, + 2F30E28E179BC40DB103FD9650DB32C5 /* Alamofire.modulemap */, + 30764A6124778F45A20AC59D3D520B6C /* Alamofire-dummy.m */, + 08FBE9002A0EE208FA02A76E930B2DC6 /* Alamofire-Info.plist */, + 008D27BC46BC606647A1E97E86F08EC9 /* Alamofire-prefix.pch */, + D971E3B9BAE2AE9CAE660E4495419BEA /* Alamofire-umbrella.h */, + 52B734ED0DA76190B3AC4C46F9489089 /* Alamofire.debug.xcconfig */, + 901FEA9354851243A07A818AB61A488C /* Alamofire.release.xcconfig */, ); + name = "Support Files"; + path = "../Target Support Files/Alamofire"; sourceTree = ""; }; - E8A9DB955D9F09F4BAEAD97721F39A80 /* RxCocoa */ = { + DF86BC41C57D98F4DA0B8FA8C618D3A1 /* Kingfisher */ = { isa = PBXGroup; children = ( - A075621CE539BDE37EB74B766E920862 /* _RX.h */, - 7ADFDFBB232B20320B048DB95C656DCF /* _RX.m */, - 42AF3D32E74844540839E2E372746C95 /* _RXDelegateProxy.h */, - D4C260821F3355A8D3ABA482ED863676 /* _RXDelegateProxy.m */, - BA7374E08BD77EC7B39B3539474F0A32 /* _RXKVOObserver.h */, - 40AFECF8EE3CC898ED0743129D06D087 /* _RXKVOObserver.m */, - 6C727459A08E794B0412C703A8824E55 /* _RXObjCRuntime.h */, - E26E92CBC0FCFC8BDC931D35CE1E96EE /* _RXObjCRuntime.m */, - 87AB57B81BC7D19E0C97FD4C2D586541 /* Bag.swift */, - 2A04EA5FF19C6B7FE5D24A96A8A579AF /* BehaviorRelay+Driver.swift */, - 634F1310DDDCF2A124C3C0806E578FF2 /* ControlEvent.swift */, - AB60AFB20DFE05A6E5F37FF915441C1B /* ControlEvent+Driver.swift */, - 60D594328B73008C69B795A38C238228 /* ControlEvent+Signal.swift */, - 37ED7806674C4F72D11A094114F6B5FB /* ControlProperty.swift */, - C84D5CEF7870B54A1135523F0884A956 /* ControlProperty+Driver.swift */, - E5B77D608A1D372965EF3ECEBF567934 /* ControlTarget.swift */, - 13E54304FE547D6F19E4D2416D2AC346 /* DelegateProxy.swift */, - 27A69DD59D54551EFAB687D216284D7B /* DelegateProxyType.swift */, - C5B410F4A0BE420D44C466F881C99D2C /* DispatchQueue+Extensions.swift */, - F9F5CAC1EDF2B44D3301E0172254C6D6 /* Driver.swift */, - 90B8C2D67A7A4AB7243CC7062B49441F /* Driver+Subscription.swift */, - 0B17F1A3A24F643762E6B55EC8A52C36 /* Infallible+Bind.swift */, - 64D056D73DACA21B11089A038C892D21 /* InfiniteSequence.swift */, - 7EF73088160BC1E445ABA621835F550C /* ItemEvents.swift */, - B19292ABC27D8557E07D97751DF088CB /* KVORepresentable.swift */, - 6276AE8F0E37FDC7EAA0930B72656BD1 /* KVORepresentable+CoreGraphics.swift */, - 03A61FEED2484E27DD338F416EFBD5F2 /* KVORepresentable+Swift.swift */, - F7FC04867F5BF4E0A42DEF2F72E634EF /* NotificationCenter+Rx.swift */, - 35227468433DC8E345E8640C2F0166BC /* NSButton+Rx.swift */, - CF997BA16163896793A7485A2663806D /* NSControl+Rx.swift */, - 2A6C0EB9B5EECB41206B66AC0F15C629 /* NSObject+Rx.swift */, - 0A7022928BBC808C5A71728FE1CD9E4A /* NSObject+Rx+KVORepresentable.swift */, - DFACA8A2950430A3DC8D906B8634E45C /* NSObject+Rx+RawRepresentable.swift */, - DDE6EED322F77EB0A4D538B6446EDC56 /* NSSlider+Rx.swift */, - D0CACF64471AFF0470B5E42C9B46037D /* NSTextField+Rx.swift */, - E79BA51E0D886B86DAB8E186842517EB /* NSTextStorage+Rx.swift */, - CC959D963C45093881E59A7D62D07FC1 /* NSTextView+Rx.swift */, - C49A13838C81BACC20199E208538B3B8 /* NSView+Rx.swift */, - 679B1D18592F3482375D81C361FDA166 /* Observable+Bind.swift */, - 78E9510A4CA460640E1916026B3FF850 /* ObservableConvertibleType+Driver.swift */, - F2128C5F572304D9CE4AD3413F5F20BD /* ObservableConvertibleType+SharedSequence.swift */, - CE8ADB821682AF228C4FD9BA20B10E1C /* ObservableConvertibleType+Signal.swift */, - 4F09D78410DD73D2369B5402471248B6 /* Platform.Darwin.swift */, - 505248F8BBCE74AE90A0319FAEB54D28 /* Platform.Linux.swift */, - AC43E89136D5320B447049628E1C8544 /* PriorityQueue.swift */, - 08D828BB5ED98FFCED04733F53C0164D /* PublishRelay+Signal.swift */, - 137F5CBC3071C4785D4AB511F73B3D46 /* Queue.swift */, - C081583615AA896E03775390E21AE5F8 /* RecursiveLock.swift */, - CC6211ABFF0E7C22F06CE29BE02CA652 /* RxCocoa.h */, - 785E0F6C5CA46EA33D98898BE6977970 /* RxCocoa.swift */, - E5BA74BF40B3BBE425DE26E53D5C990B /* RxCocoaObjCRuntimeError+Extensions.swift */, - 5FA5BB426732446D6C8EC23D1739B538 /* RxCocoaRuntime.h */, - 1DEE7942DA2933AD0DE8D92487F28A7F /* RxCollectionViewDataSourcePrefetchingProxy.swift */, - AD6A756A303F3D840680A55EE3996D04 /* RxCollectionViewDataSourceProxy.swift */, - 86492500A6402F964E075FACAEF01A3E /* RxCollectionViewDataSourceType.swift */, - 7EE59B9FB330590B231A240FE174AF8A /* RxCollectionViewDelegateProxy.swift */, - C3B1FC3A97FC25696485D0B9F5CA47E0 /* RxCollectionViewReactiveArrayDataSource.swift */, - C1681861BBDA70E403E80CA49A445375 /* RxNavigationControllerDelegateProxy.swift */, - 7C47B06900D152D91714F8930D442A94 /* RxPickerViewAdapter.swift */, - 610D60209B13D08D145176FAB45012B0 /* RxPickerViewDataSourceProxy.swift */, - 8627535079D650264EE5F518A61C4952 /* RxPickerViewDataSourceType.swift */, - 66E22DCD934936B599621C78FEC8ECA2 /* RxPickerViewDelegateProxy.swift */, - C8FA96DF00CC51AFC9A95824FB710B28 /* RxScrollViewDelegateProxy.swift */, - FCB720609329B670F8E8AC3808D3BC45 /* RxSearchBarDelegateProxy.swift */, - EE65B39F824473BC883FFA45AC0D3690 /* RxSearchControllerDelegateProxy.swift */, - FB5B51A7D789E669AFF0CC71360AFD39 /* RxTabBarControllerDelegateProxy.swift */, - FF1E73DCBB47ED856D69322088CA7932 /* RxTabBarDelegateProxy.swift */, - 234D2EC8057B0F8D9E4935F1628336E2 /* RxTableViewDataSourcePrefetchingProxy.swift */, - 3D5CE6220EF4EE89BC1611C87A1B485A /* RxTableViewDataSourceProxy.swift */, - AD0931A895BB76990F9827F0A182B6DB /* RxTableViewDataSourceType.swift */, - 30F1F6AAD561B939842A0DDFB524A1F8 /* RxTableViewDelegateProxy.swift */, - E1A41264B1C246AFE72507244BE6F511 /* RxTableViewReactiveArrayDataSource.swift */, - DBE85F9EC0B9324A6D99F3BBE5A5A1D9 /* RxTarget.swift */, - A604F918712336CD1923A3E79BD132D2 /* RxTextStorageDelegateProxy.swift */, - B38AC9CD131E9D354B7866DF3989A835 /* RxTextViewDelegateProxy.swift */, - DF317EAAC9323039312A970435204F41 /* RxWKNavigationDelegateProxy.swift */, - 09F941505D9321A4FA63E02F11B9110B /* SchedulerType+SharedSequence.swift */, - FD5C7120A18D227A82997EED2A913F55 /* SectionedViewDataSourceType.swift */, - FF6F52DB7F7E19CF6F1E3AD8EE7ABF96 /* SharedSequence.swift */, - 8FDBD87FACB64B79AF66EA5E4853AA26 /* SharedSequence+Concurrency.swift */, - 5AB89D57D0DD2B7478CC2A47BD314CC2 /* SharedSequence+Operators.swift */, - CDCBCE2E3BA3768C414D11C5495C08C9 /* SharedSequence+Operators+arity.swift */, - B38BE2295FE2397D41A09552883D41E2 /* Signal.swift */, - 1942FD2F210A125D8DBA83E84FF0BD6B /* Signal+Subscription.swift */, - 17456EFBA956D5E0DCED1D3253D633F6 /* TextInput.swift */, - DA07BA8FE6748A737F5CCD20E4944E38 /* UIActivityIndicatorView+Rx.swift */, - B3A8466F726C0577EE51ED0D0CB2FA2E /* UIApplication+Rx.swift */, - DB6E79ECB4E9126F4A7C583D73F0B07F /* UIBarButtonItem+Rx.swift */, - D75E3F2F55F1E25FACE68CEE13F42681 /* UIButton+Rx.swift */, - 636A098DCA586733FE77B8F29C352F57 /* UICollectionView+Rx.swift */, - D17D1A0E6B4CE6A8F8FEBA2124CC9F2B /* UIControl+Rx.swift */, - AAC0A5EA734A3D3562F6A3C68DA95FCD /* UIDatePicker+Rx.swift */, - 6EB1862A3CC0798C6A24F748B398D9F6 /* UIGestureRecognizer+Rx.swift */, - F9743CC92474B8BDCC8075EBCE07D09F /* UINavigationController+Rx.swift */, - 686C9ABA5260DC1736D582EB21EB3170 /* UIPickerView+Rx.swift */, - 6799C58B8E68EE4D3671B2DBD9DEEA2C /* UIRefreshControl+Rx.swift */, - 94C6C4981AF08F7ACC83F059A99ED6B4 /* UIScrollView+Rx.swift */, - 6050A1249660A9E7EC5EEDF8D9330913 /* UISearchBar+Rx.swift */, - 3FA8F6297A67E9AEAE3ECC951A04CBBC /* UISearchController+Rx.swift */, - A0392E7F88A95B61FB8FA05CDD0C277C /* UISegmentedControl+Rx.swift */, - 36AFC22478324A257BF620E092E45422 /* UISlider+Rx.swift */, - 0C96B4767D47F0CD1AD231D074977B8C /* UIStepper+Rx.swift */, - 7B68448B96DB3E77C5C2170A1871CF92 /* UISwitch+Rx.swift */, - 7290C238EDFE8CBB4693E81249FDDDB7 /* UITabBar+Rx.swift */, - C3CC5D0B21A15FD96C484088E9FCBF9C /* UITabBarController+Rx.swift */, - 8DFB8933200B3D6EA07BDD5A6EC3A405 /* UITableView+Rx.swift */, - B0A2F406CF49BBA3F6A9915F18143063 /* UITextField+Rx.swift */, - C7AA88545E06E602F1F3E8860FB21206 /* UITextView+Rx.swift */, - AC750FE624FE723D48BF5FC95ED42684 /* URLSession+Rx.swift */, - 7F165BD2274B8D44D7378ED421062D22 /* WKWebView+Rx.swift */, - 42B85A4382E171A46B6763ED4629070F /* Support Files */, + C39605861A75B23A511D075AF23546D2 /* AnimatedImageView.swift */, + 5FFCAEA7668B03A52CFF43D566250417 /* AuthenticationChallengeResponsable.swift */, + 3D1F4E3D2613458B541B68A3715A1F81 /* AVAssetImageDataProvider.swift */, + 2287F093DBC10BC57C102E18B019E333 /* Box.swift */, + 7615C57CFFD715E1AC4A3AFBD0F96D1B /* CacheSerializer.swift */, + 9D8B61750C8BAAF46DFBC184F5344B80 /* CallbackQueue.swift */, + 10929DC4D0C1C63F65E5ED1A691279B9 /* CPListItem+Kingfisher.swift */, + 98B2EE21A737EEFCAD2B57F31F0462AE /* Delegate.swift */, + D21FBE05863BC38372B8421AA4F1AAF8 /* DiskStorage.swift */, + 3C24DE0414809B62C9E2FDC74CFBC808 /* ExtensionHelpers.swift */, + F7A08AC809AFD67CDD3B4FD02629015E /* Filter.swift */, + 6F1D27503CE135C3D54F987051C45F85 /* FormatIndicatedCacheSerializer.swift */, + 59813941BA80AA3F02042957C14FFBBC /* GIFAnimatedImage.swift */, + 67FE9F7C0FBED88E2529038C216FA2ED /* GraphicsContext.swift */, + 2A9790FD98F92A408BE131856794F256 /* Image.swift */, + 7193FF2965FF0A6665461EBF34A0804E /* ImageBinder.swift */, + 5CF25316F497FB2B080F1B937682ADA3 /* ImageCache.swift */, + 0C9330994AAE90372FF5258B43092430 /* ImageContext.swift */, + 5AA282F1442513B9D4A4F680BF173C8E /* ImageDataProcessor.swift */, + 9FBAF4D997BFF2667709D54B12CFB958 /* ImageDataProvider.swift */, + 20939B422F841314A916EFEBC6AC6245 /* ImageDownloader.swift */, + 65A601CE0F70B8D505A82650819F547D /* ImageDownloaderDelegate.swift */, + C70A8D9B9E4A6A019C843F4A46DC7FFC /* ImageDrawing.swift */, + AAB26A201E739AE3C272987EA5C36100 /* ImageFormat.swift */, + E285C37690690B4F522FD714017C687B /* ImageModifier.swift */, + 5FF245DC5E5E5115A0CCE928068EB36E /* ImagePrefetcher.swift */, + 26516EB86A478F9A0948A2385BA1801E /* ImageProcessor.swift */, + A93504BC876FAFEF8FE3285505020CE3 /* ImageProgressive.swift */, + F8DCD6EF2BA9AEA9B7B0A82E4E4B86AF /* ImageTransition.swift */, + 02722377CEA5557BDA9A2CFD60C9FC90 /* ImageView+Kingfisher.swift */, + 2D98381E0E9250B1206C7D158115C501 /* Indicator.swift */, + 567BE6ACB034F4EF97626F4D15100B32 /* KF.swift */, + A42414508823C15D7CBBBDBF234E6633 /* KFAnimatedImage.swift */, + 5A28EC8933B0AB206A9F67DA3A609D53 /* KFImage.swift */, + F6A6FBB3FA0B4E85A975C350FD329D26 /* KFImageOptions.swift */, + D8FE2BB2288AD97BD5446B8F62173518 /* KFImageProtocol.swift */, + FE3F675BC754116E602F5544044876F3 /* KFImageRenderer.swift */, + 78370139B77BD67E754510344118A3DA /* KFOptionsSetter.swift */, + 9EF41FA625AD657C7CFC563F429E9E6D /* Kingfisher.swift */, + 89007878AFF8B9F69939C8A73E5D4C9A /* KingfisherError.swift */, + 6A850B5E9CD1C55B9C2DB4337A32340F /* KingfisherManager.swift */, + 0506603C4536006DE5AD80266F4915BF /* KingfisherOptionsInfo.swift */, + 02DE371B905AFDC8678290C9887024FA /* MemoryStorage.swift */, + 448A11DB14D3B2788E2A0C10C58345C6 /* NSButton+Kingfisher.swift */, + 7F37FCAA847910C20C746E2E93D6E753 /* NSTextAttachment+Kingfisher.swift */, + 9673A6B10FF7272A0A8D84BB45970880 /* Placeholder.swift */, + 5DF8B1C21C11A77C92F432271875B512 /* RedirectHandler.swift */, + 36392ABC092B4FBF622DBE16D5083069 /* RequestModifier.swift */, + AF4FBD4F84F3F34D3610ED29EBD65C3F /* Resource.swift */, + 49E09E42120F22D8569577653A9ABE42 /* Result.swift */, + 0094AC0CA0C70D6D7BD2885EF6848FC8 /* RetryStrategy.swift */, + A5CB0926D59A88DBB7ED24512C52F669 /* Runtime.swift */, + CB86FA52E8E02183238787010CD24DE7 /* SessionDataTask.swift */, + 2E3BC1DED347059AEAE865AA41BF11FB /* SessionDelegate.swift */, + 61121DC00DF38B7FA58EAA2E41C391FA /* SizeExtensions.swift */, + 8B379EC72D5A50ECFD1AEDAD11E99640 /* Source.swift */, + BBE929FE803089E6ABF951E95EB1B206 /* Storage.swift */, + D096F57C02D3FCC4FA4E9309DEECACBA /* String+MD5.swift */, + B867489CAA9A158B6D49D6607E5D0443 /* TVMonogramView+Kingfisher.swift */, + DAFA67FFE8EBFA2B962664CBD52E769D /* UIButton+Kingfisher.swift */, + 5C3A2ADBACF14D1B6CDCC27BC006E1F3 /* WKInterfaceImage+Kingfisher.swift */, + 50AE5B0042CD3DC43BDFA69033E4F678 /* Support Files */, ); - name = RxCocoa; - path = RxCocoa; + name = Kingfisher; + path = Kingfisher; sourceTree = ""; }; - EB04967713A8E24FC2A4311D5897DAEF /* RxSwift */ = { + E65182E093FD1DDB0E7606122D1577FF /* Support Files */ = { isa = PBXGroup; children = ( - 3B0F101C55722F52A00ADDC08CC57433 /* AddRef.swift */, - 9A2F16A1F9F00BDA8F79C00C654CE3CD /* Amb.swift */, - 5DE6E5AA4600F001A83F9820E4D492BC /* AnonymousDisposable.swift */, - 8741833E411E6F1B508277982C0AEC9F /* AnonymousObserver.swift */, - 667BCCC6EF989ADDFF9F676FD2DEC2C7 /* AnyObserver.swift */, - 47D8AA07BE58DD83B97017D9210622B5 /* AsMaybe.swift */, - 09E4839330BA404AF8CDA486B449B05B /* AsSingle.swift */, - 3B49C1013F462364D32376AB8AF311B2 /* AsyncLock.swift */, - E86CC6CB2AE7498DFB6F825C654C87A5 /* AsyncSubject.swift */, - 68B9DFF5147237034DA364C3FA516CCB /* AtomicInt.swift */, - 3408E3237D110A2D17A4F9DAD51D01FE /* Bag.swift */, - C8BE7761AA7EDF740E5A15DE82632D39 /* Bag+Rx.swift */, - 121C60A545BC5C21B7DC71D523760C7C /* BehaviorSubject.swift */, - 986A6F35DC6F8A06E3D5D55C5E1C8A8E /* BinaryDisposable.swift */, - 17D4DADC77B1F1BB73F3B96802D895B4 /* Binder.swift */, - 301C6E0BCEBD551D0030D7E10520E0D7 /* BooleanDisposable.swift */, - 97BC78966CBAF868191F7FEFE2AF62DF /* Buffer.swift */, - 7137171669548A89FD0947DE2F70CB3C /* Cancelable.swift */, - 9A32C24DECAFE475A9EFCD41472154F1 /* Catch.swift */, - 7C4370E79AFE88AE5E47F04A6C28FFFB /* CombineLatest.swift */, - EDB108338BFA9DC329256FA808451C2E /* CombineLatest+arity.swift */, - A2EF1EADD760E9AE6DAB52EC5351A20D /* CombineLatest+Collection.swift */, - 4270B930D638943834E67312DB05D3F4 /* CompactMap.swift */, - DF162A5990A31692642CA4945713F8DD /* Completable.swift */, - 2B3DE857102A08E8F2EE1810539AEC13 /* Completable+AndThen.swift */, - DF3D2C433853B62E78135ADAE7B973C4 /* CompositeDisposable.swift */, - 9823846C303204754B247A0BDF6ED785 /* Concat.swift */, - 277D92B05B634D1126A91F487892EB92 /* ConcurrentDispatchQueueScheduler.swift */, - BE2463CF4E92F3210A0276FE9BEB525E /* ConcurrentMainScheduler.swift */, - D12F42FB81BC21E66F7B0B1CFC3A20A6 /* ConnectableObservableType.swift */, - 505AD183F074879A6B30520F7EB09771 /* Create.swift */, - 9389EF9D0336BE90292F36C593B5559D /* CurrentThreadScheduler.swift */, - 15EBFCEDCC004DECCF938C3CEA295113 /* Date+Dispatch.swift */, - 8A8339466C7D009EF826C170E1AD90C9 /* Debounce.swift */, - 7ADD7DEFE68C53F7062513961FC78461 /* Debug.swift */, - 1CFE3514BFC58CA70037B25A4A735C36 /* Decode.swift */, - C8DAF2426DACB63AF02746FF53F2D89D /* DefaultIfEmpty.swift */, - C9F1DD2F60379679B5B17A76B1696616 /* Deferred.swift */, - CFAE018E2F9B7DD4F5CA60175FDE87DA /* Delay.swift */, - C09926B777B66C9766AF01F6F265E06F /* DelaySubscription.swift */, - 3A0593C337BAA3B21AA5C9669902DEF5 /* Dematerialize.swift */, - 22DF94C952CD13A7218709BF7FABF99D /* DispatchQueue+Extensions.swift */, - DA032F5D9847C548FF785FD079219DDD /* DispatchQueueConfiguration.swift */, - 7759672358133367A026CFFF100B7266 /* Disposable.swift */, - 8DECC1ACEB9D7D92FBD2B29E14C1E606 /* Disposables.swift */, - 34F6EE3A726ADBB32EE42813AFB948F1 /* DisposeBag.swift */, - 5852EAC9E3B19706A61BDEF7DA19B7E1 /* DisposeBase.swift */, - 5A6D991DB3D58444F055CD0B712B5691 /* DistinctUntilChanged.swift */, - DA36C83021D98DE90FEB177307AAEAAD /* Do.swift */, - 184DA5CFF684E2DC848154E734E7AB0D /* ElementAt.swift */, - D037120874B112016F8388503CE29CD5 /* Empty.swift */, - C6FF74D43F87D779AE2282429C5B0B48 /* Enumerated.swift */, - 239CF4FCF2CA0746D76AAF60252BA431 /* Error.swift */, - A90EA43B988B46C5459D233BA833F713 /* Errors.swift */, - ACFFEF9DB2D957EA2190E7217D515F43 /* Event.swift */, - 81891398514B0EA5CD3AA9A0445DDEB3 /* Filter.swift */, - 83EC7773188568506B64A628A29FD2A7 /* First.swift */, - 12EBF0DC1A5B03601072EF15FD855379 /* Generate.swift */, - 8369E4648F3585DB30ED0C7420B05E86 /* GroupBy.swift */, - 8004121F9765A0B714B62EA3E06E1D3F /* GroupedObservable.swift */, - BD553A4B55468BF02042D0573ADD48EC /* HistoricalScheduler.swift */, - 5B7E5897EBDF8FBE8BDCD6623C2F41EB /* HistoricalSchedulerTimeConverter.swift */, - B5FAFD42F7D43384C6B200D149DD1F3B /* ImmediateSchedulerType.swift */, - 068A6E9C30038829A199C8672AA0C979 /* Infallible.swift */, - 3A5384C4A605AF932F372DAAC538F650 /* Infallible+CombineLatest+arity.swift */, - 9F6EEF790427F231334590DCE3E3CC6B /* Infallible+Concurrency.swift */, - 5A58CD7D057EE28BA318D92BBFD801A8 /* Infallible+Create.swift */, - 3436DEE621C359357BA3BF13F33E073F /* Infallible+Operators.swift */, - 83D37690DF4A5E1E936945D336965FED /* Infallible+Zip+arity.swift */, - BDC531A0264E9B91B65C9F12019C5A99 /* InfiniteSequence.swift */, - 03E0983FB0C171121AB92A56D0786CE3 /* InvocableScheduledItem.swift */, - DB55EAC78F857CF686ADF3B4B060FE43 /* InvocableType.swift */, - B7D99A5F81D17E615E68BE3B01918E8E /* Just.swift */, - 680980213D606A3C307D5237BC4AC698 /* Lock.swift */, - 5757A156B9ED6AF45944C0C68D09DB15 /* LockOwnerType.swift */, - D68F2EA8FCB9295EBA18AAE483AD76B5 /* MainScheduler.swift */, - 24CAA72B4308373EC1488E7066216A9D /* Map.swift */, - 173BCC60ADB2D8ACBE08EECC0A5E4BFC /* Materialize.swift */, - AD3E366E6DE937B4024ADA5EE48138EB /* Maybe.swift */, - 8465C45E9E93FBD759A4B73864D23EC2 /* Merge.swift */, - F67AC86AEA728C60EE57148FA6BBA520 /* Multicast.swift */, - 68812FCB1CD2C05CA550FBEC188FAAE9 /* Never.swift */, - 9A654525D87DA5ABC310ED77B8FFBCF0 /* NopDisposable.swift */, - EBF7DB3313290A31E6E7487B1137D90E /* Observable.swift */, - D8C6D6A0A273E5CBC1AA8F31BC7793FC /* Observable+Concurrency.swift */, - 73015DD9E55747CB2D91D4CAC3BC8736 /* ObservableConvertibleType.swift */, - 30759823C9CE6516AACBB05160EF13DD /* ObservableConvertibleType+Infallible.swift */, - 3B084C687C8FCEFCE4852B1A673F74FA /* ObservableType.swift */, - 9FC375C4BA7AE0311FBDFE08B6835B15 /* ObservableType+Extensions.swift */, - B993F56F31C725E1E5CA25413AAB820B /* ObservableType+PrimitiveSequence.swift */, - 00DF743DF0FAA6FE458CABA63A0AAB34 /* ObserveOn.swift */, - 384029CF6AAA0D9C0A572019D325BDA0 /* ObserverBase.swift */, - 6E5D4CAF83FA4976540C145582719E6F /* ObserverType.swift */, - E5BECD02C4A772730853DC7E28DE77BB /* OperationQueueScheduler.swift */, - F2A70264572855BE967A5A6C6D3BAD99 /* Optional.swift */, - E7BF7335FF6D11A25744B6FCF31E5012 /* Platform.Darwin.swift */, - 6F7B98B286348B719EB92A7CA8505611 /* Platform.Linux.swift */, - 9396943C00170C38F62A4F6FBF41252F /* PrimitiveSequence.swift */, - 80C9F35A9CDE73099A44352E6E7A44FB /* PrimitiveSequence+Concurrency.swift */, - 559F537D9EE98F4DBBFA8F2C9FCFB664 /* PrimitiveSequence+Zip+arity.swift */, - 2111A0F3F2516D3CD2BF8A9E92BCAE45 /* PriorityQueue.swift */, - 8FB5398B2B62AAD9A46B5060AE1F2D1B /* Producer.swift */, - 741D4B1EAE87BA86ABEE652CFED1CC88 /* PublishSubject.swift */, - 3479931738D0F1F80BC86AE685523F0E /* Queue.swift */, - 951DFF7A3C099B7077A9004393955170 /* Range.swift */, - DF71006EABC2B7CE1FD3F20EAD5D2FE2 /* Reactive.swift */, - 107459B76CB9D77F6035D19FFBE5EFEF /* RecursiveLock.swift */, - C60DB64107153016B903308B69078B33 /* RecursiveScheduler.swift */, - A6625A8BE682668A570694D038A257D5 /* Reduce.swift */, - 625300D43DB54866F54F44790A3A98BA /* RefCountDisposable.swift */, - 515327C59D95E5C4061D499BA1F0B68F /* Repeat.swift */, - 28B78195A30E35E235446D2B14F3537F /* ReplaySubject.swift */, - 7338F1FF23532AF46F9E8008D26B30FA /* RetryWhen.swift */, - 2A0727B052C55A1F8E0FFA03CBFEEA1C /* Rx.swift */, - 84D3E75D7E621D3A2DF1014FEB8C8357 /* RxMutableBox.swift */, - 6735D933417E3A7792F11221B4948957 /* Sample.swift */, - 31F9A5DA6EF29ED59CBE9D0592B86EEA /* Scan.swift */, - 44989B930B27CD43F60DCD0E3E0B8F9C /* ScheduledDisposable.swift */, - A19B865FFE6A5B37280CC76EEDCF02B9 /* ScheduledItem.swift */, - DE5C49454786AF871262458384B775EC /* ScheduledItemType.swift */, - D228F6C8F517C8A8C3D9E2C7EF99F713 /* SchedulerServices+Emulation.swift */, - 78CD0AE127F2118D1B135D21123B567C /* SchedulerType.swift */, - CDE51B036B3A4486C9241941317E197C /* Sequence.swift */, - 1A8DBCDF74DE5E8D6992D9675633749C /* SerialDispatchQueueScheduler.swift */, - B9490D032196631216F57127B64B19BA /* SerialDisposable.swift */, - C7DF83D544C4549F1E2EB2470DFB510A /* ShareReplayScope.swift */, - 2BDA7A879C586A073E0529EEC703BFCD /* Single.swift */, - AC2D976E804DF6781BDF44DEDFFED8D1 /* SingleAssignmentDisposable.swift */, - D194AB4BFFBB13771291209526471F2A /* SingleAsync.swift */, - 0AFB9151D62833AAB8F324478E76DD8A /* Sink.swift */, - 388EF2864B761DC27213738E991E5EE4 /* Skip.swift */, - A42268A3F11ED3D8B1391D86D7DE4D75 /* SkipUntil.swift */, - 05B2BEDE05FF4EA28EBD0304373085E8 /* SkipWhile.swift */, - 0A5EF8FFE726374C905F8B707734CE0C /* StartWith.swift */, - CAE75034A0C45C468312CBBB58D7B435 /* SubjectType.swift */, - C9EE1581D88A8DC5A6B4BAEBED387C17 /* SubscribeOn.swift */, - A97B289458AC803EDFEBD1E061C3931A /* SubscriptionDisposable.swift */, - 424A702748AA121F5FEB193B1191483C /* SwiftSupport.swift */, - 436E6B8122FFBFEC2355E92A4369076F /* Switch.swift */, - 3CD972556106FCAB1416701D5AFEBBC6 /* SwitchIfEmpty.swift */, - 478E5AC81408D14D72E89C0DCFC82FB4 /* SynchronizedDisposeType.swift */, - C67A73189CB386B8D58D186B82E98684 /* SynchronizedOnType.swift */, - 4D02EF97FDBB7982690195FA389A8EFC /* SynchronizedUnsubscribeType.swift */, - 85007FF21F76B4ACF8C66BD5A328F146 /* TailRecursiveSink.swift */, - 50108B124006A165C4BA439D5C83CA39 /* Take.swift */, - 6150A67385F2551D9AC90B6E0F6C85A0 /* TakeLast.swift */, - 799B75660C1716D42B9B3723AD8262EB /* TakeWithPredicate.swift */, - D4949EDAC2D6B42BB1D0463611EB6CEA /* Throttle.swift */, - ABF9455485697E9BC09FC01DDC12B9C9 /* Timeout.swift */, - 8149E991589AA0EB06A5CFF14BEBB265 /* Timer.swift */, - 0D7571F27360DE22ABE7C89C327901C3 /* ToArray.swift */, - A4558050D670F650FBA7E8380E5DBA7E /* Using.swift */, - 7A78CCB27913900B58ABE701A103B12C /* VirtualTimeConverterType.swift */, - 6DA063F5256A347D7D081C46F96F5FA7 /* VirtualTimeScheduler.swift */, - B7F39213C0178184C8FE1F396BC6FA23 /* Window.swift */, - 54DC3B1CA2300B64603FB538AEE12921 /* WithLatestFrom.swift */, - 74248FA6486C900879416076682443CF /* WithUnretained.swift */, - 4E7C6F96F576B353969EC8330148F91E /* Zip.swift */, - A2AF511FA4A7880DD68E6DD9D4B5EC65 /* Zip+arity.swift */, - A297C8D784BBC859E9C6201E49BF4E13 /* Zip+Collection.swift */, - 50690E39BF1A52B6B9348BAD1DB57972 /* Support Files */, + BCCE83C628D5D1C1C3C3322675C5E351 /* RxCocoa.modulemap */, + 43C0EB62460E4454569B4CD1B4FC5203 /* RxCocoa-dummy.m */, + 1012F600DBABC66096387A37064C5E2B /* RxCocoa-Info.plist */, + 64909AEF0474F7028E482B793D9DC3FA /* RxCocoa-prefix.pch */, + D807106B4F7D9B57524D3CA8BCEC4176 /* RxCocoa-umbrella.h */, + 8185251BFE165EDB58E882098C9E7AFE /* RxCocoa.debug.xcconfig */, + 7B878A062FF9D6C1461C17F743268255 /* RxCocoa.release.xcconfig */, ); - name = RxSwift; - path = RxSwift; + name = "Support Files"; + path = "../Target Support Files/RxCocoa"; + sourceTree = ""; + }; + EA6A1BC68797CAD1F932C159339076DB /* Pods */ = { + isa = PBXGroup; + children = ( + 2B5B4D281E388C2C15F3BF65762B8749 /* Alamofire */, + DF86BC41C57D98F4DA0B8FA8C618D3A1 /* Kingfisher */, + 1566D1B16D4342C50761BC4263E0B7B3 /* RxCocoa */, + C5B00AA292DE1EB9790A0C2069981007 /* RxRelay */, + D0F724C1C577EDDBDAA56F4A24E6CF7A /* RxSwift */, + ); + name = Pods; sourceTree = ""; }; EFFB9935F73215B588C667B6958F1917 /* Pods-There-iOS */ = { @@ -1751,19 +1533,19 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 0FA7B082CC8A8ED0E90D6684342A501D /* Headers */ = { + 3FC9A43478D492D19FDDCC61D84FC033 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - C02114812E4710098A31FEF736AB2C04 /* RxRelay-umbrella.h in Headers */, + 13ECC256C3202E35E7F10E8AFD3623C1 /* Pods-There-iOS-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 4A22324CD15A4C10BB9FF578307E6845 /* Headers */ = { + 462E71402C6630DBFF89F2C08B9A297D /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 4ABBA9A85C6267823F0DE66AE28BB247 /* Pods-There-iOS-umbrella.h in Headers */, + 1B4BAEF420B9D8BE399C48970B315A34 /* RxRelay-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1775,14 +1557,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 5FA4790A32ECD84F2CEA55509107BD0A /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - A3E3AB7C765C21AE17B1E6EE6560040C /* SnapKit-umbrella.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; 7AE52B176E9872452FD890FC7F460CE1 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; @@ -1791,56 +1565,30 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 9CC08401D48ACAC3A31AC46105AF2710 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - C6266B438FFEB965441ACC859B60EBAA /* RxSwift-umbrella.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - D0482E511DA59C90F7DB62C353302CD0 /* Headers */ = { + FD8B18BE0DE06E429EDBBDDD8B9E4F2C /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - A892A3F92A4B151AD508CFCD080082A4 /* Then-umbrella.h in Headers */, + B712D8ACA3FC7C6EA49F79FAE48B9E20 /* RxSwift-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ - 19622742EBA51E823D6DAE3F8CDBFAD4 /* SnapKit */ = { - isa = PBXNativeTarget; - buildConfigurationList = 58EAA7FF29EA237538F747F2AF468203 /* Build configuration list for PBXNativeTarget "SnapKit" */; - buildPhases = ( - 5FA4790A32ECD84F2CEA55509107BD0A /* Headers */, - 7B7E69B2799BABEB7764F85296B591B7 /* Sources */, - E8E4E7CE8309D3EF7B7476AC57986BE9 /* Frameworks */, - 820C67429A90336F5AF1C850DF03B1B9 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = SnapKit; - productName = SnapKit; - productReference = 979486118B3E90C08386079D57962701 /* SnapKit */; - productType = "com.apple.product-type.framework"; - }; 4622BFEF3DC16E8BD15EEFC30D4D0084 /* RxRelay */ = { isa = PBXNativeTarget; - buildConfigurationList = 269778784575C7CEE6CF345E5F298875 /* Build configuration list for PBXNativeTarget "RxRelay" */; + buildConfigurationList = 17A8119249152E0D3C6A7B5E29707595 /* Build configuration list for PBXNativeTarget "RxRelay" */; buildPhases = ( - 0FA7B082CC8A8ED0E90D6684342A501D /* Headers */, - 9638E7E3EEB02D228973E90A870B1422 /* Sources */, - 80FB86D5B48C7906D6A3308C284B8F47 /* Frameworks */, - 44897B73C031A4BA45130CE84BE5657C /* Resources */, + 462E71402C6630DBFF89F2C08B9A297D /* Headers */, + 459AC86F428EDB30EDCDADFA50431A7C /* Sources */, + ACEA1D2CF57BE26C685BE9311B18A507 /* Frameworks */, + BA74F4CAEF5FBFF6FB3B02A76622329B /* Resources */, ); buildRules = ( ); dependencies = ( - A6F4AAB9525BFCDC36C3C2FC4AC65AA2 /* PBXTargetDependency */, + 30E4BAD739FEF6619B4A728F54839122 /* PBXTargetDependency */, ); name = RxRelay; productName = RxRelay; @@ -1859,8 +1607,8 @@ buildRules = ( ); dependencies = ( - F5641F884624390D923F916EE8C4D87A /* PBXTargetDependency */, - 9BA1AB2BA38DC3981FF3C3F1B1BE0B66 /* PBXTargetDependency */, + 82FF524D002E2C0833A0C614BD5633F6 /* PBXTargetDependency */, + D0FF1CED4EF6082D2E4B8DD86B29DA00 /* PBXTargetDependency */, ); name = RxCocoa; productName = RxCocoa; @@ -1869,47 +1617,27 @@ }; B9018C7CAE370BAA9B8B070C612644DA /* Pods-There-iOS */ = { isa = PBXNativeTarget; - buildConfigurationList = 9413EE0A1908035847859B1A9FA07000 /* Build configuration list for PBXNativeTarget "Pods-There-iOS" */; + buildConfigurationList = 457310EA2C33798779015CAA92A0A166 /* Build configuration list for PBXNativeTarget "Pods-There-iOS" */; buildPhases = ( - 4A22324CD15A4C10BB9FF578307E6845 /* Headers */, - E18928B0E001D06ADB8B638DABB4B4EE /* Sources */, - 2D6B7FE2077137ADC4B9D5CD2B4F81A5 /* Frameworks */, - BA8667D0659B11036497CFD17C145EF2 /* Resources */, + 3FC9A43478D492D19FDDCC61D84FC033 /* Headers */, + 4DBFC295B57BF8BF5DA8C68DB80FBC3A /* Sources */, + 9E6552368DDBB20B015CD6D40A4F63B4 /* Frameworks */, + FD185E04A529C1501C498969F1596759 /* Resources */, ); buildRules = ( ); dependencies = ( - ABB54E4A205BEAC76FC7232FD5E0F178 /* PBXTargetDependency */, - 67EE206EE943E1FD95F6520A626F5C2D /* PBXTargetDependency */, - DDAA43563C03A482E97C069C92BA1FB2 /* PBXTargetDependency */, - AD0B1891AE41F7C743761BC54DD91BEE /* PBXTargetDependency */, - 9858238C76F2FA9AA801916E08613BF5 /* PBXTargetDependency */, - 62E8269BBD522BF34914AA3D7AF1875F /* PBXTargetDependency */, - 3DCBE0CEC81283CB2E739376FBB1673F /* PBXTargetDependency */, + 0F05295FF0B6C2BDB9375FEFB3DE4984 /* PBXTargetDependency */, + 91453DDE6B73A7EE2B6964B8EFE65C8C /* PBXTargetDependency */, + ACA64BE0051F468CA7400464C7C662EA /* PBXTargetDependency */, + 1B048A3D94DF906888F5197B08038F7A /* PBXTargetDependency */, + 1B02142E12DF0B051F5572BCD54ECC1B /* PBXTargetDependency */, ); name = "Pods-There-iOS"; productName = Pods_There_iOS; productReference = CE57864A556F6292BCCB5FF8440D034E /* Pods-There-iOS */; productType = "com.apple.product-type.framework"; }; - C17AEFC79E770A2906EFAAB1A3757406 /* Then */ = { - isa = PBXNativeTarget; - buildConfigurationList = 9066CF256D5B92C1B2C5053115F4AC74 /* Build configuration list for PBXNativeTarget "Then" */; - buildPhases = ( - D0482E511DA59C90F7DB62C353302CD0 /* Headers */, - D9DF5AEE1B525A8BA763D0DFA7241A71 /* Sources */, - B110F4A89B80E9EA29019FC5CA16B326 /* Frameworks */, - 08C52A0B42B9DFC342690EC119C9DFCA /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = Then; - productName = Then; - productReference = 9317E4947CA2FE1B5D5999034C09CCA7 /* Then */; - productType = "com.apple.product-type.framework"; - }; E8022D22FAA6690B5E1C379C1BCE1491 /* Kingfisher */ = { isa = PBXNativeTarget; buildConfigurationList = 69ACD8654734266A348C6FF68E734010 /* Build configuration list for PBXNativeTarget "Kingfisher" */; @@ -1930,12 +1658,12 @@ }; EA9EA43B3B503823EE36C60D9C8A865F /* RxSwift */ = { isa = PBXNativeTarget; - buildConfigurationList = DDF60F03B9D6B9DB920C857E6D6BE828 /* Build configuration list for PBXNativeTarget "RxSwift" */; + buildConfigurationList = F0C7FFECC84D3B21B615E64815AE2A88 /* Build configuration list for PBXNativeTarget "RxSwift" */; buildPhases = ( - 9CC08401D48ACAC3A31AC46105AF2710 /* Headers */, - 3669BDD29EAA7DFFF4D400A40B2E9C63 /* Sources */, - FFD02D29ECE359A712C9CC54BE732F6A /* Frameworks */, - 59E89BBFC9584B95F38467E8EB50D59A /* Resources */, + FD8B18BE0DE06E429EDBBDDD8B9E4F2C /* Headers */, + 41F2093EF8324A81AE6C7644C4EAB651 /* Sources */, + 0F11B9723B1F8E858956FC8C2C4A35E5 /* Frameworks */, + 6DCACC222644714DE56396D50BB8ECDC /* Resources */, ); buildRules = ( ); @@ -1982,7 +1710,7 @@ en, ); mainGroup = CF1408CF629C7361332E53B88F7BD30C; - productRefGroup = 42BC8BB0490DBC60C11FAA4411EFC2CA /* Products */; + productRefGroup = 192A4B4D1DFB778811656429B4D36D7A /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( @@ -1992,63 +1720,47 @@ 7AD0C6DCDC9CEC8A3C7C10C7FEE07BE6 /* RxCocoa */, 4622BFEF3DC16E8BD15EEFC30D4D0084 /* RxRelay */, EA9EA43B3B503823EE36C60D9C8A865F /* RxSwift */, - 19622742EBA51E823D6DAE3F8CDBFAD4 /* SnapKit */, - C17AEFC79E770A2906EFAAB1A3757406 /* Then */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - 08C52A0B42B9DFC342690EC119C9DFCA /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 44897B73C031A4BA45130CE84BE5657C /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 59E89BBFC9584B95F38467E8EB50D59A /* Resources */ = { + 5D4809C72FC4B366B262906F436A3EF1 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 5D4809C72FC4B366B262906F436A3EF1 /* Resources */ = { + 6DCACC222644714DE56396D50BB8ECDC /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 820C67429A90336F5AF1C850DF03B1B9 /* Resources */ = { + BA74F4CAEF5FBFF6FB3B02A76622329B /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - BA8667D0659B11036497CFD17C145EF2 /* Resources */ = { + CFEB3E9FD20A01120B40D65B82D8F26F /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - CFEB3E9FD20A01120B40D65B82D8F26F /* Resources */ = { + E9D4145FA41F60FFAB33A07796D9ED97 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - E9D4145FA41F60FFAB33A07796D9ED97 /* Resources */ = { + FD185E04A529C1501C498969F1596759 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( @@ -2058,174 +1770,6 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - 3669BDD29EAA7DFFF4D400A40B2E9C63 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 6ED3A5CD638FF74642646E42A06BDBC8 /* AddRef.swift in Sources */, - 860068685647C2899029AD9CE2553986 /* Amb.swift in Sources */, - A62E30D5D3B39176369CD174F3C81C7B /* AnonymousDisposable.swift in Sources */, - B92C9990F545736F8B0B0E55C4CCE4CB /* AnonymousObserver.swift in Sources */, - 6D9386BC0EFEBC75E2E73453CFBAA6E3 /* AnyObserver.swift in Sources */, - 9C200E849EF7AE92A372EC9471F55EEC /* AsMaybe.swift in Sources */, - BA2F5547E33DE3896FAE13CFCF4B6CBE /* AsSingle.swift in Sources */, - 4C01DAF193723548D6C5243E5A980E44 /* AsyncLock.swift in Sources */, - 98ADE2EA89F52D9836C273F26AB68B82 /* AsyncSubject.swift in Sources */, - D7EAD04E5D701F6ECB66C2817E0401EB /* AtomicInt.swift in Sources */, - EF7B153AC815027AC89BD97DA716A51E /* Bag.swift in Sources */, - 0D4DDCAC1C6B2EF83B5426A0A3569AC8 /* Bag+Rx.swift in Sources */, - 7F8547BD60DC1A7CE3AB27A0BFF6E1ED /* BehaviorSubject.swift in Sources */, - 6381104076CF1CAB85D0CB254225ED95 /* BinaryDisposable.swift in Sources */, - 5DF522ACD3FC75DF7FEC4A234EC71F90 /* Binder.swift in Sources */, - 2C1B1B9CB3006CA2F87C50E8B1C771CC /* BooleanDisposable.swift in Sources */, - B56C6A90DA568F4686DB05FFFD71D01B /* Buffer.swift in Sources */, - 2B5D94DC0FD4BCFB401A3D9D86B4B22B /* Cancelable.swift in Sources */, - AB0BDD39B2181ABE0439F49C2D71186B /* Catch.swift in Sources */, - BA439F3B580CD25CD164C41226C1B29D /* CombineLatest.swift in Sources */, - E5EE27EFDF9833E1112721CB585FD092 /* CombineLatest+arity.swift in Sources */, - 08FF5D9EA234FDD468C6B850C873E96D /* CombineLatest+Collection.swift in Sources */, - 6EE79F60AEA90DFD74B64386D6BF69EA /* CompactMap.swift in Sources */, - C6313D648AD432BF64ACF3D07D0F24E8 /* Completable.swift in Sources */, - 612C192E3094E8FC4E9899087C49FDBB /* Completable+AndThen.swift in Sources */, - FB033DEE229D155CD1297B48F49F8E70 /* CompositeDisposable.swift in Sources */, - 77582C3A097CFC2B647CE274804B41B2 /* Concat.swift in Sources */, - 282666A10E78081508F8B4117D71682B /* ConcurrentDispatchQueueScheduler.swift in Sources */, - C66298F65C993B5F050C3F436156EF74 /* ConcurrentMainScheduler.swift in Sources */, - 131A536C2DA4D6F5E70580BABD653911 /* ConnectableObservableType.swift in Sources */, - ACDB4BA7C4B480945042865EEB7D0822 /* Create.swift in Sources */, - CFA9B8D3B11D4BCFF18A2FC037342FF6 /* CurrentThreadScheduler.swift in Sources */, - 48913A56514EDBCAE69A316CDC25462D /* Date+Dispatch.swift in Sources */, - CD573266DDB3C8BFDAD1336F95BAF17A /* Debounce.swift in Sources */, - 69566AF1992E03BF8EE5364570AE7EEF /* Debug.swift in Sources */, - 63915C84FCD95EE0FB8F3D155EA3C734 /* Decode.swift in Sources */, - B81884116F3776DDADDB13B99CEC20E4 /* DefaultIfEmpty.swift in Sources */, - 7D911636E892B1018441F267D32D7739 /* Deferred.swift in Sources */, - 7C1F9FDC0B9B067A4398340C29AF9D05 /* Delay.swift in Sources */, - 544121222EFB408E5B99BE5A1130E344 /* DelaySubscription.swift in Sources */, - 08FC08A91B50E71BC53597C572F45357 /* Dematerialize.swift in Sources */, - ECAEA45CE324E11A00BFA3C3000D06B0 /* DispatchQueue+Extensions.swift in Sources */, - D5803433D7FE8616DA581F5CACB91E5A /* DispatchQueueConfiguration.swift in Sources */, - 5C7E1C1746C2CBA4E417EA67BF1BC0B0 /* Disposable.swift in Sources */, - 27F13CF848B555C9F367671819E2456A /* Disposables.swift in Sources */, - E7DE440E53C44ABF8420DE8D1E5019C3 /* DisposeBag.swift in Sources */, - 488C04A64631874FCDCC9915715D3BA9 /* DisposeBase.swift in Sources */, - EF46D375A208DEAC49EA0635ED4FEA49 /* DistinctUntilChanged.swift in Sources */, - 07386205AD0FACB2349C3274F43FEB56 /* Do.swift in Sources */, - 5967E140B1CC25706A2729C87EE6B91F /* ElementAt.swift in Sources */, - 56124D39F2C5891E55A193225CB92579 /* Empty.swift in Sources */, - 3212AD100F545FB93CFD10775F89A20F /* Enumerated.swift in Sources */, - F8EE9D3D98705976E520F44BBA9E2F46 /* Error.swift in Sources */, - DCA7008DCB07C60752627076306EFFCE /* Errors.swift in Sources */, - 65AC7DADABB81C65F53F82BDE065FCEA /* Event.swift in Sources */, - E0981B9E4163BD90E4BA203DB919DAFA /* Filter.swift in Sources */, - C12EB5E3035F96B794B1D249F50E0341 /* First.swift in Sources */, - CC94E07C65019389F74E1FDB012B3E43 /* Generate.swift in Sources */, - 655FB34A298FAE0D748BC8D260EAE775 /* GroupBy.swift in Sources */, - 3211B8515EAF5C1D5867575A0D76A2E2 /* GroupedObservable.swift in Sources */, - 67C261102922914AE06421C50B63F3EA /* HistoricalScheduler.swift in Sources */, - 4EBAB86DF596DA12AF0854D9D9CC9331 /* HistoricalSchedulerTimeConverter.swift in Sources */, - B5A452E59BCF8FDCEF23F05D11EBC7AD /* ImmediateSchedulerType.swift in Sources */, - B906116071BBB7342105FD2B9EADEE3D /* Infallible.swift in Sources */, - 45B1D8B8D1C6F0A28D0CE851E7C24ACB /* Infallible+CombineLatest+arity.swift in Sources */, - 79F9E950137589918626B2BE15C3F760 /* Infallible+Concurrency.swift in Sources */, - 24747E3DB7FB2951C3405E80CC228B1E /* Infallible+Create.swift in Sources */, - 9857EF5AEE621FAE36BFFC5DD7590F2B /* Infallible+Operators.swift in Sources */, - E633C9DDB7377E7F83B54AD7EC17B88C /* Infallible+Zip+arity.swift in Sources */, - C17EFE3C21E58C2D6A7623C2E289AF78 /* InfiniteSequence.swift in Sources */, - 2BA28EB622312331F21FB38275665A8F /* InvocableScheduledItem.swift in Sources */, - 2685B136FA3139EE58D381F312D9807C /* InvocableType.swift in Sources */, - C5D0BD8B558AF481B598D2684A9E2D84 /* Just.swift in Sources */, - 200582615F7570110385F8D2781C2841 /* Lock.swift in Sources */, - 7A3F9BAF32B39D6022FAD40CBA6D5DA6 /* LockOwnerType.swift in Sources */, - 2FF61AEFD016BF607384346B9B02074B /* MainScheduler.swift in Sources */, - DAD0F5A5E05EA8A665ED86D4F5A038F5 /* Map.swift in Sources */, - 43258E92F88B0FECF62013F206185461 /* Materialize.swift in Sources */, - E87D14DF37BC2F812B55E9220C6221D9 /* Maybe.swift in Sources */, - 04E929B4C587DDD3A77CDDCEA720C67B /* Merge.swift in Sources */, - 44174BAE26B3D4FF07ADB3A5F6E2F6F1 /* Multicast.swift in Sources */, - 14B0613676994DF624371512C953BD4B /* Never.swift in Sources */, - B222F5A0852EB3E37F4991777766C256 /* NopDisposable.swift in Sources */, - 075CAA2D4B70580D69D457969404CD53 /* Observable.swift in Sources */, - 778221240667FCFBEB8AED6FD1548D69 /* Observable+Concurrency.swift in Sources */, - 9B493FB344C5F6A6206FD8EBDABD7D8F /* ObservableConvertibleType.swift in Sources */, - C3A3522F3C476BD53720CD1A7A99F365 /* ObservableConvertibleType+Infallible.swift in Sources */, - 4B507C529083BCEF528F2D2BB53558BC /* ObservableType.swift in Sources */, - 8AD8514B65BEABCCF5770F560FAD331B /* ObservableType+Extensions.swift in Sources */, - 218E293B7C1EAD37BAAEC3801518B982 /* ObservableType+PrimitiveSequence.swift in Sources */, - 17142A9B508D5CE7E3552A2862596725 /* ObserveOn.swift in Sources */, - D83CF4F5FE97EC5D1D3195004F7467FA /* ObserverBase.swift in Sources */, - A616B20FBA287CEFA20ACD3F1B45F513 /* ObserverType.swift in Sources */, - 1B24F25F98F9D0548B448F382BCF4F9F /* OperationQueueScheduler.swift in Sources */, - C94CB101E0A32A801CCF98E87CA1E0CD /* Optional.swift in Sources */, - 08DC9A11345CFE4109504A7B78AFD301 /* Platform.Darwin.swift in Sources */, - 45BF9BB6DA23CA3F76FAF340438DF50D /* Platform.Linux.swift in Sources */, - 41C2CA4211FF3C81DB91E34119ADF77A /* PrimitiveSequence.swift in Sources */, - 6A8F6858E6199C5C249942D8CF276891 /* PrimitiveSequence+Concurrency.swift in Sources */, - 25A8286598B6DBE9D06CE44E3E7A78C0 /* PrimitiveSequence+Zip+arity.swift in Sources */, - 96F2D5EFCA7301E03079A348147AF50D /* PriorityQueue.swift in Sources */, - 785388FDB0BDD1C2902CD2E699E62EBC /* Producer.swift in Sources */, - C84E716140D41AB0A4839198720DBB9F /* PublishSubject.swift in Sources */, - 3F8201F8AC332D5F3CC40815A9EE4143 /* Queue.swift in Sources */, - 7BF8260A7F555FD2420F7941282138F3 /* Range.swift in Sources */, - CE3413CE1EDF01B4EE4AA545E356413A /* Reactive.swift in Sources */, - 8DD529EC549D3B0500B7BC9A4654F553 /* RecursiveLock.swift in Sources */, - F383848D199E060DAD2402C012004240 /* RecursiveScheduler.swift in Sources */, - 8E375508111465F9BC5F46551C8CDC36 /* Reduce.swift in Sources */, - 5BBA3FFE2DA553B89C4BD1F5CE935870 /* RefCountDisposable.swift in Sources */, - 7E9FA6136923517F36F76334DE26BE43 /* Repeat.swift in Sources */, - 241C9BE7A836496235B90A9A46EBA0B9 /* ReplaySubject.swift in Sources */, - 5A69398D7112CEBC9B8EFB1F0B8A28F3 /* RetryWhen.swift in Sources */, - 3CC7F42B6D45E3A0F126F74B8AB2286B /* Rx.swift in Sources */, - E0AA314A33CFEF41192390CF89181274 /* RxMutableBox.swift in Sources */, - 3889B4972EC32C22F1E2D48851B09FD0 /* RxSwift-dummy.m in Sources */, - B21D8F31056634744F99C37EFAC65773 /* Sample.swift in Sources */, - F7562638014F933D46D339CD76262DF4 /* Scan.swift in Sources */, - 26B3B2F2F89CCC419702DD6658A00899 /* ScheduledDisposable.swift in Sources */, - 762959600EECF43D5CA6956554557CA8 /* ScheduledItem.swift in Sources */, - 9C64067B750C4BAEC69BE0A9DE61B39A /* ScheduledItemType.swift in Sources */, - B9DEF50B0BD59E5781E31CBE0C98ABEF /* SchedulerServices+Emulation.swift in Sources */, - 00248C2FB6FF166D20CE1DEEED4F61FD /* SchedulerType.swift in Sources */, - D60F8A18627E1DA70A97E6485B2CBFF7 /* Sequence.swift in Sources */, - A53EC5D172344068646DF62E39BA220D /* SerialDispatchQueueScheduler.swift in Sources */, - 034331C7BF871D4334C7A5E32C8B1051 /* SerialDisposable.swift in Sources */, - B939537C8BCED75906A50491AEB2935C /* ShareReplayScope.swift in Sources */, - CD532B13C8E342AF63D73DF4BAF557B7 /* Single.swift in Sources */, - 289BF5DC7C33975EA169E923414ACFCB /* SingleAssignmentDisposable.swift in Sources */, - 2D4DF5419B8AC16A55F78CFBD780EEF8 /* SingleAsync.swift in Sources */, - 94E29616EBBC28A7633628E23B82CA5F /* Sink.swift in Sources */, - 90719B00E533621BA8A511038972B5B9 /* Skip.swift in Sources */, - F330A61B0363F4C9C28373797DE5815B /* SkipUntil.swift in Sources */, - 9256A8573CBA80954CCB923819A057CF /* SkipWhile.swift in Sources */, - 2789AF7C8459A43AD8F42563452015AD /* StartWith.swift in Sources */, - 8AA147BF06969F5D675E365125C6D080 /* SubjectType.swift in Sources */, - 61A58472ED03FAECD4DD20B7D24982E3 /* SubscribeOn.swift in Sources */, - 6520F37E594D9B229B1107ED61DA6B1D /* SubscriptionDisposable.swift in Sources */, - 597C84A0C70408B4D42663A15DE898DA /* SwiftSupport.swift in Sources */, - F5E3EF50AF54EAC8E413AC14CAA8DBEA /* Switch.swift in Sources */, - 1A7370E766924FC84B0D70E3E7E7A2AE /* SwitchIfEmpty.swift in Sources */, - DE68B4FEBCB7D3C9205B6B699B0CABBA /* SynchronizedDisposeType.swift in Sources */, - 0CC1C92826F85034F89979385DD859EB /* SynchronizedOnType.swift in Sources */, - C7018D447B3B6F2E112DF11794C5C8AD /* SynchronizedUnsubscribeType.swift in Sources */, - 366D0CAAAC662E5C77A2CABBDF7B3C4F /* TailRecursiveSink.swift in Sources */, - 9ABAA07F86C71AA2B6494416A027D2E7 /* Take.swift in Sources */, - 0440216540E02486CB67CF3029B76647 /* TakeLast.swift in Sources */, - 55540C87226AAAA6D4126239F1262033 /* TakeWithPredicate.swift in Sources */, - 7292E98D3FC744634D80B88F34D6AAE5 /* Throttle.swift in Sources */, - BB57BCC5EB1D905EB15331C56DA2B295 /* Timeout.swift in Sources */, - 38AECFC8339EEC9CFE90423AFCD2E08A /* Timer.swift in Sources */, - F19D75D56566B7C52F5E6715037B7B3D /* ToArray.swift in Sources */, - A93A7776523AA8E3E88C843FD71A93EB /* Using.swift in Sources */, - 44D99C40C61A3D89E03025F2A9FE9DE1 /* VirtualTimeConverterType.swift in Sources */, - A175C1E3F39533E0313369F6102AC3ED /* VirtualTimeScheduler.swift in Sources */, - 1C03E58340983D684127CE8746E9BB67 /* Window.swift in Sources */, - C026F3594B85533B43E125D315A43CCB /* WithLatestFrom.swift in Sources */, - D8727CE6B6ECAA1DBC6ED7A51254E6CD /* WithUnretained.swift in Sources */, - A0F8CB001F871452BAD2E0FEE331EC22 /* Zip.swift in Sources */, - 0ABF09B876F4CAECCAC14DF0C2BA0E47 /* Zip+arity.swift in Sources */, - A5A68783FD4F409AC8F518A146365159 /* Zip+Collection.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; 3C1DA515D615F8CE75565ACE14378882 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -2407,78 +1951,192 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 7B7E69B2799BABEB7764F85296B591B7 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 6EAC8B6FA2D115DE708A58C601DD25E1 /* Constraint.swift in Sources */, - 0B994CDC79B1AD3A7BE62490D27C60C8 /* ConstraintAttributes.swift in Sources */, - 3660B4F629053ABC3C1DF69366770289 /* ConstraintConfig.swift in Sources */, - 9C9548E8B4675954566202F7B87FF0E6 /* ConstraintConstantTarget.swift in Sources */, - 5380454C48A12A6E376122ABD8096968 /* ConstraintDescription.swift in Sources */, - E98DC8FB2578E76A812E0C94BA10E1B1 /* ConstraintDirectionalInsets.swift in Sources */, - 04637C70546B34F93C3A1D79C3F78B37 /* ConstraintDirectionalInsetTarget.swift in Sources */, - 56AC6DC6459AE47E7BC4AF06E5B148D2 /* ConstraintDSL.swift in Sources */, - 604D3C93C17978C23600EC415949AB64 /* ConstraintInsets.swift in Sources */, - 9E02CFFEFE1BEC978B512286F03D31DA /* ConstraintInsetTarget.swift in Sources */, - 69DE75BA185BBAB5FDAA28321F3C849F /* ConstraintItem.swift in Sources */, - 611CEF7FF1EF9EA1BCEF6C73EEE3ACCF /* ConstraintLayoutGuide.swift in Sources */, - 6AC1B881BB319C89AD023A02CDC8FC3D /* ConstraintLayoutGuide+Extensions.swift in Sources */, - EF21586EC3DFF6097A58EEC87376A0C1 /* ConstraintLayoutGuideDSL.swift in Sources */, - 00A2749F46C967ED4725A32357E3FB1B /* ConstraintLayoutSupport.swift in Sources */, - 56A72F6D13D930C4A2568F24DEA33C8D /* ConstraintLayoutSupportDSL.swift in Sources */, - FAB03959C2357E325B19E08BC4775DAB /* ConstraintMaker.swift in Sources */, - 220D6AC9B1B1EC8EFFB204F9C1EAC842 /* ConstraintMakerEditable.swift in Sources */, - A5A8BF973BFE9C9304372A26C9F2E35B /* ConstraintMakerExtendable.swift in Sources */, - 42B6ACFCF650183030867CB3EF345E95 /* ConstraintMakerFinalizable.swift in Sources */, - B43017FEC99D227D4CDD81DD2C27D9D9 /* ConstraintMakerPrioritizable.swift in Sources */, - 183D8B3E057B885EA7DF9A8CDCCE9029 /* ConstraintMakerRelatable.swift in Sources */, - 95E194A3AABB5407231E898B6686F73E /* ConstraintMakerRelatable+Extensions.swift in Sources */, - F7C0960CEEB8F0C18F4503B405EAC08F /* ConstraintMultiplierTarget.swift in Sources */, - A03FDA8BC5741880B1EF11AFD248EF48 /* ConstraintOffsetTarget.swift in Sources */, - 06E43B4751069B47B3BD4AFD936A57E3 /* ConstraintPriority.swift in Sources */, - 4DA72FD7F1FB2C0449EDEF4B8A579807 /* ConstraintPriorityTarget.swift in Sources */, - 55E51F45F1E157D3B4942BA7252C277E /* ConstraintRelatableTarget.swift in Sources */, - 4BAD99B7394E225CEDBF94B8100BCC7F /* ConstraintRelation.swift in Sources */, - B752F7C4BECB65894B1F49421049CE5F /* ConstraintView.swift in Sources */, - F953AA9104BFE0C2DAD639EA60104A75 /* ConstraintView+Extensions.swift in Sources */, - 256558233B40ACA6818F143BBC5B8017 /* ConstraintViewDSL.swift in Sources */, - 5D36B99F3CAB1FC7337082D9581FECA6 /* Debugging.swift in Sources */, - 0591132B5EA1BE4DDA268D8A9C3D0421 /* LayoutConstraint.swift in Sources */, - 98F570DA48370453D648BD526FDAAEAA /* LayoutConstraintItem.swift in Sources */, - BD47CB74CD9B2B4D2D942C9B65748DFB /* SnapKit-dummy.m in Sources */, - B03B5579590D528CBA6D11FF638BC2AF /* Typealiases.swift in Sources */, - 38B9D58E94D9C1CECD7E381C64A2329D /* UILayoutSupport+Extensions.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 9638E7E3EEB02D228973E90A870B1422 /* Sources */ = { + 41F2093EF8324A81AE6C7644C4EAB651 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 60A0FA09C474BBB863D96FF6AA73189F /* BehaviorRelay.swift in Sources */, - 074A4EBCF451449922B3877041F5E5BC /* Observable+Bind.swift in Sources */, - 14A51D6F07A0B004D6D74E2AADAC7745 /* PublishRelay.swift in Sources */, - 4D6D524EA1CFF9B807FBE9D71F22157A /* ReplayRelay.swift in Sources */, - 8CEC7A8B8737C5843EDF231012AE653C /* RxRelay-dummy.m in Sources */, - CCAACEB4253D5F9F925DF8AE580A089C /* Utils.swift in Sources */, + 798AA7CFE4264F21DF40FBBF5F9823B9 /* AddRef.swift in Sources */, + 4B3C7BFE4F04C76E0138F6C848CECA0B /* Amb.swift in Sources */, + CB3E0E31D25A27C84850E93502504057 /* AnonymousDisposable.swift in Sources */, + 13869EAEC8151493AFAFC4463BA5F147 /* AnonymousObserver.swift in Sources */, + D600DE9A22FC628711C94AA36703ADAC /* AnyObserver.swift in Sources */, + B9D1680B501723E4913D2A0F78DF14D6 /* AsMaybe.swift in Sources */, + 99261C92F3102B3EA89768390675BBA8 /* AsSingle.swift in Sources */, + AD1432E0757F9BAB3D64B58E1462A94A /* AsyncLock.swift in Sources */, + A910D36850A2997E988C32FC4577C542 /* AsyncSubject.swift in Sources */, + 258EB781763C9C9D75D894B889C1CFEE /* AtomicInt.swift in Sources */, + A4C42A9B984F927432643041254E31E6 /* Bag.swift in Sources */, + BE33CFCBE43CBCCCBB61DF726646B82E /* Bag+Rx.swift in Sources */, + 5D14E9205F386C639E5B9AED1BE6EFE2 /* BehaviorSubject.swift in Sources */, + 12F412C0E6FCF0C03FD9EE81287EC5A5 /* BinaryDisposable.swift in Sources */, + 246D95E90F0EEF0A4049DFED5926EDD0 /* Binder.swift in Sources */, + B8F532D21A61F32CA0F2217C0E010205 /* BooleanDisposable.swift in Sources */, + 903C7ACDD34763D541F58E7D08F89D88 /* Buffer.swift in Sources */, + CC5A7064C8A9EBAC4DE374A97939A39E /* Cancelable.swift in Sources */, + D591428B6E75FE6ABB27D689DC9EFAA3 /* Catch.swift in Sources */, + A8FDF5D7CD22647C2DB166834836130A /* CombineLatest.swift in Sources */, + 74428D0C8712DB1F15C68F8C5CBA8FBD /* CombineLatest+arity.swift in Sources */, + 52B232B0FCC8318659718786C2808E69 /* CombineLatest+Collection.swift in Sources */, + 463C9F57DB87E0782404DBF23D476237 /* CompactMap.swift in Sources */, + 75E1096D94B3B0AC745ACE86904B6DBD /* Completable.swift in Sources */, + 4F5EDC81EE6DAB09479A2BB27A4A098D /* Completable+AndThen.swift in Sources */, + 8DBAFBEF1B7B36B977DB7E800B7040D0 /* CompositeDisposable.swift in Sources */, + C77272EBE2F3A08C332590F8359FCF6E /* Concat.swift in Sources */, + 5C1E8732E536F47FDAD49A6AA13B23C6 /* ConcurrentDispatchQueueScheduler.swift in Sources */, + 0BB5ED0ED3ACFA2C7F4F0A7288D646A4 /* ConcurrentMainScheduler.swift in Sources */, + C2CE9EA4235FC6EB6040FD3D450119EE /* ConnectableObservableType.swift in Sources */, + 360060E5ED3503C8F63E259A8A1BB755 /* Create.swift in Sources */, + C7F604754CC6FC0C3B21DC2932AA0D6F /* CurrentThreadScheduler.swift in Sources */, + AB96ACF22E736654D15E6352826DDD1E /* Date+Dispatch.swift in Sources */, + 776742C09A29B0D13B9E2A72CCE8CCC0 /* Debounce.swift in Sources */, + E4616B108FF3BD9BB1AD4F596421E8F7 /* Debug.swift in Sources */, + 50A757187C620E17F98E8E92333E41B2 /* Decode.swift in Sources */, + 518647876C170321B3C531FB54D0FD9F /* DefaultIfEmpty.swift in Sources */, + FC9BCCEB35A6591606A658EACFED6063 /* Deferred.swift in Sources */, + A387D831AC3B3E55A52D00E79F066C4A /* Delay.swift in Sources */, + 2AFA6509FC6BA575BF62082E24F73CF8 /* DelaySubscription.swift in Sources */, + F711C48D9D8A5033928C8CD45E13D99C /* Dematerialize.swift in Sources */, + 05AFD30F24D1479010A39B4EF7EC3BFA /* DispatchQueue+Extensions.swift in Sources */, + 649C7EBC4853739A73EB521BACB73DDB /* DispatchQueueConfiguration.swift in Sources */, + AE5C323E712FDE9E1321BFE06735DA1D /* Disposable.swift in Sources */, + 0929FA57A71EEFE905BB3133CB43750F /* Disposables.swift in Sources */, + A3EE51E1977EE580A7A37CD23443991A /* DisposeBag.swift in Sources */, + C15E4A9CBD4BA6ED48A16AFB08627DCF /* DisposeBase.swift in Sources */, + 8F44450F6D7EF0E8F3E89E2220B12DCA /* DistinctUntilChanged.swift in Sources */, + F1C71B8455190D76DD49371745DB5A90 /* Do.swift in Sources */, + DBDC1B6728382FC27E3EE0EC7994D394 /* ElementAt.swift in Sources */, + C1016BE7E05B75173FAECBF15548A54B /* Empty.swift in Sources */, + 27CD7EF9803E470B6850DF087537076E /* Enumerated.swift in Sources */, + 93ACD3D4FADEA6E2F902B0766F22DD92 /* Error.swift in Sources */, + CDBE77A234465B0C0DCDA3020A02A5B1 /* Errors.swift in Sources */, + DB4502944C2A909EE1E8C0A00A77F8D3 /* Event.swift in Sources */, + A7CE7288A0D9C21D97A4C1EEECCE0D30 /* Filter.swift in Sources */, + 59DD9616318D51181F2D3FF45364A573 /* First.swift in Sources */, + B9935CD848A77362E9F6C20C565EAB81 /* Generate.swift in Sources */, + 4C7CFEFE99EFF38C1AC2CE45AF7B08A0 /* GroupBy.swift in Sources */, + 739AC39C53208366F1CFEC4C1C8CB3C9 /* GroupedObservable.swift in Sources */, + E70914BEF8520E75B89A4B66C473CD4D /* HistoricalScheduler.swift in Sources */, + B351BF64991454AE8B4971529E28065F /* HistoricalSchedulerTimeConverter.swift in Sources */, + B12B9AF2F76C3EDDA338F7EDA6A602A7 /* ImmediateSchedulerType.swift in Sources */, + 1B8D53E54E01C69CA89A9EF44B98D3B9 /* Infallible.swift in Sources */, + 6F86CE63B7DA5644ADBA42E69F48338E /* Infallible+CombineLatest+arity.swift in Sources */, + 2F272095DDC330AA4E75CF934DABF9E6 /* Infallible+Concurrency.swift in Sources */, + AD91CB001F59C09CEF2545CFD86857DA /* Infallible+Create.swift in Sources */, + 4B95FB4E7C80680DEC7A3CD0309AEFCD /* Infallible+Operators.swift in Sources */, + A05C8A2971AF9CE1B190ED78184E376C /* Infallible+Zip+arity.swift in Sources */, + A01A0217BD9D3D87239881509BDDC158 /* InfiniteSequence.swift in Sources */, + D6B8F965DB9D22E4FBF5C9B6C3F7D37C /* InvocableScheduledItem.swift in Sources */, + 7A7031F9683054E89FA9D36B5820F97D /* InvocableType.swift in Sources */, + FCA98592489B60A41CFE27D864F16527 /* Just.swift in Sources */, + 20D711820837D47027425998D458DDC3 /* Lock.swift in Sources */, + 18CD6BF120F99D126384D82F6AE4E43B /* LockOwnerType.swift in Sources */, + E99375380D7A3A56380AAEAB9F3890F6 /* MainScheduler.swift in Sources */, + 0BFF85DE4F65728E4EA5967A1544A8FA /* Map.swift in Sources */, + C1B3752BD38A2C65A48EAF7F75A91D5A /* Materialize.swift in Sources */, + 223B0999049242BBA114B93469ABE511 /* Maybe.swift in Sources */, + 9AF734CC56738AF20C4E380D05AA8087 /* Merge.swift in Sources */, + FCF068AB5220A5B232B2C888B3BFFFB3 /* Multicast.swift in Sources */, + 0ACB879703D661A58C2CD3298798F07C /* Never.swift in Sources */, + 065ADD912FC63C08F94F9F840F535006 /* NopDisposable.swift in Sources */, + B0E0FE5FB0A9231C585A22D2DE848F7B /* Observable.swift in Sources */, + D69572A830D3E473A09EAE0C36ABEE1C /* Observable+Concurrency.swift in Sources */, + 2EA99935A6626E53DA18B59DCFBA06FF /* ObservableConvertibleType.swift in Sources */, + BA81BF314EC89234239839E7FA2FE3CF /* ObservableConvertibleType+Infallible.swift in Sources */, + 820B59B856CD7C2917FFF747F3C84BF6 /* ObservableType.swift in Sources */, + D3DAB89B0A32FD59ED8089AA22EC8874 /* ObservableType+Extensions.swift in Sources */, + B2C15D135CF60101131DEDD0FBABA285 /* ObservableType+PrimitiveSequence.swift in Sources */, + CF091078317867E654E9B9BF2F716894 /* ObserveOn.swift in Sources */, + 0B7595F991C8D4BEDA50105403B6E24A /* ObserverBase.swift in Sources */, + B13B6446AD37460B3A0AE7A4C8305B42 /* ObserverType.swift in Sources */, + 9454716F1448206E646A0E935A08D18D /* OperationQueueScheduler.swift in Sources */, + E634E1070DDEA416C5BE880CA1BE7D0C /* Optional.swift in Sources */, + 9FDFA91635B65C743110B6C13C2D9CCF /* Platform.Darwin.swift in Sources */, + 12F2269F38356B6D5C1968671383884D /* Platform.Linux.swift in Sources */, + AB01C71C5EBB15CBEF0AC294C3B7E608 /* PrimitiveSequence.swift in Sources */, + 0590BD82D969A42F60FF2F65DEE8A393 /* PrimitiveSequence+Concurrency.swift in Sources */, + CF671D8E826D77E13FDA89F3A5A99F6D /* PrimitiveSequence+Zip+arity.swift in Sources */, + F617F515DCD431FC68E84276F01FDF42 /* PriorityQueue.swift in Sources */, + 147FC3920E2614B57325999DB61F3389 /* Producer.swift in Sources */, + 78F0A1E709334AC222C86EEF41D88A9A /* PublishSubject.swift in Sources */, + F6074F6820552E30257B1B19C55259DA /* Queue.swift in Sources */, + 2BD1894FEF697BFC863A85C2F15604BC /* Range.swift in Sources */, + 487BC04B514FE7A25811D606296E7C25 /* Reactive.swift in Sources */, + 035D92F968E4C2F84AA6D4837E92FD60 /* RecursiveLock.swift in Sources */, + 58A0E13F48BF62AB1B8E65DFAC010878 /* RecursiveScheduler.swift in Sources */, + 1E02CA15B2263D87D5B040B8ACEDAA4F /* Reduce.swift in Sources */, + 5A44BE14346DAA491EDDB127357B0F47 /* RefCountDisposable.swift in Sources */, + 6819F6B855E9B6BEF7348EA151E1C869 /* Repeat.swift in Sources */, + 0A9FF99615F295DD8638D18E102D328C /* ReplaySubject.swift in Sources */, + 3394D42F800FA14F9F8F52335AF758F4 /* RetryWhen.swift in Sources */, + DB8F792967B909E39F111BFD6FA03DE4 /* Rx.swift in Sources */, + 1A7A6DAA2CD0115D66CA73EA8E7076B0 /* RxMutableBox.swift in Sources */, + 7EB8B75E663C86B3D17005118997EA7F /* RxSwift-dummy.m in Sources */, + AD148DD9F49C1B862C16468365704950 /* Sample.swift in Sources */, + C544C5EDC1DFB603F36D1683AD09F538 /* Scan.swift in Sources */, + 53770D330D03437B183A3EFBA560E0DD /* ScheduledDisposable.swift in Sources */, + 7DAF75EABA876450B0E8BBDD72421CBE /* ScheduledItem.swift in Sources */, + E5A3D5BDA6222D26A7485A57DEB1D473 /* ScheduledItemType.swift in Sources */, + BEA6F7BAE605561649B240D9E42ADDF1 /* SchedulerServices+Emulation.swift in Sources */, + 2B2EFA2388B3A446FE4CA677F27C3E4C /* SchedulerType.swift in Sources */, + A6A00CA2697ED36CD814F244CDE4007C /* Sequence.swift in Sources */, + FBE9C7891D9F716BC0A29359FF03F464 /* SerialDispatchQueueScheduler.swift in Sources */, + A3E5897951377709F03D44CEF723E0F6 /* SerialDisposable.swift in Sources */, + E71FF6137D84F345F9FD9D6240D3DE23 /* ShareReplayScope.swift in Sources */, + AA4E0EE61B4D0147A327B0C9BB8C3241 /* Single.swift in Sources */, + F43A9D21F1FB765E189E40AEA9A2C5DE /* SingleAssignmentDisposable.swift in Sources */, + 034230FFE4F1FB15F532C522C2D71EF8 /* SingleAsync.swift in Sources */, + 7B41A903988DA0EA6FA8C3A7B222DD62 /* Sink.swift in Sources */, + C34734CFC2E1544599AD22CB0728AEBC /* Skip.swift in Sources */, + 39A4125614FB5D27AE8A3D2A3D93D74E /* SkipUntil.swift in Sources */, + 4B287F24A4F00FEE5D037D206E46D2DD /* SkipWhile.swift in Sources */, + 4CAD4795B0C9A02E698FDA522790FFA5 /* StartWith.swift in Sources */, + F35FF399C134E3A8223024BF7AEE3CC0 /* SubjectType.swift in Sources */, + B38A43B84561FC79BB7A39234E905DF4 /* SubscribeOn.swift in Sources */, + 4977F820DC5A377A1F46EF9767CC7BDC /* SubscriptionDisposable.swift in Sources */, + 95E32365DE06432BCF0291E489A7CB83 /* SwiftSupport.swift in Sources */, + 7713555D4CEBE4BE9A63AF36CE9AAB20 /* Switch.swift in Sources */, + B44704D36A871A2089151FB1D32F77F2 /* SwitchIfEmpty.swift in Sources */, + 4FFAA9C643B70835498ACB395BFEC516 /* SynchronizedDisposeType.swift in Sources */, + 07947B8F47050F332E9D942B56874935 /* SynchronizedOnType.swift in Sources */, + BC7906E240CE850CBA84456E6B9A6C27 /* SynchronizedUnsubscribeType.swift in Sources */, + C25E8125FF4A49FD53F240838D803E83 /* TailRecursiveSink.swift in Sources */, + 1ACCC05B244EDD982E62E48E40718C58 /* Take.swift in Sources */, + 67058ED7DBF4E222789EE2A95A74626F /* TakeLast.swift in Sources */, + ECD2C94099456F808C35A7AD07BA775A /* TakeWithPredicate.swift in Sources */, + 327ECBD048B37DCCB5586E3FB2317040 /* Throttle.swift in Sources */, + 4553BA81245F8810DEB2D7FF2ABB8FBD /* Timeout.swift in Sources */, + B886307D766E0DA15E07926F566E14E7 /* Timer.swift in Sources */, + 132423427D74FE8585B00253F1780207 /* ToArray.swift in Sources */, + 076CA70CA2595925D5D879583EF650E5 /* Using.swift in Sources */, + 82FCAB89A939185D5F08B01925934D11 /* VirtualTimeConverterType.swift in Sources */, + 0E423A1273DEF3A88591C131FEF69B47 /* VirtualTimeScheduler.swift in Sources */, + 5689FB356124875D4D02960C31C364D4 /* Window.swift in Sources */, + FABF7814CCF3748CFDBF5C88E4B516B2 /* WithLatestFrom.swift in Sources */, + 8784C87508B68621E150CDB53805A835 /* WithUnretained.swift in Sources */, + 7DC6080B7B310037CC8DE6AA632C0496 /* Zip.swift in Sources */, + 3CD16FCC89CFFC39EC11E568ED9A5343 /* Zip+arity.swift in Sources */, + 5335F590CACD825AE6C157AFE374AAD7 /* Zip+Collection.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - D9DF5AEE1B525A8BA763D0DFA7241A71 /* Sources */ = { + 459AC86F428EDB30EDCDADFA50431A7C /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 3091F1A82E0FD6ABA766EBC91D4E5DE6 /* Then.swift in Sources */, - D936EF159A167C7E4C5E5764C22F458F /* Then-dummy.m in Sources */, + B96788AA963A0715B5B7D38A51C16788 /* BehaviorRelay.swift in Sources */, + E5CA4617D8EDE855855B54CBD53C148F /* Observable+Bind.swift in Sources */, + D07D2CF83752D8ACD79B6CFA70D0835E /* PublishRelay.swift in Sources */, + 54982322BBEF28E021FD0048D57606B7 /* ReplayRelay.swift in Sources */, + FB61640CBD1ACC15D38BA694D4A299C8 /* RxRelay-dummy.m in Sources */, + 9587687D1485B6FE9D6A21DC466AF6E5 /* Utils.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - E18928B0E001D06ADB8B638DABB4B4EE /* Sources */ = { + 4DBFC295B57BF8BF5DA8C68DB80FBC3A /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - EC76568EA2A6E1824F8F89A3ACB1ED90 /* Pods-There-iOS-dummy.m in Sources */, + F4633CDE7B78D6A8969AA23799F46E1B /* Pods-There-iOS-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -2529,106 +2187,60 @@ /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 3DCBE0CEC81283CB2E739376FBB1673F /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = Then; - target = C17AEFC79E770A2906EFAAB1A3757406 /* Then */; - targetProxy = 412A4DEE64E37763698ED196EB5F8A84 /* PBXContainerItemProxy */; - }; - 62E8269BBD522BF34914AA3D7AF1875F /* PBXTargetDependency */ = { + 0F05295FF0B6C2BDB9375FEFB3DE4984 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = SnapKit; - target = 19622742EBA51E823D6DAE3F8CDBFAD4 /* SnapKit */; - targetProxy = FAB84C85536038772CF07E904F4F8EB5 /* PBXContainerItemProxy */; - }; - 67EE206EE943E1FD95F6520A626F5C2D /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = Kingfisher; - target = E8022D22FAA6690B5E1C379C1BCE1491 /* Kingfisher */; - targetProxy = 3058E36BC686294201EB21E76009F63B /* PBXContainerItemProxy */; + name = Alamofire; + target = EAAA1AD3A8A1B59AB91319EE40752C6D /* Alamofire */; + targetProxy = 681673E5D0F09D66F42252C7E74BE628 /* PBXContainerItemProxy */; }; - 9858238C76F2FA9AA801916E08613BF5 /* PBXTargetDependency */ = { + 1B02142E12DF0B051F5572BCD54ECC1B /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = RxSwift; target = EA9EA43B3B503823EE36C60D9C8A865F /* RxSwift */; - targetProxy = B66472366EC9E937FB7212F8EE39F22C /* PBXContainerItemProxy */; + targetProxy = CB0D193F131582E92266093661BFC090 /* PBXContainerItemProxy */; }; - 9BA1AB2BA38DC3981FF3C3F1B1BE0B66 /* PBXTargetDependency */ = { + 1B048A3D94DF906888F5197B08038F7A /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = RxSwift; - target = EA9EA43B3B503823EE36C60D9C8A865F /* RxSwift */; - targetProxy = C2E49860B3F523E713E11EFE3E405B41 /* PBXContainerItemProxy */; + name = RxRelay; + target = 4622BFEF3DC16E8BD15EEFC30D4D0084 /* RxRelay */; + targetProxy = 451E79A988B42304E1988095D00B8089 /* PBXContainerItemProxy */; }; - A6F4AAB9525BFCDC36C3C2FC4AC65AA2 /* PBXTargetDependency */ = { + 30E4BAD739FEF6619B4A728F54839122 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = RxSwift; target = EA9EA43B3B503823EE36C60D9C8A865F /* RxSwift */; - targetProxy = 6FFAA3A727AAB56FB2425E155943E5D7 /* PBXContainerItemProxy */; - }; - ABB54E4A205BEAC76FC7232FD5E0F178 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = Alamofire; - target = EAAA1AD3A8A1B59AB91319EE40752C6D /* Alamofire */; - targetProxy = 76073D0C33D73E75136923FAB58F313A /* PBXContainerItemProxy */; + targetProxy = 2E7F95BEEE893C2818A53162FE812710 /* PBXContainerItemProxy */; }; - AD0B1891AE41F7C743761BC54DD91BEE /* PBXTargetDependency */ = { + 82FF524D002E2C0833A0C614BD5633F6 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = RxRelay; target = 4622BFEF3DC16E8BD15EEFC30D4D0084 /* RxRelay */; - targetProxy = 720A4CCD2AC2510BB9A2BCF379799063 /* PBXContainerItemProxy */; + targetProxy = 4121F64B1BEF88AB11C5C6748FB42627 /* PBXContainerItemProxy */; + }; + 91453DDE6B73A7EE2B6964B8EFE65C8C /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = Kingfisher; + target = E8022D22FAA6690B5E1C379C1BCE1491 /* Kingfisher */; + targetProxy = 597E45063D260CD2E93EE1922ADB82C6 /* PBXContainerItemProxy */; }; - DDAA43563C03A482E97C069C92BA1FB2 /* PBXTargetDependency */ = { + ACA64BE0051F468CA7400464C7C662EA /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = RxCocoa; target = 7AD0C6DCDC9CEC8A3C7C10C7FEE07BE6 /* RxCocoa */; - targetProxy = 8D2D330C4BDB9DB73C02A2C42A9777DE /* PBXContainerItemProxy */; + targetProxy = 1647E5D9F2E58D094ED8C04ACB5FC5C1 /* PBXContainerItemProxy */; }; - F5641F884624390D923F916EE8C4D87A /* PBXTargetDependency */ = { + D0FF1CED4EF6082D2E4B8DD86B29DA00 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = RxRelay; - target = 4622BFEF3DC16E8BD15EEFC30D4D0084 /* RxRelay */; - targetProxy = 0C1051A1B0A85DFF966BEC69F02792D9 /* PBXContainerItemProxy */; + name = RxSwift; + target = EA9EA43B3B503823EE36C60D9C8A865F /* RxSwift */; + targetProxy = D88B143DF5C704CE879DD78B3BED332C /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - 100DAF996B47928A003EB1A90D78C09C /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 07D74ECF960FC666CD89F75056A4B277 /* RxSwift.debug.xcconfig */; - buildSettings = { - "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/RxSwift/RxSwift-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/RxSwift/RxSwift-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MODULEMAP_FILE = "Target Support Files/RxSwift/RxSwift.modulemap"; - PRODUCT_MODULE_NAME = RxSwift; - PRODUCT_NAME = RxSwift; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.1; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - 105A0D5D16A0D0E9D4625646EB0A516E /* Release */ = { + 480D817CCDEA7F590553D2CF6C5AF7D6 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E51E8E49DDEEEC6197B82EF295582F92 /* RxSwift.release.xcconfig */; + baseConfigurationReference = 610A258B4117D041EA311FE0D4F95643 /* RxSwift.release.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -2661,43 +2273,9 @@ }; name = Release; }; - 52235FB3181E517F1F2D37DE71959EE4 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 8A53FF7F4C311F1D3DAB84FA08003A75 /* Then.debug.xcconfig */; - buildSettings = { - "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/Then/Then-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Then/Then-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MODULEMAP_FILE = "Target Support Files/Then/Then.modulemap"; - PRODUCT_MODULE_NAME = Then; - PRODUCT_NAME = Then; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; 577A24D81FA00BED9154F445BE58F743 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 08342C7E81C77CE0A6ED701C9289A4B9 /* RxCocoa.release.xcconfig */; + baseConfigurationReference = 7B878A062FF9D6C1461C17F743268255 /* RxCocoa.release.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -2730,49 +2308,10 @@ }; name = Release; }; - 8C764644B647A322705B9AB83153E20C /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = A43C36A637182826421A0B79C4C58FFA /* Pods-There-iOS.release.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - CLANG_ENABLE_OBJC_WEAK = NO; - "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-There-iOS/Pods-There-iOS-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 15.4; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-There-iOS/Pods-There-iOS.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - 8C925430B65BE03F92ABCD1B2005EE0C /* Release */ = { + 66349ECEBFAA2961A23CA5F65B7DD883 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 397A5AFA289920780AEAE1C4DAA0CF1F /* SnapKit.release.xcconfig */; + baseConfigurationReference = ECE3D7863C685441B17909D323C93D1B /* RxSwift.debug.xcconfig */; buildSettings = { - CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; @@ -2781,32 +2320,31 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/SnapKit/SnapKit-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/SnapKit/SnapKit-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/RxSwift/RxSwift-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/RxSwift/RxSwift-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", "@loader_path/Frameworks", ); - MODULEMAP_FILE = "Target Support Files/SnapKit/SnapKit.modulemap"; - PRODUCT_MODULE_NAME = SnapKit; - PRODUCT_NAME = SnapKit; + MODULEMAP_FILE = "Target Support Files/RxSwift/RxSwift.modulemap"; + PRODUCT_MODULE_NAME = RxSwift; + PRODUCT_NAME = RxSwift; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; + SWIFT_VERSION = 5.1; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; - 903091B145CEC77C7E2E4D2477CB253F /* Debug */ = { + 6847E747C5F1EF8800EEC1D8EE0D75AB /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 04E52C7203AC48229EDE61A498D39CA4 /* RxRelay.debug.xcconfig */; + baseConfigurationReference = F751EDB76BE08FCA42C91783FFFB58C6 /* RxRelay.release.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -2833,14 +2371,15 @@ SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_VERSION = 5.1; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; 90A4588B06F8745E7FCD1B00204D6241 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 6EA6E623D9042B6F80A15AA124D3DF21 /* Alamofire.release.xcconfig */; + baseConfigurationReference = 901FEA9354851243A07A818AB61A488C /* Alamofire.release.xcconfig */; buildSettings = { CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -3002,46 +2541,9 @@ }; name = Debug; }; - 951AA3E9BF82AB6A48EE5F2E0F59A82E /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = BCDAD6C2E4C711FE54EB56DCD3B0D557 /* Pods-There-iOS.debug.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - CLANG_ENABLE_OBJC_WEAK = NO; - "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-There-iOS/Pods-There-iOS-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 15.4; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-There-iOS/Pods-There-iOS.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; 980A58862D8A5086E2825CF9017AC8DD /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 76A5506DB75AED093E33DF6AC438B33B /* Kingfisher.debug.xcconfig */; + baseConfigurationReference = B8E72EA3F69A37BA5AA8DBB27B22C0A8 /* Kingfisher.debug.xcconfig */; buildSettings = { CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -3074,10 +2576,12 @@ }; name = Debug; }; - 9DCE1D00E6D8163230168E6736AFE116 /* Release */ = { + 9B6B16B7256BE61DE096EFE217F3FA9F /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 89AD8FFA023EF893E15CF561FF70F38E /* Then.release.xcconfig */; + baseConfigurationReference = BCDAD6C2E4C711FE54EB56DCD3B0D557 /* Pods-There-iOS.debug.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; @@ -3086,32 +2590,32 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/Then/Then-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Then/Then-Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-There-iOS/Pods-There-iOS-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 15.4; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", "@loader_path/Frameworks", ); - MODULEMAP_FILE = "Target Support Files/Then/Then.modulemap"; - PRODUCT_MODULE_NAME = Then; - PRODUCT_NAME = Then; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-There-iOS/Pods-There-iOS.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; 9E98C04A5FA16D8AD5D48C1861179497 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 1637A95EEF819ACF58D385510DA0CFFF /* Alamofire.debug.xcconfig */; + baseConfigurationReference = 52B734ED0DA76190B3AC4C46F9489089 /* Alamofire.debug.xcconfig */; buildSettings = { CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -3144,11 +2648,10 @@ }; name = Debug; }; - A6F0173BAEB974532D93E05E5A94E50A /* Debug */ = { + B468B3E9EE40B01398D78ACF993649AF /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D0619FCA015DDC34D47329F533A3EE37 /* SnapKit.debug.xcconfig */; + baseConfigurationReference = 7E921FAF2C76D49894FEBEFB951AAA8F /* RxRelay.debug.xcconfig */; buildSettings = { - CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; @@ -3157,22 +2660,22 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/SnapKit/SnapKit-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/SnapKit/SnapKit-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/RxRelay/RxRelay-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/RxRelay/RxRelay-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", "@loader_path/Frameworks", ); - MODULEMAP_FILE = "Target Support Files/SnapKit/SnapKit.modulemap"; - PRODUCT_MODULE_NAME = SnapKit; - PRODUCT_NAME = SnapKit; + MODULEMAP_FILE = "Target Support Files/RxRelay/RxRelay.modulemap"; + PRODUCT_MODULE_NAME = RxRelay; + PRODUCT_NAME = RxRelay; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; + SWIFT_VERSION = 5.1; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; @@ -3181,7 +2684,7 @@ }; BFD9E4B58F44191AF73A3434AAF6831F /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D3B1DE34013E6AA345837FE6FA20B40B /* Kingfisher.release.xcconfig */; + baseConfigurationReference = CDBEA15881F780357AEB80F4AD63DB8A /* Kingfisher.release.xcconfig */; buildSettings = { CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -3217,7 +2720,7 @@ }; C12D9C5CC8F2071662A98F549A9E6FB4 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E2FE14FB813D0BED51D52469FA3EDA35 /* RxCocoa.debug.xcconfig */; + baseConfigurationReference = 8185251BFE165EDB58E882098C9E7AFE /* RxCocoa.debug.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -3249,10 +2752,12 @@ }; name = Debug; }; - F1CB0BA5F67C694536DB67616531B1CE /* Release */ = { + FC7CFAFE1A5B82993202C546CE5253F9 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C8C98E8B29EB7013228E6AA772DF5A5E /* RxRelay.release.xcconfig */; + baseConfigurationReference = A43C36A637182826421A0B79C4C58FFA /* Pods-There-iOS.release.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; @@ -3261,22 +2766,23 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/RxRelay/RxRelay-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/RxRelay/RxRelay-Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-There-iOS/Pods-There-iOS-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 15.4; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", "@loader_path/Frameworks", ); - MODULEMAP_FILE = "Target Support Files/RxRelay/RxRelay.modulemap"; - PRODUCT_MODULE_NAME = RxRelay; - PRODUCT_NAME = RxRelay; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-There-iOS/Pods-There-iOS.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.1; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; @@ -3287,38 +2793,38 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 1E42B460D55BA3EBE021004CC2CE312C /* Build configuration list for PBXNativeTarget "RxCocoa" */ = { + 17A8119249152E0D3C6A7B5E29707595 /* Build configuration list for PBXNativeTarget "RxRelay" */ = { isa = XCConfigurationList; buildConfigurations = ( - C12D9C5CC8F2071662A98F549A9E6FB4 /* Debug */, - 577A24D81FA00BED9154F445BE58F743 /* Release */, + B468B3E9EE40B01398D78ACF993649AF /* Debug */, + 6847E747C5F1EF8800EEC1D8EE0D75AB /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 269778784575C7CEE6CF345E5F298875 /* Build configuration list for PBXNativeTarget "RxRelay" */ = { + 1E42B460D55BA3EBE021004CC2CE312C /* Build configuration list for PBXNativeTarget "RxCocoa" */ = { isa = XCConfigurationList; buildConfigurations = ( - 903091B145CEC77C7E2E4D2477CB253F /* Debug */, - F1CB0BA5F67C694536DB67616531B1CE /* Release */, + C12D9C5CC8F2071662A98F549A9E6FB4 /* Debug */, + 577A24D81FA00BED9154F445BE58F743 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = { + 457310EA2C33798779015CAA92A0A166 /* Build configuration list for PBXNativeTarget "Pods-There-iOS" */ = { isa = XCConfigurationList; buildConfigurations = ( - 934ED2B84836A780113D1F63484628B2 /* Debug */, - 92486E5E72E54FAF60E1A7D022C21B10 /* Release */, + 9B6B16B7256BE61DE096EFE217F3FA9F /* Debug */, + FC7CFAFE1A5B82993202C546CE5253F9 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 58EAA7FF29EA237538F747F2AF468203 /* Build configuration list for PBXNativeTarget "SnapKit" */ = { + 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = { isa = XCConfigurationList; buildConfigurations = ( - A6F0173BAEB974532D93E05E5A94E50A /* Debug */, - 8C925430B65BE03F92ABCD1B2005EE0C /* Release */, + 934ED2B84836A780113D1F63484628B2 /* Debug */, + 92486E5E72E54FAF60E1A7D022C21B10 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -3341,29 +2847,11 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 9066CF256D5B92C1B2C5053115F4AC74 /* Build configuration list for PBXNativeTarget "Then" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 52235FB3181E517F1F2D37DE71959EE4 /* Debug */, - 9DCE1D00E6D8163230168E6736AFE116 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 9413EE0A1908035847859B1A9FA07000 /* Build configuration list for PBXNativeTarget "Pods-There-iOS" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 951AA3E9BF82AB6A48EE5F2E0F59A82E /* Debug */, - 8C764644B647A322705B9AB83153E20C /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - DDF60F03B9D6B9DB920C857E6D6BE828 /* Build configuration list for PBXNativeTarget "RxSwift" */ = { + F0C7FFECC84D3B21B615E64815AE2A88 /* Build configuration list for PBXNativeTarget "RxSwift" */ = { isa = XCConfigurationList; buildConfigurations = ( - 100DAF996B47928A003EB1A90D78C09C /* Debug */, - 105A0D5D16A0D0E9D4625646EB0A516E /* Release */, + 66349ECEBFAA2961A23CA5F65B7DD883 /* Debug */, + 480D817CCDEA7F590553D2CF6C5AF7D6 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/There-iOS/Pods/Pods.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/Alamofire.xcscheme b/There-iOS/Pods/Pods.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/Alamofire.xcscheme new file mode 100644 index 0000000..120775c --- /dev/null +++ b/There-iOS/Pods/Pods.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/Alamofire.xcscheme @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/There-iOS/Pods/Pods.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/Kingfisher.xcscheme b/There-iOS/Pods/Pods.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/Kingfisher.xcscheme new file mode 100644 index 0000000..0074170 --- /dev/null +++ b/There-iOS/Pods/Pods.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/Kingfisher.xcscheme @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/There-iOS/Pods/Pods.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/Pods-There-iOS.xcscheme b/There-iOS/Pods/Pods.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/Pods-There-iOS.xcscheme new file mode 100644 index 0000000..04aa064 --- /dev/null +++ b/There-iOS/Pods/Pods.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/Pods-There-iOS.xcscheme @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/There-iOS/Pods/Pods.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/RxCocoa.xcscheme b/There-iOS/Pods/Pods.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/RxCocoa.xcscheme new file mode 100644 index 0000000..3b88af8 --- /dev/null +++ b/There-iOS/Pods/Pods.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/RxCocoa.xcscheme @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/There-iOS/Pods/Pods.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/RxRelay.xcscheme b/There-iOS/Pods/Pods.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/RxRelay.xcscheme new file mode 100644 index 0000000..d69a445 --- /dev/null +++ b/There-iOS/Pods/Pods.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/RxRelay.xcscheme @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/There-iOS/Pods/Pods.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/RxSwift.xcscheme b/There-iOS/Pods/Pods.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/RxSwift.xcscheme new file mode 100644 index 0000000..47e329b --- /dev/null +++ b/There-iOS/Pods/Pods.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/RxSwift.xcscheme @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/There-iOS/Pods/Pods.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/xcschememanagement.plist b/There-iOS/Pods/Pods.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/xcschememanagement.plist index b0686b3..e553626 100644 --- a/There-iOS/Pods/Pods.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/There-iOS/Pods/Pods.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/xcschememanagement.plist @@ -4,46 +4,50 @@ SchemeUserState - Alamofire.xcscheme_^#shared#^_ + Alamofire.xcscheme + isShown + orderHint - 7 + 0 - Kingfisher.xcscheme_^#shared#^_ + Kingfisher.xcscheme + isShown + orderHint - 3 + 1 - Pods-There-iOS.xcscheme_^#shared#^_ + Pods-There-iOS.xcscheme + isShown + orderHint 2 - RxCocoa.xcscheme_^#shared#^_ - - orderHint - 0 - - RxRelay.xcscheme_^#shared#^_ + RxCocoa.xcscheme + isShown + orderHint - 6 + 3 - RxSwift.xcscheme_^#shared#^_ + RxRelay.xcscheme + isShown + orderHint - 1 + 4 - SnapKit.xcscheme_^#shared#^_ + RxSwift.xcscheme + isShown + orderHint 5 - Then.xcscheme_^#shared#^_ - - orderHint - 8 - + SuppressBuildableAutocreation + diff --git a/There-iOS/Pods/SnapKit/LICENSE b/There-iOS/Pods/SnapKit/LICENSE deleted file mode 100644 index a18ccfb..0000000 --- a/There-iOS/Pods/SnapKit/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit - -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/There-iOS/Pods/SnapKit/README.md b/There-iOS/Pods/SnapKit/README.md deleted file mode 100644 index b36df7a..0000000 --- a/There-iOS/Pods/SnapKit/README.md +++ /dev/null @@ -1,155 +0,0 @@ - - -SnapKit is a DSL to make Auto Layout easy on both iOS and OS X. - -[![Build Status](https://travis-ci.org/SnapKit/SnapKit.svg)](https://travis-ci.org/SnapKit/SnapKit) -[![Platform](https://img.shields.io/cocoapods/p/SnapKit.svg?style=flat)](https://github.com/SnapKit/SnapKit) -[![Cocoapods Compatible](https://img.shields.io/cocoapods/v/SnapKit.svg)](https://cocoapods.org/pods/SnapKit) -[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) - -#### ⚠️ **To use with Swift 4.x please ensure you are using >= 4.0.0** ⚠️ -#### ⚠️ **To use with Swift 5.x please ensure you are using >= 5.0.0** ⚠️ - -## Contents - -- [Requirements](#requirements) -- [Migration Guides](#migration-guides) -- [Communication](#communication) -- [Installation](#installation) -- [Usage](#usage) -- [Credits](#credits) -- [License](#license) - -## Requirements - -- iOS 10.0+ / Mac OS X 10.12+ / tvOS 10.0+ -- Xcode 10.0+ -- Swift 4.0+ - -## Migration Guides - -- [SnapKit 3.0 Migration Guide](Documentation/SnapKit%203.0%20Migration%20Guide.md) - -## Communication - -- If you **need help**, use [Stack Overflow](http://stackoverflow.com/questions/tagged/snapkit). (Tag 'snapkit') -- If you'd like to **ask a general question**, use [Stack Overflow](http://stackoverflow.com/questions/tagged/snapkit). -- If you **found a bug**, open an issue. -- If you **have a feature request**, open an issue. -- If you **want to contribute**, submit a pull request. - - -## Installation - -### CocoaPods - -[CocoaPods](http://cocoapods.org) is a dependency manager for Cocoa projects. You can install it with the following command: - -```bash -$ gem install cocoapods -``` - -> CocoaPods 1.1.0+ is required to build SnapKit 4.0.0+. - -To integrate SnapKit into your Xcode project using CocoaPods, specify it in your `Podfile`: - -```ruby -source 'https://github.com/CocoaPods/Specs.git' -platform :ios, '10.0' -use_frameworks! - -target '' do - pod 'SnapKit', '~> 5.6.0' -end -``` - -Then, run the following command: - -```bash -$ pod install -``` - -### Carthage - -[Carthage](https://github.com/Carthage/Carthage) is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks. - -You can install Carthage with [Homebrew](http://brew.sh/) using the following command: - -```bash -$ brew update -$ brew install carthage -``` - -To integrate SnapKit into your Xcode project using Carthage, specify it in your `Cartfile`: - -```ogdl -github "SnapKit/SnapKit" ~> 5.0.0 -``` - -Run `carthage update` to build the framework and drag the built `SnapKit.framework` into your Xcode project. - -### Swift Package Manager - -[Swift Package Manager](https://swift.org/package-manager/) is a tool for managing the distribution of Swift code. It’s integrated with the Swift build system to automate the process of downloading, compiling, and linking dependencies. - -> Xcode 11+ is required to build SnapKit using Swift Package Manager. - -To integrate SnapKit into your Xcode project using Swift Package Manager, add it to the dependencies value of your `Package.swift`: - -```swift -dependencies: [ - .package(url: "https://github.com/SnapKit/SnapKit.git", .upToNextMajor(from: "5.0.1")) -] -``` - -### Manually - -If you prefer not to use either of the aforementioned dependency managers, you can integrate SnapKit into your project manually. - ---- - -## Usage - -### Quick Start - -```swift -import SnapKit - -class MyViewController: UIViewController { - - lazy var box = UIView() - - override func viewDidLoad() { - super.viewDidLoad() - - self.view.addSubview(box) - box.backgroundColor = .green - box.snp.makeConstraints { (make) -> Void in - make.width.height.equalTo(50) - make.center.equalTo(self.view) - } - } - -} -``` - -### Playground -You can try SnapKit in Playground. - -**Note:** - -> To try SnapKit in playground, open `SnapKit.xcworkspace` and build SnapKit.framework for any simulator first. - -### Resources - -- [Documentation](https://snapkit.github.io/SnapKit/docs/) -- [F.A.Q.](https://snapkit.github.io/SnapKit/faq/) - -## Credits - -- Robert Payne ([@robertjpayne](https://twitter.com/robertjpayne)) -- Many other contributors - -## License - -SnapKit is released under the MIT license. See LICENSE for details. diff --git a/There-iOS/Pods/SnapKit/Sources/Constraint.swift b/There-iOS/Pods/SnapKit/Sources/Constraint.swift deleted file mode 100644 index 37409b3..0000000 --- a/There-iOS/Pods/SnapKit/Sources/Constraint.swift +++ /dev/null @@ -1,341 +0,0 @@ -// -// SnapKit -// -// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit -// -// 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. - -#if os(iOS) || os(tvOS) - import UIKit -#else - import AppKit -#endif - -public final class Constraint { - - internal let sourceLocation: (String, UInt) - internal let label: String? - - private let from: ConstraintItem - private let to: ConstraintItem - private let relation: ConstraintRelation - private let multiplier: ConstraintMultiplierTarget - private var constant: ConstraintConstantTarget { - didSet { - self.updateConstantAndPriorityIfNeeded() - } - } - private var priority: ConstraintPriorityTarget { - didSet { - self.updateConstantAndPriorityIfNeeded() - } - } - public var layoutConstraints: [LayoutConstraint] - - public var isActive: Bool { - set { - if newValue { - activate() - } - else { - deactivate() - } - } - - get { - for layoutConstraint in self.layoutConstraints { - if layoutConstraint.isActive { - return true - } - } - return false - } - } - - // MARK: Initialization - - internal init(from: ConstraintItem, - to: ConstraintItem, - relation: ConstraintRelation, - sourceLocation: (String, UInt), - label: String?, - multiplier: ConstraintMultiplierTarget, - constant: ConstraintConstantTarget, - priority: ConstraintPriorityTarget) { - self.from = from - self.to = to - self.relation = relation - self.sourceLocation = sourceLocation - self.label = label - self.multiplier = multiplier - self.constant = constant - self.priority = priority - self.layoutConstraints = [] - - // get attributes - let layoutFromAttributes = self.from.attributes.layoutAttributes - let layoutToAttributes = self.to.attributes.layoutAttributes - - // get layout from - let layoutFrom = self.from.layoutConstraintItem! - - // get relation - let layoutRelation = self.relation.layoutRelation - - for layoutFromAttribute in layoutFromAttributes { - // get layout to attribute - let layoutToAttribute: LayoutAttribute - #if os(iOS) || os(tvOS) - if layoutToAttributes.count > 0 { - if self.from.attributes == .edges && self.to.attributes == .margins { - switch layoutFromAttribute { - case .left: - layoutToAttribute = .leftMargin - case .right: - layoutToAttribute = .rightMargin - case .top: - layoutToAttribute = .topMargin - case .bottom: - layoutToAttribute = .bottomMargin - default: - fatalError() - } - } else if self.from.attributes == .margins && self.to.attributes == .edges { - switch layoutFromAttribute { - case .leftMargin: - layoutToAttribute = .left - case .rightMargin: - layoutToAttribute = .right - case .topMargin: - layoutToAttribute = .top - case .bottomMargin: - layoutToAttribute = .bottom - default: - fatalError() - } - } else if self.from.attributes == .directionalEdges && self.to.attributes == .directionalMargins { - switch layoutFromAttribute { - case .leading: - layoutToAttribute = .leadingMargin - case .trailing: - layoutToAttribute = .trailingMargin - case .top: - layoutToAttribute = .topMargin - case .bottom: - layoutToAttribute = .bottomMargin - default: - fatalError() - } - } else if self.from.attributes == .directionalMargins && self.to.attributes == .directionalEdges { - switch layoutFromAttribute { - case .leadingMargin: - layoutToAttribute = .leading - case .trailingMargin: - layoutToAttribute = .trailing - case .topMargin: - layoutToAttribute = .top - case .bottomMargin: - layoutToAttribute = .bottom - default: - fatalError() - } - } else if self.from.attributes == self.to.attributes { - layoutToAttribute = layoutFromAttribute - } else { - layoutToAttribute = layoutToAttributes[0] - } - } else { - if self.to.target == nil && (layoutFromAttribute == .centerX || layoutFromAttribute == .centerY) { - layoutToAttribute = layoutFromAttribute == .centerX ? .left : .top - } else { - layoutToAttribute = layoutFromAttribute - } - } - #else - if self.from.attributes == self.to.attributes { - layoutToAttribute = layoutFromAttribute - } else if layoutToAttributes.count > 0 { - layoutToAttribute = layoutToAttributes[0] - } else { - layoutToAttribute = layoutFromAttribute - } - #endif - - // get layout constant - let layoutConstant: CGFloat = self.constant.constraintConstantTargetValueFor(layoutAttribute: layoutToAttribute) - - // get layout to - var layoutTo: AnyObject? = self.to.target - - // use superview if possible - if layoutTo == nil && layoutToAttribute != .width && layoutToAttribute != .height { - layoutTo = layoutFrom.superview - } - - // create layout constraint - let layoutConstraint = LayoutConstraint( - item: layoutFrom, - attribute: layoutFromAttribute, - relatedBy: layoutRelation, - toItem: layoutTo, - attribute: layoutToAttribute, - multiplier: self.multiplier.constraintMultiplierTargetValue, - constant: layoutConstant - ) - - // set label - layoutConstraint.label = self.label - - // set priority - layoutConstraint.priority = LayoutPriority(rawValue: self.priority.constraintPriorityTargetValue) - - // set constraint - layoutConstraint.constraint = self - - // append - self.layoutConstraints.append(layoutConstraint) - } - } - - // MARK: Public - - @available(*, deprecated, renamed:"activate()") - public func install() { - self.activate() - } - - @available(*, deprecated, renamed:"deactivate()") - public func uninstall() { - self.deactivate() - } - - public func activate() { - self.activateIfNeeded() - } - - public func deactivate() { - self.deactivateIfNeeded() - } - - @discardableResult - public func update(offset: ConstraintOffsetTarget) -> Constraint { - self.constant = offset.constraintOffsetTargetValue - return self - } - - @discardableResult - public func update(inset: ConstraintInsetTarget) -> Constraint { - self.constant = inset.constraintInsetTargetValue - return self - } - - #if os(iOS) || os(tvOS) - @discardableResult - @available(iOS 11.0, tvOS 11.0, *) - public func update(inset: ConstraintDirectionalInsetTarget) -> Constraint { - self.constant = inset.constraintDirectionalInsetTargetValue - return self - } - #endif - - @discardableResult - public func update(priority: ConstraintPriorityTarget) -> Constraint { - self.priority = priority.constraintPriorityTargetValue - return self - } - - @discardableResult - public func update(priority: ConstraintPriority) -> Constraint { - self.priority = priority.value - return self - } - - @available(*, deprecated, renamed:"update(offset:)") - public func updateOffset(amount: ConstraintOffsetTarget) -> Void { self.update(offset: amount) } - - @available(*, deprecated, renamed:"update(inset:)") - public func updateInsets(amount: ConstraintInsetTarget) -> Void { self.update(inset: amount) } - - @available(*, deprecated, renamed:"update(priority:)") - public func updatePriority(amount: ConstraintPriorityTarget) -> Void { self.update(priority: amount) } - - @available(*, deprecated, message:"Use update(priority: ConstraintPriorityTarget) instead.") - public func updatePriorityRequired() -> Void {} - - @available(*, deprecated, message:"Use update(priority: ConstraintPriorityTarget) instead.") - public func updatePriorityHigh() -> Void { fatalError("Must be implemented by Concrete subclass.") } - - @available(*, deprecated, message:"Use update(priority: ConstraintPriorityTarget) instead.") - public func updatePriorityMedium() -> Void { fatalError("Must be implemented by Concrete subclass.") } - - @available(*, deprecated, message:"Use update(priority: ConstraintPriorityTarget) instead.") - public func updatePriorityLow() -> Void { fatalError("Must be implemented by Concrete subclass.") } - - // MARK: Internal - - internal func updateConstantAndPriorityIfNeeded() { - for layoutConstraint in self.layoutConstraints { - let attribute = (layoutConstraint.secondAttribute == .notAnAttribute) ? layoutConstraint.firstAttribute : layoutConstraint.secondAttribute - layoutConstraint.constant = self.constant.constraintConstantTargetValueFor(layoutAttribute: attribute) - - let requiredPriority = ConstraintPriority.required.value - if (layoutConstraint.priority.rawValue < requiredPriority), (self.priority.constraintPriorityTargetValue != requiredPriority) { - layoutConstraint.priority = LayoutPriority(rawValue: self.priority.constraintPriorityTargetValue) - } - } - } - - internal func activateIfNeeded(updatingExisting: Bool = false) { - guard let item = self.from.layoutConstraintItem else { - print("WARNING: SnapKit failed to get from item from constraint. Activate will be a no-op.") - return - } - let layoutConstraints = self.layoutConstraints - - if updatingExisting { - var existingLayoutConstraints: [LayoutConstraint] = [] - for constraint in item.constraints { - existingLayoutConstraints += constraint.layoutConstraints - } - - for layoutConstraint in layoutConstraints { - let existingLayoutConstraint = existingLayoutConstraints.first { $0 == layoutConstraint } - guard let updateLayoutConstraint = existingLayoutConstraint else { - fatalError("Updated constraint could not find existing matching constraint to update: \(layoutConstraint)") - } - - let updateLayoutAttribute = (updateLayoutConstraint.secondAttribute == .notAnAttribute) ? updateLayoutConstraint.firstAttribute : updateLayoutConstraint.secondAttribute - updateLayoutConstraint.constant = self.constant.constraintConstantTargetValueFor(layoutAttribute: updateLayoutAttribute) - } - } else { - NSLayoutConstraint.activate(layoutConstraints) - item.add(constraints: [self]) - } - } - - internal func deactivateIfNeeded() { - guard let item = self.from.layoutConstraintItem else { - print("WARNING: SnapKit failed to get from item from constraint. Deactivate will be a no-op.") - return - } - let layoutConstraints = self.layoutConstraints - NSLayoutConstraint.deactivate(layoutConstraints) - item.remove(constraints: [self]) - } -} diff --git a/There-iOS/Pods/SnapKit/Sources/ConstraintAttributes.swift b/There-iOS/Pods/SnapKit/Sources/ConstraintAttributes.swift deleted file mode 100644 index 408308b..0000000 --- a/There-iOS/Pods/SnapKit/Sources/ConstraintAttributes.swift +++ /dev/null @@ -1,203 +0,0 @@ -// -// SnapKit -// -// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit -// -// 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. - -#if os(iOS) || os(tvOS) - import UIKit -#else - import AppKit -#endif - - -internal struct ConstraintAttributes : OptionSet, ExpressibleByIntegerLiteral { - - typealias IntegerLiteralType = UInt - - internal init(rawValue: UInt) { - self.rawValue = rawValue - } - internal init(_ rawValue: UInt) { - self.init(rawValue: rawValue) - } - internal init(nilLiteral: ()) { - self.rawValue = 0 - } - internal init(integerLiteral rawValue: IntegerLiteralType) { - self.init(rawValue: rawValue) - } - - internal private(set) var rawValue: UInt - internal static var allZeros: ConstraintAttributes { return 0 } - internal static func convertFromNilLiteral() -> ConstraintAttributes { return 0 } - internal var boolValue: Bool { return self.rawValue != 0 } - - internal func toRaw() -> UInt { return self.rawValue } - internal static func fromRaw(_ raw: UInt) -> ConstraintAttributes? { return self.init(raw) } - internal static func fromMask(_ raw: UInt) -> ConstraintAttributes { return self.init(raw) } - - // normal - - internal static let none: ConstraintAttributes = 0 - internal static let left: ConstraintAttributes = ConstraintAttributes(UInt(1) << 0) - internal static let top: ConstraintAttributes = ConstraintAttributes(UInt(1) << 1) - internal static let right: ConstraintAttributes = ConstraintAttributes(UInt(1) << 2) - internal static let bottom: ConstraintAttributes = ConstraintAttributes(UInt(1) << 3) - internal static let leading: ConstraintAttributes = ConstraintAttributes(UInt(1) << 4) - internal static let trailing: ConstraintAttributes = ConstraintAttributes(UInt(1) << 5) - internal static let width: ConstraintAttributes = ConstraintAttributes(UInt(1) << 6) - internal static let height: ConstraintAttributes = ConstraintAttributes(UInt(1) << 7) - internal static let centerX: ConstraintAttributes = ConstraintAttributes(UInt(1) << 8) - internal static let centerY: ConstraintAttributes = ConstraintAttributes(UInt(1) << 9) - internal static let lastBaseline: ConstraintAttributes = ConstraintAttributes(UInt(1) << 10) - - @available(iOS 8.0, OSX 10.11, *) - internal static let firstBaseline: ConstraintAttributes = ConstraintAttributes(UInt(1) << 11) - - @available(iOS 8.0, *) - internal static let leftMargin: ConstraintAttributes = ConstraintAttributes(UInt(1) << 12) - - @available(iOS 8.0, *) - internal static let rightMargin: ConstraintAttributes = ConstraintAttributes(UInt(1) << 13) - - @available(iOS 8.0, *) - internal static let topMargin: ConstraintAttributes = ConstraintAttributes(UInt(1) << 14) - - @available(iOS 8.0, *) - internal static let bottomMargin: ConstraintAttributes = ConstraintAttributes(UInt(1) << 15) - - @available(iOS 8.0, *) - internal static let leadingMargin: ConstraintAttributes = ConstraintAttributes(UInt(1) << 16) - - @available(iOS 8.0, *) - internal static let trailingMargin: ConstraintAttributes = ConstraintAttributes(UInt(1) << 17) - - @available(iOS 8.0, *) - internal static let centerXWithinMargins: ConstraintAttributes = ConstraintAttributes(UInt(1) << 18) - - @available(iOS 8.0, *) - internal static let centerYWithinMargins: ConstraintAttributes = ConstraintAttributes(UInt(1) << 19) - - // aggregates - - internal static let edges: ConstraintAttributes = [.horizontalEdges, .verticalEdges] - internal static let horizontalEdges: ConstraintAttributes = [.left, .right] - internal static let verticalEdges: ConstraintAttributes = [.top, .bottom] - internal static let directionalEdges: ConstraintAttributes = [.directionalHorizontalEdges, .directionalVerticalEdges] - internal static let directionalHorizontalEdges: ConstraintAttributes = [.leading, .trailing] - internal static let directionalVerticalEdges: ConstraintAttributes = [.top, .bottom] - internal static let size: ConstraintAttributes = [.width, .height] - internal static let center: ConstraintAttributes = [.centerX, .centerY] - - @available(iOS 8.0, *) - internal static let margins: ConstraintAttributes = [.leftMargin, .topMargin, .rightMargin, .bottomMargin] - - @available(iOS 8.0, *) - internal static let directionalMargins: ConstraintAttributes = [.leadingMargin, .topMargin, .trailingMargin, .bottomMargin] - - @available(iOS 8.0, *) - internal static let centerWithinMargins: ConstraintAttributes = [.centerXWithinMargins, .centerYWithinMargins] - - internal var layoutAttributes:[LayoutAttribute] { - var attrs = [LayoutAttribute]() - if (self.contains(ConstraintAttributes.left)) { - attrs.append(.left) - } - if (self.contains(ConstraintAttributes.top)) { - attrs.append(.top) - } - if (self.contains(ConstraintAttributes.right)) { - attrs.append(.right) - } - if (self.contains(ConstraintAttributes.bottom)) { - attrs.append(.bottom) - } - if (self.contains(ConstraintAttributes.leading)) { - attrs.append(.leading) - } - if (self.contains(ConstraintAttributes.trailing)) { - attrs.append(.trailing) - } - if (self.contains(ConstraintAttributes.width)) { - attrs.append(.width) - } - if (self.contains(ConstraintAttributes.height)) { - attrs.append(.height) - } - if (self.contains(ConstraintAttributes.centerX)) { - attrs.append(.centerX) - } - if (self.contains(ConstraintAttributes.centerY)) { - attrs.append(.centerY) - } - if (self.contains(ConstraintAttributes.lastBaseline)) { - attrs.append(.lastBaseline) - } - - #if os(iOS) || os(tvOS) - if (self.contains(ConstraintAttributes.firstBaseline)) { - attrs.append(.firstBaseline) - } - if (self.contains(ConstraintAttributes.leftMargin)) { - attrs.append(.leftMargin) - } - if (self.contains(ConstraintAttributes.rightMargin)) { - attrs.append(.rightMargin) - } - if (self.contains(ConstraintAttributes.topMargin)) { - attrs.append(.topMargin) - } - if (self.contains(ConstraintAttributes.bottomMargin)) { - attrs.append(.bottomMargin) - } - if (self.contains(ConstraintAttributes.leadingMargin)) { - attrs.append(.leadingMargin) - } - if (self.contains(ConstraintAttributes.trailingMargin)) { - attrs.append(.trailingMargin) - } - if (self.contains(ConstraintAttributes.centerXWithinMargins)) { - attrs.append(.centerXWithinMargins) - } - if (self.contains(ConstraintAttributes.centerYWithinMargins)) { - attrs.append(.centerYWithinMargins) - } - #endif - - return attrs - } -} - -internal func + (left: ConstraintAttributes, right: ConstraintAttributes) -> ConstraintAttributes { - return left.union(right) -} - -internal func +=(left: inout ConstraintAttributes, right: ConstraintAttributes) { - left.formUnion(right) -} - -internal func -=(left: inout ConstraintAttributes, right: ConstraintAttributes) { - left.subtract(right) -} - -internal func ==(left: ConstraintAttributes, right: ConstraintAttributes) -> Bool { - return left.rawValue == right.rawValue -} diff --git a/There-iOS/Pods/SnapKit/Sources/ConstraintConfig.swift b/There-iOS/Pods/SnapKit/Sources/ConstraintConfig.swift deleted file mode 100644 index 2746b7d..0000000 --- a/There-iOS/Pods/SnapKit/Sources/ConstraintConfig.swift +++ /dev/null @@ -1,37 +0,0 @@ -// -// SnapKit -// -// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit -// -// 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. - -#if os(iOS) || os(tvOS) - import UIKit - public typealias ConstraintInterfaceLayoutDirection = UIUserInterfaceLayoutDirection -#else - import AppKit - public typealias ConstraintInterfaceLayoutDirection = NSUserInterfaceLayoutDirection -#endif - - -public struct ConstraintConfig { - - public static var interfaceLayoutDirection: ConstraintInterfaceLayoutDirection = .leftToRight - -} diff --git a/There-iOS/Pods/SnapKit/Sources/ConstraintConstantTarget.swift b/There-iOS/Pods/SnapKit/Sources/ConstraintConstantTarget.swift deleted file mode 100644 index 7f54907..0000000 --- a/There-iOS/Pods/SnapKit/Sources/ConstraintConstantTarget.swift +++ /dev/null @@ -1,213 +0,0 @@ -// -// SnapKit -// -// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit -// -// 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. - -#if os(iOS) || os(tvOS) - import UIKit -#else - import AppKit -#endif - - -public protocol ConstraintConstantTarget { -} - -extension CGPoint: ConstraintConstantTarget { -} - -extension CGSize: ConstraintConstantTarget { -} - -extension ConstraintInsets: ConstraintConstantTarget { -} - -#if os(iOS) || os(tvOS) -@available(iOS 11.0, tvOS 11.0, *) -extension ConstraintDirectionalInsets: ConstraintConstantTarget { -} -#endif - -extension ConstraintConstantTarget { - - internal func constraintConstantTargetValueFor(layoutAttribute: LayoutAttribute) -> CGFloat { - if let value = self as? CGFloat { - return value - } - - if let value = self as? Float { - return CGFloat(value) - } - - if let value = self as? Double { - return CGFloat(value) - } - - if let value = self as? Int { - return CGFloat(value) - } - - if let value = self as? UInt { - return CGFloat(value) - } - - if let value = self as? CGSize { - if layoutAttribute == .width { - return value.width - } else if layoutAttribute == .height { - return value.height - } else { - return 0.0 - } - } - - if let value = self as? CGPoint { - #if os(iOS) || os(tvOS) - switch layoutAttribute { - case .left, .right, .leading, .trailing, .centerX, .leftMargin, .rightMargin, .leadingMargin, .trailingMargin, .centerXWithinMargins: - return value.x - case .top, .bottom, .centerY, .topMargin, .bottomMargin, .centerYWithinMargins, .lastBaseline, .firstBaseline: - return value.y - case .width, .height, .notAnAttribute: - return 0.0 - #if swift(>=5.0) - @unknown default: - return 0.0 - #endif - } - #else - switch layoutAttribute { - case .left, .right, .leading, .trailing, .centerX: - return value.x - case .top, .bottom, .centerY, .lastBaseline, .firstBaseline: - return value.y - case .width, .height, .notAnAttribute: - return 0.0 - #if swift(>=5.0) - @unknown default: - return 0.0 - #endif - } - #endif - } - - if let value = self as? ConstraintInsets { - #if os(iOS) || os(tvOS) - switch layoutAttribute { - case .left, .leftMargin: - return value.left - case .top, .topMargin, .firstBaseline: - return value.top - case .right, .rightMargin: - return -value.right - case .bottom, .bottomMargin, .lastBaseline: - return -value.bottom - case .leading, .leadingMargin: - return (ConstraintConfig.interfaceLayoutDirection == .leftToRight) ? value.left : value.right - case .trailing, .trailingMargin: - return (ConstraintConfig.interfaceLayoutDirection == .leftToRight) ? -value.right : -value.left - case .centerX, .centerXWithinMargins: - return (value.left - value.right) / 2 - case .centerY, .centerYWithinMargins: - return (value.top - value.bottom) / 2 - case .width: - return -(value.left + value.right) - case .height: - return -(value.top + value.bottom) - case .notAnAttribute: - return 0.0 - #if swift(>=5.0) - @unknown default: - return 0.0 - #endif - } - #else - switch layoutAttribute { - case .left: - return value.left - case .top, .firstBaseline: - return value.top - case .right: - return -value.right - case .bottom, .lastBaseline: - return -value.bottom - case .leading: - return (ConstraintConfig.interfaceLayoutDirection == .leftToRight) ? value.left : value.right - case .trailing: - return (ConstraintConfig.interfaceLayoutDirection == .leftToRight) ? -value.right : -value.left - case .centerX: - return (value.left - value.right) / 2 - case .centerY: - return (value.top - value.bottom) / 2 - case .width: - return -(value.left + value.right) - case .height: - return -(value.top + value.bottom) - case .notAnAttribute: - return 0.0 - #if swift(>=5.0) - @unknown default: - return 0.0 - #endif - } - #endif - } - - #if os(iOS) || os(tvOS) - if #available(iOS 11.0, tvOS 11.0, *), let value = self as? ConstraintDirectionalInsets { - switch layoutAttribute { - case .left, .leftMargin: - return (ConstraintConfig.interfaceLayoutDirection == .leftToRight) ? value.leading : value.trailing - case .top, .topMargin, .firstBaseline: - return value.top - case .right, .rightMargin: - return (ConstraintConfig.interfaceLayoutDirection == .leftToRight) ? -value.trailing : -value.leading - case .bottom, .bottomMargin, .lastBaseline: - return -value.bottom - case .leading, .leadingMargin: - return value.leading - case .trailing, .trailingMargin: - return -value.trailing - case .centerX, .centerXWithinMargins: - return (value.leading - value.trailing) / 2 - case .centerY, .centerYWithinMargins: - return (value.top - value.bottom) / 2 - case .width: - return -(value.leading + value.trailing) - case .height: - return -(value.top + value.bottom) - case .notAnAttribute: - return 0.0 - #if swift(>=5.0) - @unknown default: - return 0.0 - #else - default: - return 0.0 - #endif - } - } - #endif - - return 0.0 - } - -} diff --git a/There-iOS/Pods/SnapKit/Sources/ConstraintDSL.swift b/There-iOS/Pods/SnapKit/Sources/ConstraintDSL.swift deleted file mode 100644 index 20f153d..0000000 --- a/There-iOS/Pods/SnapKit/Sources/ConstraintDSL.swift +++ /dev/null @@ -1,209 +0,0 @@ -// -// SnapKit -// -// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit -// -// 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. - -#if os(iOS) || os(tvOS) - import UIKit -#else - import AppKit -#endif - - -public protocol ConstraintDSL { - - var target: AnyObject? { get } - - func setLabel(_ value: String?) - func label() -> String? - -} -extension ConstraintDSL { - - public func setLabel(_ value: String?) { - objc_setAssociatedObject(self.target as Any, &labelKey, value, .OBJC_ASSOCIATION_COPY_NONATOMIC) - } - public func label() -> String? { - return objc_getAssociatedObject(self.target as Any, &labelKey) as? String - } - -} -private var labelKey: UInt8 = 0 - - -public protocol ConstraintBasicAttributesDSL : ConstraintDSL { -} -extension ConstraintBasicAttributesDSL { - - // MARK: Basics - - public var left: ConstraintItem { - return ConstraintItem(target: self.target, attributes: ConstraintAttributes.left) - } - - public var top: ConstraintItem { - return ConstraintItem(target: self.target, attributes: ConstraintAttributes.top) - } - - public var right: ConstraintItem { - return ConstraintItem(target: self.target, attributes: ConstraintAttributes.right) - } - - public var bottom: ConstraintItem { - return ConstraintItem(target: self.target, attributes: ConstraintAttributes.bottom) - } - - public var leading: ConstraintItem { - return ConstraintItem(target: self.target, attributes: ConstraintAttributes.leading) - } - - public var trailing: ConstraintItem { - return ConstraintItem(target: self.target, attributes: ConstraintAttributes.trailing) - } - - public var width: ConstraintItem { - return ConstraintItem(target: self.target, attributes: ConstraintAttributes.width) - } - - public var height: ConstraintItem { - return ConstraintItem(target: self.target, attributes: ConstraintAttributes.height) - } - - public var centerX: ConstraintItem { - return ConstraintItem(target: self.target, attributes: ConstraintAttributes.centerX) - } - - public var centerY: ConstraintItem { - return ConstraintItem(target: self.target, attributes: ConstraintAttributes.centerY) - } - - public var edges: ConstraintItem { - return ConstraintItem(target: self.target, attributes: ConstraintAttributes.edges) - } - - public var directionalEdges: ConstraintItem { - return ConstraintItem(target: self.target, attributes: ConstraintAttributes.directionalEdges) - } - - public var horizontalEdges: ConstraintItem { - return ConstraintItem(target: self.target, attributes: ConstraintAttributes.horizontalEdges) - } - - public var verticalEdges: ConstraintItem { - return ConstraintItem(target: self.target, attributes: ConstraintAttributes.verticalEdges) - } - - public var directionalHorizontalEdges: ConstraintItem { - return ConstraintItem(target: self.target, attributes: ConstraintAttributes.directionalHorizontalEdges) - } - - public var directionalVerticalEdges: ConstraintItem { - return ConstraintItem(target: self.target, attributes: ConstraintAttributes.directionalVerticalEdges) - } - - public var size: ConstraintItem { - return ConstraintItem(target: self.target, attributes: ConstraintAttributes.size) - } - - public var center: ConstraintItem { - return ConstraintItem(target: self.target, attributes: ConstraintAttributes.center) - } - -} - -public protocol ConstraintAttributesDSL : ConstraintBasicAttributesDSL { -} -extension ConstraintAttributesDSL { - - // MARK: Baselines - @available(*, deprecated, renamed:"lastBaseline") - public var baseline: ConstraintItem { - return ConstraintItem(target: self.target, attributes: ConstraintAttributes.lastBaseline) - } - - @available(iOS 8.0, OSX 10.11, *) - public var lastBaseline: ConstraintItem { - return ConstraintItem(target: self.target, attributes: ConstraintAttributes.lastBaseline) - } - - @available(iOS 8.0, OSX 10.11, *) - public var firstBaseline: ConstraintItem { - return ConstraintItem(target: self.target, attributes: ConstraintAttributes.firstBaseline) - } - - // MARK: Margins - - @available(iOS 8.0, *) - public var leftMargin: ConstraintItem { - return ConstraintItem(target: self.target, attributes: ConstraintAttributes.leftMargin) - } - - @available(iOS 8.0, *) - public var topMargin: ConstraintItem { - return ConstraintItem(target: self.target, attributes: ConstraintAttributes.topMargin) - } - - @available(iOS 8.0, *) - public var rightMargin: ConstraintItem { - return ConstraintItem(target: self.target, attributes: ConstraintAttributes.rightMargin) - } - - @available(iOS 8.0, *) - public var bottomMargin: ConstraintItem { - return ConstraintItem(target: self.target, attributes: ConstraintAttributes.bottomMargin) - } - - @available(iOS 8.0, *) - public var leadingMargin: ConstraintItem { - return ConstraintItem(target: self.target, attributes: ConstraintAttributes.leadingMargin) - } - - @available(iOS 8.0, *) - public var trailingMargin: ConstraintItem { - return ConstraintItem(target: self.target, attributes: ConstraintAttributes.trailingMargin) - } - - @available(iOS 8.0, *) - public var centerXWithinMargins: ConstraintItem { - return ConstraintItem(target: self.target, attributes: ConstraintAttributes.centerXWithinMargins) - } - - @available(iOS 8.0, *) - public var centerYWithinMargins: ConstraintItem { - return ConstraintItem(target: self.target, attributes: ConstraintAttributes.centerYWithinMargins) - } - - @available(iOS 8.0, *) - public var margins: ConstraintItem { - return ConstraintItem(target: self.target, attributes: ConstraintAttributes.margins) - } - - @available(iOS 8.0, *) - public var directionalMargins: ConstraintItem { - return ConstraintItem(target: self.target, attributes: ConstraintAttributes.directionalMargins) - } - - @available(iOS 8.0, *) - public var centerWithinMargins: ConstraintItem { - return ConstraintItem(target: self.target, attributes: ConstraintAttributes.centerWithinMargins) - } - -} diff --git a/There-iOS/Pods/SnapKit/Sources/ConstraintDescription.swift b/There-iOS/Pods/SnapKit/Sources/ConstraintDescription.swift deleted file mode 100644 index 3521f9f..0000000 --- a/There-iOS/Pods/SnapKit/Sources/ConstraintDescription.swift +++ /dev/null @@ -1,69 +0,0 @@ -// -// SnapKit -// -// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit -// -// 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. - -#if os(iOS) || os(tvOS) - import UIKit -#else - import AppKit -#endif - - -public class ConstraintDescription { - - internal let item: LayoutConstraintItem - internal var attributes: ConstraintAttributes - internal var relation: ConstraintRelation? = nil - internal var sourceLocation: (String, UInt)? = nil - internal var label: String? = nil - internal var related: ConstraintItem? = nil - internal var multiplier: ConstraintMultiplierTarget = 1.0 - internal var constant: ConstraintConstantTarget = 0.0 - internal var priority: ConstraintPriorityTarget = 1000.0 - internal lazy var constraint: Constraint? = { - guard let relation = self.relation, - let related = self.related, - let sourceLocation = self.sourceLocation else { - return nil - } - let from = ConstraintItem(target: self.item, attributes: self.attributes) - - return Constraint( - from: from, - to: related, - relation: relation, - sourceLocation: sourceLocation, - label: self.label, - multiplier: self.multiplier, - constant: self.constant, - priority: self.priority - ) - }() - - // MARK: Initialization - - internal init(item: LayoutConstraintItem, attributes: ConstraintAttributes) { - self.item = item - self.attributes = attributes - } - -} diff --git a/There-iOS/Pods/SnapKit/Sources/ConstraintDirectionalInsetTarget.swift b/There-iOS/Pods/SnapKit/Sources/ConstraintDirectionalInsetTarget.swift deleted file mode 100644 index 955aec3..0000000 --- a/There-iOS/Pods/SnapKit/Sources/ConstraintDirectionalInsetTarget.swift +++ /dev/null @@ -1,49 +0,0 @@ -// -// SnapKit -// -// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit -// -// 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. - -#if os(iOS) || os(tvOS) -import UIKit -#else -import AppKit -#endif - -#if os(iOS) || os(tvOS) -public protocol ConstraintDirectionalInsetTarget: ConstraintConstantTarget { -} - -@available(iOS 11.0, tvOS 11.0, *) -extension ConstraintDirectionalInsets: ConstraintDirectionalInsetTarget { -} - -extension ConstraintDirectionalInsetTarget { - - @available(iOS 11.0, tvOS 11.0, *) - internal var constraintDirectionalInsetTargetValue: ConstraintDirectionalInsets { - if let amount = self as? ConstraintDirectionalInsets { - return amount - } else { - return ConstraintDirectionalInsets(top: 0, leading: 0, bottom: 0, trailing: 0) - } - } -} -#endif diff --git a/There-iOS/Pods/SnapKit/Sources/ConstraintDirectionalInsets.swift b/There-iOS/Pods/SnapKit/Sources/ConstraintDirectionalInsets.swift deleted file mode 100644 index ada8ed5..0000000 --- a/There-iOS/Pods/SnapKit/Sources/ConstraintDirectionalInsets.swift +++ /dev/null @@ -1,34 +0,0 @@ -// -// SnapKit -// -// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit -// -// 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. - -#if os(iOS) || os(tvOS) - import UIKit -#else - import AppKit -#endif - - -#if os(iOS) || os(tvOS) - @available(iOS 11.0, tvOS 11.0, *) - public typealias ConstraintDirectionalInsets = NSDirectionalEdgeInsets -#endif diff --git a/There-iOS/Pods/SnapKit/Sources/ConstraintInsetTarget.swift b/There-iOS/Pods/SnapKit/Sources/ConstraintInsetTarget.swift deleted file mode 100644 index ba8a0f3..0000000 --- a/There-iOS/Pods/SnapKit/Sources/ConstraintInsetTarget.swift +++ /dev/null @@ -1,72 +0,0 @@ -// -// SnapKit -// -// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit -// -// 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. - -#if os(iOS) || os(tvOS) - import UIKit -#else - import AppKit -#endif - - -public protocol ConstraintInsetTarget: ConstraintConstantTarget { -} - -extension Int: ConstraintInsetTarget { -} - -extension UInt: ConstraintInsetTarget { -} - -extension Float: ConstraintInsetTarget { -} - -extension Double: ConstraintInsetTarget { -} - -extension CGFloat: ConstraintInsetTarget { -} - -extension ConstraintInsets: ConstraintInsetTarget { -} - -extension ConstraintInsetTarget { - - internal var constraintInsetTargetValue: ConstraintInsets { - if let amount = self as? ConstraintInsets { - return amount - } else if let amount = self as? Float { - return ConstraintInsets(top: CGFloat(amount), left: CGFloat(amount), bottom: CGFloat(amount), right: CGFloat(amount)) - } else if let amount = self as? Double { - return ConstraintInsets(top: CGFloat(amount), left: CGFloat(amount), bottom: CGFloat(amount), right: CGFloat(amount)) - } else if let amount = self as? CGFloat { - return ConstraintInsets(top: amount, left: amount, bottom: amount, right: amount) - } else if let amount = self as? Int { - return ConstraintInsets(top: CGFloat(amount), left: CGFloat(amount), bottom: CGFloat(amount), right: CGFloat(amount)) - } else if let amount = self as? UInt { - return ConstraintInsets(top: CGFloat(amount), left: CGFloat(amount), bottom: CGFloat(amount), right: CGFloat(amount)) - } else { - return ConstraintInsets(top: 0, left: 0, bottom: 0, right: 0) - } - } - -} diff --git a/There-iOS/Pods/SnapKit/Sources/ConstraintInsets.swift b/There-iOS/Pods/SnapKit/Sources/ConstraintInsets.swift deleted file mode 100644 index 738ca05..0000000 --- a/There-iOS/Pods/SnapKit/Sources/ConstraintInsets.swift +++ /dev/null @@ -1,35 +0,0 @@ -// -// SnapKit -// -// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit -// -// 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. - -#if os(iOS) || os(tvOS) - import UIKit -#else - import AppKit -#endif - - -#if os(iOS) || os(tvOS) - public typealias ConstraintInsets = UIEdgeInsets -#else - public typealias ConstraintInsets = NSEdgeInsets -#endif diff --git a/There-iOS/Pods/SnapKit/Sources/ConstraintItem.swift b/There-iOS/Pods/SnapKit/Sources/ConstraintItem.swift deleted file mode 100644 index a342c1d..0000000 --- a/There-iOS/Pods/SnapKit/Sources/ConstraintItem.swift +++ /dev/null @@ -1,61 +0,0 @@ -// -// SnapKit -// -// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit -// -// 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. - -#if os(iOS) || os(tvOS) - import UIKit -#else - import AppKit -#endif - - -public final class ConstraintItem { - - internal weak var target: AnyObject? - internal let attributes: ConstraintAttributes - - internal init(target: AnyObject?, attributes: ConstraintAttributes) { - self.target = target - self.attributes = attributes - } - - internal var layoutConstraintItem: LayoutConstraintItem? { - return self.target as? LayoutConstraintItem - } - -} - -public func ==(lhs: ConstraintItem, rhs: ConstraintItem) -> Bool { - // pointer equality - guard lhs !== rhs else { - return true - } - - // must both have valid targets and identical attributes - guard let target1 = lhs.target, - let target2 = rhs.target, - target1 === target2 && lhs.attributes == rhs.attributes else { - return false - } - - return true -} diff --git a/There-iOS/Pods/SnapKit/Sources/ConstraintLayoutGuide+Extensions.swift b/There-iOS/Pods/SnapKit/Sources/ConstraintLayoutGuide+Extensions.swift deleted file mode 100644 index d429e0c..0000000 --- a/There-iOS/Pods/SnapKit/Sources/ConstraintLayoutGuide+Extensions.swift +++ /dev/null @@ -1,36 +0,0 @@ -// -// SnapKit -// -// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit -// -// 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. - -#if os(iOS) || os(tvOS) - import UIKit -#endif - - -@available(iOS 9.0, OSX 10.11, *) -public extension ConstraintLayoutGuide { - - var snp: ConstraintLayoutGuideDSL { - return ConstraintLayoutGuideDSL(guide: self) - } - -} diff --git a/There-iOS/Pods/SnapKit/Sources/ConstraintLayoutGuide.swift b/There-iOS/Pods/SnapKit/Sources/ConstraintLayoutGuide.swift deleted file mode 100644 index e3e50c8..0000000 --- a/There-iOS/Pods/SnapKit/Sources/ConstraintLayoutGuide.swift +++ /dev/null @@ -1,37 +0,0 @@ -// -// SnapKit -// -// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit -// -// 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. - -#if os(iOS) || os(tvOS) - import UIKit -#else - import AppKit -#endif - - -#if os(iOS) || os(tvOS) - @available(iOS 9.0, *) - public typealias ConstraintLayoutGuide = UILayoutGuide -#else - @available(OSX 10.11, *) - public typealias ConstraintLayoutGuide = NSLayoutGuide -#endif diff --git a/There-iOS/Pods/SnapKit/Sources/ConstraintLayoutGuideDSL.swift b/There-iOS/Pods/SnapKit/Sources/ConstraintLayoutGuideDSL.swift deleted file mode 100644 index 0007819..0000000 --- a/There-iOS/Pods/SnapKit/Sources/ConstraintLayoutGuideDSL.swift +++ /dev/null @@ -1,66 +0,0 @@ -// -// SnapKit -// -// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit -// -// 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. - -#if os(iOS) || os(tvOS) - import UIKit -#else - import AppKit -#endif - - -@available(iOS 9.0, OSX 10.11, *) -public struct ConstraintLayoutGuideDSL: ConstraintAttributesDSL { - - @discardableResult - public func prepareConstraints(_ closure: (_ make: ConstraintMaker) -> Void) -> [Constraint] { - return ConstraintMaker.prepareConstraints(item: self.guide, closure: closure) - } - - public func makeConstraints(_ closure: (_ make: ConstraintMaker) -> Void) { - ConstraintMaker.makeConstraints(item: self.guide, closure: closure) - } - - public func remakeConstraints(_ closure: (_ make: ConstraintMaker) -> Void) { - ConstraintMaker.remakeConstraints(item: self.guide, closure: closure) - } - - public func updateConstraints(_ closure: (_ make: ConstraintMaker) -> Void) { - ConstraintMaker.updateConstraints(item: self.guide, closure: closure) - } - - public func removeConstraints() { - ConstraintMaker.removeConstraints(item: self.guide) - } - - public var target: AnyObject? { - return self.guide - } - - internal let guide: ConstraintLayoutGuide - - internal init(guide: ConstraintLayoutGuide) { - self.guide = guide - - } - -} diff --git a/There-iOS/Pods/SnapKit/Sources/ConstraintLayoutSupport.swift b/There-iOS/Pods/SnapKit/Sources/ConstraintLayoutSupport.swift deleted file mode 100644 index e92e9fb..0000000 --- a/There-iOS/Pods/SnapKit/Sources/ConstraintLayoutSupport.swift +++ /dev/null @@ -1,36 +0,0 @@ -// -// SnapKit -// -// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit -// -// 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. - -#if os(iOS) || os(tvOS) - import UIKit -#else - import AppKit -#endif - - -#if os(iOS) || os(tvOS) - @available(iOS 8.0, *) - public typealias ConstraintLayoutSupport = UILayoutSupport -#else - public class ConstraintLayoutSupport {} -#endif diff --git a/There-iOS/Pods/SnapKit/Sources/ConstraintLayoutSupportDSL.swift b/There-iOS/Pods/SnapKit/Sources/ConstraintLayoutSupportDSL.swift deleted file mode 100644 index 5d6ae89..0000000 --- a/There-iOS/Pods/SnapKit/Sources/ConstraintLayoutSupportDSL.swift +++ /dev/null @@ -1,56 +0,0 @@ -// -// SnapKit -// -// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit -// -// 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. - -#if os(iOS) || os(tvOS) - import UIKit -#else - import AppKit -#endif - - -@available(iOS 8.0, *) -public struct ConstraintLayoutSupportDSL: ConstraintDSL { - - public var target: AnyObject? { - return self.support - } - - internal let support: ConstraintLayoutSupport - - internal init(support: ConstraintLayoutSupport) { - self.support = support - - } - - public var top: ConstraintItem { - return ConstraintItem(target: self.target, attributes: ConstraintAttributes.top) - } - - public var bottom: ConstraintItem { - return ConstraintItem(target: self.target, attributes: ConstraintAttributes.bottom) - } - - public var height: ConstraintItem { - return ConstraintItem(target: self.target, attributes: ConstraintAttributes.height) - } -} diff --git a/There-iOS/Pods/SnapKit/Sources/ConstraintMaker.swift b/There-iOS/Pods/SnapKit/Sources/ConstraintMaker.swift deleted file mode 100644 index 50d7402..0000000 --- a/There-iOS/Pods/SnapKit/Sources/ConstraintMaker.swift +++ /dev/null @@ -1,224 +0,0 @@ -// -// SnapKit -// -// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit -// -// 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. - -#if os(iOS) || os(tvOS) - import UIKit -#else - import AppKit -#endif - -public class ConstraintMaker { - - public var left: ConstraintMakerExtendable { - return self.makeExtendableWithAttributes(.left) - } - - public var top: ConstraintMakerExtendable { - return self.makeExtendableWithAttributes(.top) - } - - public var bottom: ConstraintMakerExtendable { - return self.makeExtendableWithAttributes(.bottom) - } - - public var right: ConstraintMakerExtendable { - return self.makeExtendableWithAttributes(.right) - } - - public var leading: ConstraintMakerExtendable { - return self.makeExtendableWithAttributes(.leading) - } - - public var trailing: ConstraintMakerExtendable { - return self.makeExtendableWithAttributes(.trailing) - } - - public var width: ConstraintMakerExtendable { - return self.makeExtendableWithAttributes(.width) - } - - public var height: ConstraintMakerExtendable { - return self.makeExtendableWithAttributes(.height) - } - - public var centerX: ConstraintMakerExtendable { - return self.makeExtendableWithAttributes(.centerX) - } - - public var centerY: ConstraintMakerExtendable { - return self.makeExtendableWithAttributes(.centerY) - } - - @available(*, deprecated, renamed:"lastBaseline") - public var baseline: ConstraintMakerExtendable { - return self.makeExtendableWithAttributes(.lastBaseline) - } - - public var lastBaseline: ConstraintMakerExtendable { - return self.makeExtendableWithAttributes(.lastBaseline) - } - - @available(iOS 8.0, OSX 10.11, *) - public var firstBaseline: ConstraintMakerExtendable { - return self.makeExtendableWithAttributes(.firstBaseline) - } - - @available(iOS 8.0, *) - public var leftMargin: ConstraintMakerExtendable { - return self.makeExtendableWithAttributes(.leftMargin) - } - - @available(iOS 8.0, *) - public var rightMargin: ConstraintMakerExtendable { - return self.makeExtendableWithAttributes(.rightMargin) - } - - @available(iOS 8.0, *) - public var topMargin: ConstraintMakerExtendable { - return self.makeExtendableWithAttributes(.topMargin) - } - - @available(iOS 8.0, *) - public var bottomMargin: ConstraintMakerExtendable { - return self.makeExtendableWithAttributes(.bottomMargin) - } - - @available(iOS 8.0, *) - public var leadingMargin: ConstraintMakerExtendable { - return self.makeExtendableWithAttributes(.leadingMargin) - } - - @available(iOS 8.0, *) - public var trailingMargin: ConstraintMakerExtendable { - return self.makeExtendableWithAttributes(.trailingMargin) - } - - @available(iOS 8.0, *) - public var centerXWithinMargins: ConstraintMakerExtendable { - return self.makeExtendableWithAttributes(.centerXWithinMargins) - } - - @available(iOS 8.0, *) - public var centerYWithinMargins: ConstraintMakerExtendable { - return self.makeExtendableWithAttributes(.centerYWithinMargins) - } - - public var edges: ConstraintMakerExtendable { - return self.makeExtendableWithAttributes(.edges) - } - public var horizontalEdges: ConstraintMakerExtendable { - return self.makeExtendableWithAttributes(.horizontalEdges) - } - public var verticalEdges: ConstraintMakerExtendable { - return self.makeExtendableWithAttributes(.verticalEdges) - } - public var directionalEdges: ConstraintMakerExtendable { - return self.makeExtendableWithAttributes(.directionalEdges) - } - public var directionalHorizontalEdges: ConstraintMakerExtendable { - return self.makeExtendableWithAttributes(.directionalHorizontalEdges) - } - public var directionalVerticalEdges: ConstraintMakerExtendable { - return self.makeExtendableWithAttributes(.directionalVerticalEdges) - } - public var size: ConstraintMakerExtendable { - return self.makeExtendableWithAttributes(.size) - } - public var center: ConstraintMakerExtendable { - return self.makeExtendableWithAttributes(.center) - } - - @available(iOS 8.0, *) - public var margins: ConstraintMakerExtendable { - return self.makeExtendableWithAttributes(.margins) - } - - @available(iOS 8.0, *) - public var directionalMargins: ConstraintMakerExtendable { - return self.makeExtendableWithAttributes(.directionalMargins) - } - - @available(iOS 8.0, *) - public var centerWithinMargins: ConstraintMakerExtendable { - return self.makeExtendableWithAttributes(.centerWithinMargins) - } - - public let item: LayoutConstraintItem - private var descriptions = [ConstraintDescription]() - - internal init(item: LayoutConstraintItem) { - self.item = item - self.item.prepare() - } - - internal func makeExtendableWithAttributes(_ attributes: ConstraintAttributes) -> ConstraintMakerExtendable { - let description = ConstraintDescription(item: self.item, attributes: attributes) - self.descriptions.append(description) - return ConstraintMakerExtendable(description) - } - - internal static func prepareConstraints(item: LayoutConstraintItem, closure: (_ make: ConstraintMaker) -> Void) -> [Constraint] { - let maker = ConstraintMaker(item: item) - closure(maker) - var constraints: [Constraint] = [] - for description in maker.descriptions { - guard let constraint = description.constraint else { - continue - } - constraints.append(constraint) - } - return constraints - } - - internal static func makeConstraints(item: LayoutConstraintItem, closure: (_ make: ConstraintMaker) -> Void) { - let constraints = prepareConstraints(item: item, closure: closure) - for constraint in constraints { - constraint.activateIfNeeded(updatingExisting: false) - } - } - - internal static func remakeConstraints(item: LayoutConstraintItem, closure: (_ make: ConstraintMaker) -> Void) { - self.removeConstraints(item: item) - self.makeConstraints(item: item, closure: closure) - } - - internal static func updateConstraints(item: LayoutConstraintItem, closure: (_ make: ConstraintMaker) -> Void) { - guard item.constraints.count > 0 else { - self.makeConstraints(item: item, closure: closure) - return - } - - let constraints = prepareConstraints(item: item, closure: closure) - for constraint in constraints { - constraint.activateIfNeeded(updatingExisting: true) - } - } - - internal static func removeConstraints(item: LayoutConstraintItem) { - let constraints = item.constraints - for constraint in constraints { - constraint.deactivateIfNeeded() - } - } - -} diff --git a/There-iOS/Pods/SnapKit/Sources/ConstraintMakerEditable.swift b/There-iOS/Pods/SnapKit/Sources/ConstraintMakerEditable.swift deleted file mode 100644 index 4869bc2..0000000 --- a/There-iOS/Pods/SnapKit/Sources/ConstraintMakerEditable.swift +++ /dev/null @@ -1,64 +0,0 @@ -// -// SnapKit -// -// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit -// -// 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. - -#if os(iOS) || os(tvOS) - import UIKit -#else - import AppKit -#endif - - -public class ConstraintMakerEditable: ConstraintMakerPrioritizable { - - @discardableResult - public func multipliedBy(_ amount: ConstraintMultiplierTarget) -> ConstraintMakerEditable { - self.description.multiplier = amount - return self - } - - @discardableResult - public func dividedBy(_ amount: ConstraintMultiplierTarget) -> ConstraintMakerEditable { - return self.multipliedBy(1.0 / amount.constraintMultiplierTargetValue) - } - - @discardableResult - public func offset(_ amount: ConstraintOffsetTarget) -> ConstraintMakerEditable { - self.description.constant = amount.constraintOffsetTargetValue - return self - } - - @discardableResult - public func inset(_ amount: ConstraintInsetTarget) -> ConstraintMakerEditable { - self.description.constant = amount.constraintInsetTargetValue - return self - } - - #if os(iOS) || os(tvOS) - @discardableResult - @available(iOS 11.0, tvOS 11.0, *) - public func inset(_ amount: ConstraintDirectionalInsetTarget) -> ConstraintMakerEditable { - self.description.constant = amount.constraintDirectionalInsetTargetValue - return self - } - #endif -} diff --git a/There-iOS/Pods/SnapKit/Sources/ConstraintMakerExtendable.swift b/There-iOS/Pods/SnapKit/Sources/ConstraintMakerExtendable.swift deleted file mode 100644 index d834649..0000000 --- a/There-iOS/Pods/SnapKit/Sources/ConstraintMakerExtendable.swift +++ /dev/null @@ -1,195 +0,0 @@ -// -// SnapKit -// -// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit -// -// 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. - -#if os(iOS) || os(tvOS) - import UIKit -#else - import AppKit -#endif - - -public class ConstraintMakerExtendable: ConstraintMakerRelatable { - - public var left: ConstraintMakerExtendable { - self.description.attributes += .left - return self - } - - public var top: ConstraintMakerExtendable { - self.description.attributes += .top - return self - } - - public var bottom: ConstraintMakerExtendable { - self.description.attributes += .bottom - return self - } - - public var right: ConstraintMakerExtendable { - self.description.attributes += .right - return self - } - - public var leading: ConstraintMakerExtendable { - self.description.attributes += .leading - return self - } - - public var trailing: ConstraintMakerExtendable { - self.description.attributes += .trailing - return self - } - - public var width: ConstraintMakerExtendable { - self.description.attributes += .width - return self - } - - public var height: ConstraintMakerExtendable { - self.description.attributes += .height - return self - } - - public var centerX: ConstraintMakerExtendable { - self.description.attributes += .centerX - return self - } - - public var centerY: ConstraintMakerExtendable { - self.description.attributes += .centerY - return self - } - - @available(*, deprecated, renamed:"lastBaseline") - public var baseline: ConstraintMakerExtendable { - self.description.attributes += .lastBaseline - return self - } - - public var lastBaseline: ConstraintMakerExtendable { - self.description.attributes += .lastBaseline - return self - } - - @available(iOS 8.0, OSX 10.11, *) - public var firstBaseline: ConstraintMakerExtendable { - self.description.attributes += .firstBaseline - return self - } - - @available(iOS 8.0, *) - public var leftMargin: ConstraintMakerExtendable { - self.description.attributes += .leftMargin - return self - } - - @available(iOS 8.0, *) - public var rightMargin: ConstraintMakerExtendable { - self.description.attributes += .rightMargin - return self - } - - @available(iOS 8.0, *) - public var topMargin: ConstraintMakerExtendable { - self.description.attributes += .topMargin - return self - } - - @available(iOS 8.0, *) - public var bottomMargin: ConstraintMakerExtendable { - self.description.attributes += .bottomMargin - return self - } - - @available(iOS 8.0, *) - public var leadingMargin: ConstraintMakerExtendable { - self.description.attributes += .leadingMargin - return self - } - - @available(iOS 8.0, *) - public var trailingMargin: ConstraintMakerExtendable { - self.description.attributes += .trailingMargin - return self - } - - @available(iOS 8.0, *) - public var centerXWithinMargins: ConstraintMakerExtendable { - self.description.attributes += .centerXWithinMargins - return self - } - - @available(iOS 8.0, *) - public var centerYWithinMargins: ConstraintMakerExtendable { - self.description.attributes += .centerYWithinMargins - return self - } - - public var edges: ConstraintMakerExtendable { - self.description.attributes += .edges - return self - } - public var horizontalEdges: ConstraintMakerExtendable { - self.description.attributes += .horizontalEdges - return self - } - public var verticalEdges: ConstraintMakerExtendable { - self.description.attributes += .verticalEdges - return self - } - public var directionalEdges: ConstraintMakerExtendable { - self.description.attributes += .directionalEdges - return self - } - public var directionalHorizontalEdges: ConstraintMakerExtendable { - self.description.attributes += .directionalHorizontalEdges - return self - } - public var directionalVerticalEdges: ConstraintMakerExtendable { - self.description.attributes += .directionalVerticalEdges - return self - } - public var size: ConstraintMakerExtendable { - self.description.attributes += .size - return self - } - - @available(iOS 8.0, *) - public var margins: ConstraintMakerExtendable { - self.description.attributes += .margins - return self - } - - @available(iOS 8.0, *) - public var directionalMargins: ConstraintMakerExtendable { - self.description.attributes += .directionalMargins - return self - } - - @available(iOS 8.0, *) - public var centerWithinMargins: ConstraintMakerExtendable { - self.description.attributes += .centerWithinMargins - return self - } - -} diff --git a/There-iOS/Pods/SnapKit/Sources/ConstraintMakerFinalizable.swift b/There-iOS/Pods/SnapKit/Sources/ConstraintMakerFinalizable.swift deleted file mode 100644 index 4e1379e..0000000 --- a/There-iOS/Pods/SnapKit/Sources/ConstraintMakerFinalizable.swift +++ /dev/null @@ -1,49 +0,0 @@ -// -// SnapKit -// -// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit -// -// 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. - -#if os(iOS) || os(tvOS) - import UIKit -#else - import AppKit -#endif - - -public class ConstraintMakerFinalizable { - - internal let description: ConstraintDescription - - internal init(_ description: ConstraintDescription) { - self.description = description - } - - @discardableResult - public func labeled(_ label: String) -> ConstraintMakerFinalizable { - self.description.label = label - return self - } - - public var constraint: Constraint { - return self.description.constraint! - } - -} diff --git a/There-iOS/Pods/SnapKit/Sources/ConstraintMakerPrioritizable.swift b/There-iOS/Pods/SnapKit/Sources/ConstraintMakerPrioritizable.swift deleted file mode 100644 index 5af5303..0000000 --- a/There-iOS/Pods/SnapKit/Sources/ConstraintMakerPrioritizable.swift +++ /dev/null @@ -1,70 +0,0 @@ -// -// SnapKit -// -// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit -// -// 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. - -#if os(iOS) || os(tvOS) - import UIKit -#else - import AppKit -#endif - -@available(*, deprecated, message:"Use ConstraintMakerPrioritizable instead.") -public typealias ConstraintMakerPriortizable = ConstraintMakerPrioritizable - -public class ConstraintMakerPrioritizable: ConstraintMakerFinalizable { - - @discardableResult - public func priority(_ amount: ConstraintPriority) -> ConstraintMakerFinalizable { - self.description.priority = amount.value - return self - } - - @discardableResult - public func priority(_ amount: ConstraintPriorityTarget) -> ConstraintMakerFinalizable { - self.description.priority = amount - return self - } - - @available(*, deprecated, message:"Use priority(.required) instead.") - @discardableResult - public func priorityRequired() -> ConstraintMakerFinalizable { - return self.priority(.required) - } - - @available(*, deprecated, message:"Use priority(.high) instead.") - @discardableResult - public func priorityHigh() -> ConstraintMakerFinalizable { - return self.priority(.high) - } - - @available(*, deprecated, message:"Use priority(.medium) instead.") - @discardableResult - public func priorityMedium() -> ConstraintMakerFinalizable { - return self.priority(.medium) - } - - @available(*, deprecated, message:"Use priority(.low) instead.") - @discardableResult - public func priorityLow() -> ConstraintMakerFinalizable { - return self.priority(.low) - } -} diff --git a/There-iOS/Pods/SnapKit/Sources/ConstraintMakerRelatable+Extensions.swift b/There-iOS/Pods/SnapKit/Sources/ConstraintMakerRelatable+Extensions.swift deleted file mode 100644 index 63100d7..0000000 --- a/There-iOS/Pods/SnapKit/Sources/ConstraintMakerRelatable+Extensions.swift +++ /dev/null @@ -1,57 +0,0 @@ -// -// SnapKit -// -// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit -// -// 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. - -#if os(iOS) || os(tvOS) - import UIKit -#else - import AppKit -#endif - - -extension ConstraintMakerRelatable { - - @discardableResult - public func equalToSuperview(_ closure: (ConstraintView) -> T, _ file: String = #file, line: UInt = #line) -> ConstraintMakerEditable { - guard let other = self.description.item.superview else { - fatalError("Expected superview but found nil when attempting make constraint `equalToSuperview`.") - } - return self.relatedTo(closure(other), relation: .equal, file: file, line: line) - } - - @discardableResult - public func lessThanOrEqualToSuperview(_ closure: (ConstraintView) -> T, _ file: String = #file, line: UInt = #line) -> ConstraintMakerEditable { - guard let other = self.description.item.superview else { - fatalError("Expected superview but found nil when attempting make constraint `lessThanOrEqualToSuperview`.") - } - return self.relatedTo(closure(other), relation: .lessThanOrEqual, file: file, line: line) - } - - @discardableResult - public func greaterThanOrEqualTo(_ closure: (ConstraintView) -> T, _ file: String = #file, line: UInt = #line) -> ConstraintMakerEditable { - guard let other = self.description.item.superview else { - fatalError("Expected superview but found nil when attempting make constraint `greaterThanOrEqualToSuperview`.") - } - return self.relatedTo(closure(other), relation: .greaterThanOrEqual, file: file, line: line) - } - -} diff --git a/There-iOS/Pods/SnapKit/Sources/ConstraintMakerRelatable.swift b/There-iOS/Pods/SnapKit/Sources/ConstraintMakerRelatable.swift deleted file mode 100644 index 7889532..0000000 --- a/There-iOS/Pods/SnapKit/Sources/ConstraintMakerRelatable.swift +++ /dev/null @@ -1,115 +0,0 @@ -// -// SnapKit -// -// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit -// -// 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. - -#if os(iOS) || os(tvOS) - import UIKit -#else - import AppKit -#endif - - -public class ConstraintMakerRelatable { - - internal let description: ConstraintDescription - - internal init(_ description: ConstraintDescription) { - self.description = description - } - - internal func relatedTo(_ other: ConstraintRelatableTarget, relation: ConstraintRelation, file: String, line: UInt) -> ConstraintMakerEditable { - let related: ConstraintItem - let constant: ConstraintConstantTarget - - if let other = other as? ConstraintItem { - guard other.attributes == ConstraintAttributes.none || - other.attributes.layoutAttributes.count <= 1 || - other.attributes.layoutAttributes == self.description.attributes.layoutAttributes || - other.attributes == .edges && self.description.attributes == .margins || - other.attributes == .margins && self.description.attributes == .edges || - other.attributes == .directionalEdges && self.description.attributes == .directionalMargins || - other.attributes == .directionalMargins && self.description.attributes == .directionalEdges else { - fatalError("Cannot constraint to multiple non identical attributes. (\(file), \(line))"); - } - - related = other - constant = 0.0 - } else if let other = other as? ConstraintView { - related = ConstraintItem(target: other, attributes: ConstraintAttributes.none) - constant = 0.0 - } else if let other = other as? ConstraintConstantTarget { - related = ConstraintItem(target: nil, attributes: ConstraintAttributes.none) - constant = other - } else if #available(iOS 9.0, OSX 10.11, *), let other = other as? ConstraintLayoutGuide { - related = ConstraintItem(target: other, attributes: ConstraintAttributes.none) - constant = 0.0 - } else { - fatalError("Invalid constraint. (\(file), \(line))") - } - - let editable = ConstraintMakerEditable(self.description) - editable.description.sourceLocation = (file, line) - editable.description.relation = relation - editable.description.related = related - editable.description.constant = constant - return editable - } - - @discardableResult - public func equalTo(_ other: ConstraintRelatableTarget, _ file: String = #file, _ line: UInt = #line) -> ConstraintMakerEditable { - return self.relatedTo(other, relation: .equal, file: file, line: line) - } - - @discardableResult - public func equalToSuperview(_ file: String = #file, _ line: UInt = #line) -> ConstraintMakerEditable { - guard let other = self.description.item.superview else { - fatalError("Expected superview but found nil when attempting make constraint `equalToSuperview`.") - } - return self.relatedTo(other, relation: .equal, file: file, line: line) - } - - @discardableResult - public func lessThanOrEqualTo(_ other: ConstraintRelatableTarget, _ file: String = #file, _ line: UInt = #line) -> ConstraintMakerEditable { - return self.relatedTo(other, relation: .lessThanOrEqual, file: file, line: line) - } - - @discardableResult - public func lessThanOrEqualToSuperview(_ file: String = #file, _ line: UInt = #line) -> ConstraintMakerEditable { - guard let other = self.description.item.superview else { - fatalError("Expected superview but found nil when attempting make constraint `lessThanOrEqualToSuperview`.") - } - return self.relatedTo(other, relation: .lessThanOrEqual, file: file, line: line) - } - - @discardableResult - public func greaterThanOrEqualTo(_ other: ConstraintRelatableTarget, _ file: String = #file, line: UInt = #line) -> ConstraintMakerEditable { - return self.relatedTo(other, relation: .greaterThanOrEqual, file: file, line: line) - } - - @discardableResult - public func greaterThanOrEqualToSuperview(_ file: String = #file, line: UInt = #line) -> ConstraintMakerEditable { - guard let other = self.description.item.superview else { - fatalError("Expected superview but found nil when attempting make constraint `greaterThanOrEqualToSuperview`.") - } - return self.relatedTo(other, relation: .greaterThanOrEqual, file: file, line: line) - } -} diff --git a/There-iOS/Pods/SnapKit/Sources/ConstraintMultiplierTarget.swift b/There-iOS/Pods/SnapKit/Sources/ConstraintMultiplierTarget.swift deleted file mode 100644 index 6fecd33..0000000 --- a/There-iOS/Pods/SnapKit/Sources/ConstraintMultiplierTarget.swift +++ /dev/null @@ -1,75 +0,0 @@ -// -// SnapKit -// -// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit -// -// 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. - -#if os(iOS) || os(tvOS) - import UIKit -#else - import AppKit -#endif - - -public protocol ConstraintMultiplierTarget { - - var constraintMultiplierTargetValue: CGFloat { get } - -} - -extension Int: ConstraintMultiplierTarget { - - public var constraintMultiplierTargetValue: CGFloat { - return CGFloat(self) - } - -} - -extension UInt: ConstraintMultiplierTarget { - - public var constraintMultiplierTargetValue: CGFloat { - return CGFloat(self) - } - -} - -extension Float: ConstraintMultiplierTarget { - - public var constraintMultiplierTargetValue: CGFloat { - return CGFloat(self) - } - -} - -extension Double: ConstraintMultiplierTarget { - - public var constraintMultiplierTargetValue: CGFloat { - return CGFloat(self) - } - -} - -extension CGFloat: ConstraintMultiplierTarget { - - public var constraintMultiplierTargetValue: CGFloat { - return self - } - -} diff --git a/There-iOS/Pods/SnapKit/Sources/ConstraintOffsetTarget.swift b/There-iOS/Pods/SnapKit/Sources/ConstraintOffsetTarget.swift deleted file mode 100644 index bd9e0a1..0000000 --- a/There-iOS/Pods/SnapKit/Sources/ConstraintOffsetTarget.swift +++ /dev/null @@ -1,69 +0,0 @@ -// -// SnapKit -// -// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit -// -// 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. - -#if os(iOS) || os(tvOS) - import UIKit -#else - import AppKit -#endif - - -public protocol ConstraintOffsetTarget: ConstraintConstantTarget { -} - -extension Int: ConstraintOffsetTarget { -} - -extension UInt: ConstraintOffsetTarget { -} - -extension Float: ConstraintOffsetTarget { -} - -extension Double: ConstraintOffsetTarget { -} - -extension CGFloat: ConstraintOffsetTarget { -} - -extension ConstraintOffsetTarget { - - internal var constraintOffsetTargetValue: CGFloat { - let offset: CGFloat - if let amount = self as? Float { - offset = CGFloat(amount) - } else if let amount = self as? Double { - offset = CGFloat(amount) - } else if let amount = self as? CGFloat { - offset = CGFloat(amount) - } else if let amount = self as? Int { - offset = CGFloat(amount) - } else if let amount = self as? UInt { - offset = CGFloat(amount) - } else { - offset = 0.0 - } - return offset - } - -} diff --git a/There-iOS/Pods/SnapKit/Sources/ConstraintPriority.swift b/There-iOS/Pods/SnapKit/Sources/ConstraintPriority.swift deleted file mode 100644 index f9dab16..0000000 --- a/There-iOS/Pods/SnapKit/Sources/ConstraintPriority.swift +++ /dev/null @@ -1,77 +0,0 @@ -// -// SnapKit -// -// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit -// -// 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. - -#if os(iOS) || os(tvOS) - import UIKit -#else - import AppKit -#endif - -public struct ConstraintPriority : ExpressibleByFloatLiteral, Equatable, Strideable { - public typealias FloatLiteralType = Float - - public let value: Float - - public init(floatLiteral value: Float) { - self.value = value - } - - public init(_ value: Float) { - self.value = value - } - - public static var required: ConstraintPriority { - return 1000.0 - } - - public static var high: ConstraintPriority { - return 750.0 - } - - public static var medium: ConstraintPriority { - #if os(OSX) - return 501.0 - #else - return 500.0 - #endif - - } - - public static var low: ConstraintPriority { - return 250.0 - } - - public static func ==(lhs: ConstraintPriority, rhs: ConstraintPriority) -> Bool { - return lhs.value == rhs.value - } - - // MARK: Strideable - - public func advanced(by n: FloatLiteralType) -> ConstraintPriority { - return ConstraintPriority(floatLiteral: value + n) - } - - public func distance(to other: ConstraintPriority) -> FloatLiteralType { - return other.value - value - } -} diff --git a/There-iOS/Pods/SnapKit/Sources/ConstraintPriorityTarget.swift b/There-iOS/Pods/SnapKit/Sources/ConstraintPriorityTarget.swift deleted file mode 100644 index 064f750..0000000 --- a/There-iOS/Pods/SnapKit/Sources/ConstraintPriorityTarget.swift +++ /dev/null @@ -1,85 +0,0 @@ -// -// SnapKit -// -// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit -// -// 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. - -#if os(iOS) || os(tvOS) - import UIKit -#else - import AppKit -#endif - - -public protocol ConstraintPriorityTarget { - - var constraintPriorityTargetValue: Float { get } - -} - -extension Int: ConstraintPriorityTarget { - - public var constraintPriorityTargetValue: Float { - return Float(self) - } - -} - -extension UInt: ConstraintPriorityTarget { - - public var constraintPriorityTargetValue: Float { - return Float(self) - } - -} - -extension Float: ConstraintPriorityTarget { - - public var constraintPriorityTargetValue: Float { - return self - } - -} - -extension Double: ConstraintPriorityTarget { - - public var constraintPriorityTargetValue: Float { - return Float(self) - } - -} - -extension CGFloat: ConstraintPriorityTarget { - - public var constraintPriorityTargetValue: Float { - return Float(self) - } - -} - -#if os(iOS) || os(tvOS) -extension UILayoutPriority: ConstraintPriorityTarget { - - public var constraintPriorityTargetValue: Float { - return self.rawValue - } - -} -#endif diff --git a/There-iOS/Pods/SnapKit/Sources/ConstraintRelatableTarget.swift b/There-iOS/Pods/SnapKit/Sources/ConstraintRelatableTarget.swift deleted file mode 100644 index d517a61..0000000 --- a/There-iOS/Pods/SnapKit/Sources/ConstraintRelatableTarget.swift +++ /dev/null @@ -1,72 +0,0 @@ -// -// SnapKit -// -// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit -// -// 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. - -#if os(iOS) || os(tvOS) - import UIKit -#else - import AppKit -#endif - - -public protocol ConstraintRelatableTarget { -} - -extension Int: ConstraintRelatableTarget { -} - -extension UInt: ConstraintRelatableTarget { -} - -extension Float: ConstraintRelatableTarget { -} - -extension Double: ConstraintRelatableTarget { -} - -extension CGFloat: ConstraintRelatableTarget { -} - -extension CGSize: ConstraintRelatableTarget { -} - -extension CGPoint: ConstraintRelatableTarget { -} - -extension ConstraintInsets: ConstraintRelatableTarget { -} - -#if os(iOS) || os(tvOS) -@available(iOS 11.0, tvOS 11.0, *) -extension ConstraintDirectionalInsets: ConstraintRelatableTarget { -} -#endif - -extension ConstraintItem: ConstraintRelatableTarget { -} - -extension ConstraintView: ConstraintRelatableTarget { -} - -@available(iOS 9.0, OSX 10.11, *) -extension ConstraintLayoutGuide: ConstraintRelatableTarget { -} diff --git a/There-iOS/Pods/SnapKit/Sources/ConstraintRelation.swift b/There-iOS/Pods/SnapKit/Sources/ConstraintRelation.swift deleted file mode 100644 index 446aaf7..0000000 --- a/There-iOS/Pods/SnapKit/Sources/ConstraintRelation.swift +++ /dev/null @@ -1,48 +0,0 @@ -// -// SnapKit -// -// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit -// -// 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. - -#if os(iOS) || os(tvOS) - import UIKit -#else - import AppKit -#endif - - -internal enum ConstraintRelation : Int { - case equal = 1 - case lessThanOrEqual - case greaterThanOrEqual - - internal var layoutRelation: LayoutRelation { - get { - switch(self) { - case .equal: - return .equal - case .lessThanOrEqual: - return .lessThanOrEqual - case .greaterThanOrEqual: - return .greaterThanOrEqual - } - } - } -} diff --git a/There-iOS/Pods/SnapKit/Sources/ConstraintView+Extensions.swift b/There-iOS/Pods/SnapKit/Sources/ConstraintView+Extensions.swift deleted file mode 100644 index e0f71c1..0000000 --- a/There-iOS/Pods/SnapKit/Sources/ConstraintView+Extensions.swift +++ /dev/null @@ -1,152 +0,0 @@ -// -// SnapKit -// -// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit -// -// 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. - -#if os(iOS) || os(tvOS) - import UIKit -#else - import AppKit -#endif - - -public extension ConstraintView { - - @available(*, deprecated, renamed:"snp.left") - var snp_left: ConstraintItem { return self.snp.left } - - @available(*, deprecated, renamed:"snp.top") - var snp_top: ConstraintItem { return self.snp.top } - - @available(*, deprecated, renamed:"snp.right") - var snp_right: ConstraintItem { return self.snp.right } - - @available(*, deprecated, renamed:"snp.bottom") - var snp_bottom: ConstraintItem { return self.snp.bottom } - - @available(*, deprecated, renamed:"snp.leading") - var snp_leading: ConstraintItem { return self.snp.leading } - - @available(*, deprecated, renamed:"snp.trailing") - var snp_trailing: ConstraintItem { return self.snp.trailing } - - @available(*, deprecated, renamed:"snp.width") - var snp_width: ConstraintItem { return self.snp.width } - - @available(*, deprecated, renamed:"snp.height") - var snp_height: ConstraintItem { return self.snp.height } - - @available(*, deprecated, renamed:"snp.centerX") - var snp_centerX: ConstraintItem { return self.snp.centerX } - - @available(*, deprecated, renamed:"snp.centerY") - var snp_centerY: ConstraintItem { return self.snp.centerY } - - @available(*, deprecated, renamed:"snp.baseline") - var snp_baseline: ConstraintItem { return self.snp.baseline } - - @available(*, deprecated, renamed:"snp.lastBaseline") - @available(iOS 8.0, OSX 10.11, *) - var snp_lastBaseline: ConstraintItem { return self.snp.lastBaseline } - - @available(iOS, deprecated, renamed:"snp.firstBaseline") - @available(iOS 8.0, OSX 10.11, *) - var snp_firstBaseline: ConstraintItem { return self.snp.firstBaseline } - - @available(iOS, deprecated, renamed:"snp.leftMargin") - @available(iOS 8.0, *) - var snp_leftMargin: ConstraintItem { return self.snp.leftMargin } - - @available(iOS, deprecated, renamed:"snp.topMargin") - @available(iOS 8.0, *) - var snp_topMargin: ConstraintItem { return self.snp.topMargin } - - @available(iOS, deprecated, renamed:"snp.rightMargin") - @available(iOS 8.0, *) - var snp_rightMargin: ConstraintItem { return self.snp.rightMargin } - - @available(iOS, deprecated, renamed:"snp.bottomMargin") - @available(iOS 8.0, *) - var snp_bottomMargin: ConstraintItem { return self.snp.bottomMargin } - - @available(iOS, deprecated, renamed:"snp.leadingMargin") - @available(iOS 8.0, *) - var snp_leadingMargin: ConstraintItem { return self.snp.leadingMargin } - - @available(iOS, deprecated, renamed:"snp.trailingMargin") - @available(iOS 8.0, *) - var snp_trailingMargin: ConstraintItem { return self.snp.trailingMargin } - - @available(iOS, deprecated, renamed:"snp.centerXWithinMargins") - @available(iOS 8.0, *) - var snp_centerXWithinMargins: ConstraintItem { return self.snp.centerXWithinMargins } - - @available(iOS, deprecated, renamed:"snp.centerYWithinMargins") - @available(iOS 8.0, *) - var snp_centerYWithinMargins: ConstraintItem { return self.snp.centerYWithinMargins } - - @available(*, deprecated, renamed:"snp.edges") - var snp_edges: ConstraintItem { return self.snp.edges } - - @available(*, deprecated, renamed:"snp.size") - var snp_size: ConstraintItem { return self.snp.size } - - @available(*, deprecated, renamed:"snp.center") - var snp_center: ConstraintItem { return self.snp.center } - - @available(iOS, deprecated, renamed:"snp.margins") - @available(iOS 8.0, *) - var snp_margins: ConstraintItem { return self.snp.margins } - - @available(iOS, deprecated, renamed:"snp.centerWithinMargins") - @available(iOS 8.0, *) - var snp_centerWithinMargins: ConstraintItem { return self.snp.centerWithinMargins } - - @available(*, deprecated, renamed:"snp.prepareConstraints(_:)") - func snp_prepareConstraints(_ closure: (_ make: ConstraintMaker) -> Void) -> [Constraint] { - return self.snp.prepareConstraints(closure) - } - - @available(*, deprecated, renamed:"snp.makeConstraints(_:)") - func snp_makeConstraints(_ closure: (_ make: ConstraintMaker) -> Void) { - self.snp.makeConstraints(closure) - } - - @available(*, deprecated, renamed:"snp.remakeConstraints(_:)") - func snp_remakeConstraints(_ closure: (_ make: ConstraintMaker) -> Void) { - self.snp.remakeConstraints(closure) - } - - @available(*, deprecated, renamed:"snp.updateConstraints(_:)") - func snp_updateConstraints(_ closure: (_ make: ConstraintMaker) -> Void) { - self.snp.updateConstraints(closure) - } - - @available(*, deprecated, renamed:"snp.removeConstraints()") - func snp_removeConstraints() { - self.snp.removeConstraints() - } - - var snp: ConstraintViewDSL { - return ConstraintViewDSL(view: self) - } - -} diff --git a/There-iOS/Pods/SnapKit/Sources/ConstraintView.swift b/There-iOS/Pods/SnapKit/Sources/ConstraintView.swift deleted file mode 100644 index 6ff8a76..0000000 --- a/There-iOS/Pods/SnapKit/Sources/ConstraintView.swift +++ /dev/null @@ -1,35 +0,0 @@ -// -// SnapKit -// -// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit -// -// 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. - -#if os(iOS) || os(tvOS) - import UIKit -#else - import AppKit -#endif - - -#if os(iOS) || os(tvOS) - public typealias ConstraintView = UIView -#else - public typealias ConstraintView = NSView -#endif diff --git a/There-iOS/Pods/SnapKit/Sources/ConstraintViewDSL.swift b/There-iOS/Pods/SnapKit/Sources/ConstraintViewDSL.swift deleted file mode 100644 index a0187f9..0000000 --- a/There-iOS/Pods/SnapKit/Sources/ConstraintViewDSL.swift +++ /dev/null @@ -1,101 +0,0 @@ -// -// SnapKit -// -// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit -// -// 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. - -#if os(iOS) || os(tvOS) - import UIKit -#else - import AppKit -#endif - - -public struct ConstraintViewDSL: ConstraintAttributesDSL { - - @discardableResult - public func prepareConstraints(_ closure: (_ make: ConstraintMaker) -> Void) -> [Constraint] { - return ConstraintMaker.prepareConstraints(item: self.view, closure: closure) - } - - public func makeConstraints(_ closure: (_ make: ConstraintMaker) -> Void) { - ConstraintMaker.makeConstraints(item: self.view, closure: closure) - } - - public func remakeConstraints(_ closure: (_ make: ConstraintMaker) -> Void) { - ConstraintMaker.remakeConstraints(item: self.view, closure: closure) - } - - public func updateConstraints(_ closure: (_ make: ConstraintMaker) -> Void) { - ConstraintMaker.updateConstraints(item: self.view, closure: closure) - } - - public func removeConstraints() { - ConstraintMaker.removeConstraints(item: self.view) - } - - public var contentHuggingHorizontalPriority: Float { - get { - return self.view.contentHuggingPriority(for: .horizontal).rawValue - } - nonmutating set { - self.view.setContentHuggingPriority(LayoutPriority(rawValue: newValue), for: .horizontal) - } - } - - public var contentHuggingVerticalPriority: Float { - get { - return self.view.contentHuggingPriority(for: .vertical).rawValue - } - nonmutating set { - self.view.setContentHuggingPriority(LayoutPriority(rawValue: newValue), for: .vertical) - } - } - - public var contentCompressionResistanceHorizontalPriority: Float { - get { - return self.view.contentCompressionResistancePriority(for: .horizontal).rawValue - } - nonmutating set { - self.view.setContentCompressionResistancePriority(LayoutPriority(rawValue: newValue), for: .horizontal) - } - } - - public var contentCompressionResistanceVerticalPriority: Float { - get { - return self.view.contentCompressionResistancePriority(for: .vertical).rawValue - } - nonmutating set { - self.view.setContentCompressionResistancePriority(LayoutPriority(rawValue: newValue), for: .vertical) - } - } - - public var target: AnyObject? { - return self.view - } - - internal let view: ConstraintView - - internal init(view: ConstraintView) { - self.view = view - - } - -} diff --git a/There-iOS/Pods/SnapKit/Sources/Debugging.swift b/There-iOS/Pods/SnapKit/Sources/Debugging.swift deleted file mode 100644 index a78579a..0000000 --- a/There-iOS/Pods/SnapKit/Sources/Debugging.swift +++ /dev/null @@ -1,169 +0,0 @@ -// -// SnapKit -// -// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit -// -// 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. - -#if os(iOS) || os(tvOS) - import UIKit -#else - import AppKit -#endif - -public extension LayoutConstraint { - - override var description: String { - var description = "<" - - description += descriptionForObject(self) - - if let firstItem = conditionalOptional(from: self.firstItem) { - description += " \(descriptionForObject(firstItem))" - } - - if self.firstAttribute != .notAnAttribute { - description += ".\(descriptionForAttribute(self.firstAttribute))" - } - - description += " \(descriptionForRelation(self.relation))" - - if let secondItem = self.secondItem { - description += " \(descriptionForObject(secondItem))" - } - - if self.secondAttribute != .notAnAttribute { - description += ".\(descriptionForAttribute(self.secondAttribute))" - } - - if self.multiplier != 1.0 { - description += " * \(self.multiplier)" - } - - if self.secondAttribute == .notAnAttribute { - description += " \(self.constant)" - } else { - if self.constant > 0.0 { - description += " + \(self.constant)" - } else if self.constant < 0.0 { - description += " - \(abs(self.constant))" - } - } - - if self.priority.rawValue != 1000.0 { - description += " ^\(self.priority)" - } - - description += ">" - - return description - } - -} - -private func descriptionForRelation(_ relation: LayoutRelation) -> String { - switch relation { - case .equal: return "==" - case .greaterThanOrEqual: return ">=" - case .lessThanOrEqual: return "<=" - #if swift(>=5.0) - @unknown default: return "unknown" - #endif - } -} - -private func descriptionForAttribute(_ attribute: LayoutAttribute) -> String { - #if os(iOS) || os(tvOS) - switch attribute { - case .notAnAttribute: return "notAnAttribute" - case .top: return "top" - case .left: return "left" - case .bottom: return "bottom" - case .right: return "right" - case .leading: return "leading" - case .trailing: return "trailing" - case .width: return "width" - case .height: return "height" - case .centerX: return "centerX" - case .centerY: return "centerY" - case .lastBaseline: return "lastBaseline" - case .firstBaseline: return "firstBaseline" - case .topMargin: return "topMargin" - case .leftMargin: return "leftMargin" - case .bottomMargin: return "bottomMargin" - case .rightMargin: return "rightMargin" - case .leadingMargin: return "leadingMargin" - case .trailingMargin: return "trailingMargin" - case .centerXWithinMargins: return "centerXWithinMargins" - case .centerYWithinMargins: return "centerYWithinMargins" - #if swift(>=5.0) - @unknown default: return "unknown" - #endif - } - #else - switch attribute { - case .notAnAttribute: return "notAnAttribute" - case .top: return "top" - case .left: return "left" - case .bottom: return "bottom" - case .right: return "right" - case .leading: return "leading" - case .trailing: return "trailing" - case .width: return "width" - case .height: return "height" - case .centerX: return "centerX" - case .centerY: return "centerY" - case .lastBaseline: return "lastBaseline" - case .firstBaseline: return "firstBaseline" - #if swift(>=5.0) - @unknown default: return "unknown" - #endif - } - #endif -} - -private func conditionalOptional(from object: Optional) -> Optional { - return object -} - -private func conditionalOptional(from object: T) -> Optional { - return Optional.some(object) -} - -private func descriptionForObject(_ object: AnyObject) -> String { - let pointerDescription = String(format: "%p", UInt(bitPattern: ObjectIdentifier(object))) - var desc = "" - - desc += type(of: object).description() - - if let object = object as? ConstraintView { - desc += ":\(object.snp.label() ?? pointerDescription)" - } else if let object = object as? LayoutConstraint { - desc += ":\(object.label ?? pointerDescription)" - } else { - desc += ":\(pointerDescription)" - } - - if let object = object as? LayoutConstraint, let file = object.constraint?.sourceLocation.0, let line = object.constraint?.sourceLocation.1 { - desc += "@\((file as NSString).lastPathComponent)#\(line)" - } - - desc += "" - return desc -} diff --git a/There-iOS/Pods/SnapKit/Sources/LayoutConstraint.swift b/There-iOS/Pods/SnapKit/Sources/LayoutConstraint.swift deleted file mode 100644 index 5425ea8..0000000 --- a/There-iOS/Pods/SnapKit/Sources/LayoutConstraint.swift +++ /dev/null @@ -1,61 +0,0 @@ -// -// SnapKit -// -// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit -// -// 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. - -#if os(iOS) || os(tvOS) - import UIKit -#else - import AppKit -#endif - - -public class LayoutConstraint : NSLayoutConstraint { - - public var label: String? { - get { - return self.identifier - } - set { - self.identifier = newValue - } - } - - internal weak var constraint: Constraint? = nil - -} - -internal func ==(lhs: LayoutConstraint, rhs: LayoutConstraint) -> Bool { - // If firstItem or secondItem on either constraint has a dangling pointer - // this comparison can cause a crash. The solution for this is to ensure - // your layout code hold strong references to things like Views, LayoutGuides - // and LayoutAnchors as SnapKit will not keep strong references to any of these. - guard lhs.firstAttribute == rhs.firstAttribute && - lhs.secondAttribute == rhs.secondAttribute && - lhs.relation == rhs.relation && - lhs.priority == rhs.priority && - lhs.multiplier == rhs.multiplier && - lhs.secondItem === rhs.secondItem && - lhs.firstItem === rhs.firstItem else { - return false - } - return true -} diff --git a/There-iOS/Pods/SnapKit/Sources/LayoutConstraintItem.swift b/There-iOS/Pods/SnapKit/Sources/LayoutConstraintItem.swift deleted file mode 100644 index 9b61d18..0000000 --- a/There-iOS/Pods/SnapKit/Sources/LayoutConstraintItem.swift +++ /dev/null @@ -1,93 +0,0 @@ -// -// SnapKit -// -// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit -// -// 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. - -#if os(iOS) || os(tvOS) - import UIKit -#else - import AppKit -#endif - - -public protocol LayoutConstraintItem: AnyObject { -} - -@available(iOS 9.0, OSX 10.11, *) -extension ConstraintLayoutGuide : LayoutConstraintItem { -} - -extension ConstraintView : LayoutConstraintItem { -} - - -extension LayoutConstraintItem { - - internal func prepare() { - if let view = self as? ConstraintView { - view.translatesAutoresizingMaskIntoConstraints = false - } - } - - internal var superview: ConstraintView? { - if let view = self as? ConstraintView { - return view.superview - } - - if #available(iOS 9.0, OSX 10.11, *), let guide = self as? ConstraintLayoutGuide { - return guide.owningView - } - - return nil - } - internal var constraints: [Constraint] { - return self.constraintsSet.allObjects as! [Constraint] - } - - internal func add(constraints: [Constraint]) { - let constraintsSet = self.constraintsSet - for constraint in constraints { - constraintsSet.add(constraint) - } - } - - internal func remove(constraints: [Constraint]) { - let constraintsSet = self.constraintsSet - for constraint in constraints { - constraintsSet.remove(constraint) - } - } - - private var constraintsSet: NSMutableSet { - let constraintsSet: NSMutableSet - - if let existing = objc_getAssociatedObject(self, &constraintsKey) as? NSMutableSet { - constraintsSet = existing - } else { - constraintsSet = NSMutableSet() - objc_setAssociatedObject(self, &constraintsKey, constraintsSet, .OBJC_ASSOCIATION_RETAIN_NONATOMIC) - } - return constraintsSet - - } - -} -private var constraintsKey: UInt8 = 0 diff --git a/There-iOS/Pods/SnapKit/Sources/Typealiases.swift b/There-iOS/Pods/SnapKit/Sources/Typealiases.swift deleted file mode 100644 index ded96cc..0000000 --- a/There-iOS/Pods/SnapKit/Sources/Typealiases.swift +++ /dev/null @@ -1,42 +0,0 @@ -// -// SnapKit -// -// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit -// -// 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 - -#if os(iOS) || os(tvOS) - import UIKit -#if swift(>=4.2) - typealias LayoutRelation = NSLayoutConstraint.Relation - typealias LayoutAttribute = NSLayoutConstraint.Attribute -#else - typealias LayoutRelation = NSLayoutRelation - typealias LayoutAttribute = NSLayoutAttribute -#endif - typealias LayoutPriority = UILayoutPriority -#else - import AppKit - typealias LayoutRelation = NSLayoutConstraint.Relation - typealias LayoutAttribute = NSLayoutConstraint.Attribute - typealias LayoutPriority = NSLayoutConstraint.Priority -#endif - diff --git a/There-iOS/Pods/SnapKit/Sources/UILayoutSupport+Extensions.swift b/There-iOS/Pods/SnapKit/Sources/UILayoutSupport+Extensions.swift deleted file mode 100644 index 8e7644c..0000000 --- a/There-iOS/Pods/SnapKit/Sources/UILayoutSupport+Extensions.swift +++ /dev/null @@ -1,36 +0,0 @@ -// -// SnapKit -// -// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit -// -// 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. - -#if os(iOS) || os(tvOS) - import UIKit -#endif - - -@available(iOS 8.0, *) -public extension ConstraintLayoutSupport { - - var snp: ConstraintLayoutSupportDSL { - return ConstraintLayoutSupportDSL(support: self) - } - -} diff --git a/There-iOS/Pods/Target Support Files/Pods-There-iOS/Pods-There-iOS-acknowledgements.markdown b/There-iOS/Pods/Target Support Files/Pods-There-iOS/Pods-There-iOS-acknowledgements.markdown index d76abe5..43b2d7c 100644 --- a/There-iOS/Pods/Target Support Files/Pods-There-iOS/Pods-There-iOS-acknowledgements.markdown +++ b/There-iOS/Pods/Target Support Files/Pods-There-iOS/Pods-There-iOS-acknowledgements.markdown @@ -88,52 +88,4 @@ The above copyright notice and this permission notice shall be included in all c 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 - -Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit - -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. - - -## Then - -The MIT License (MIT) - -Copyright (c) 2015 Suyeol Jeon (xoul.kr) - -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. - Generated by CocoaPods - https://cocoapods.org diff --git a/There-iOS/Pods/Target Support Files/Pods-There-iOS/Pods-There-iOS-acknowledgements.plist b/There-iOS/Pods/Target Support Files/Pods-There-iOS/Pods-There-iOS-acknowledgements.plist index 6dbb118..2f0613f 100644 --- a/There-iOS/Pods/Target Support Files/Pods-There-iOS/Pods-There-iOS-acknowledgements.plist +++ b/There-iOS/Pods/Target Support Files/Pods-There-iOS/Pods-There-iOS-acknowledgements.plist @@ -130,66 +130,6 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI Type PSGroupSpecifier - - FooterText - Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - License - MIT - Title - SnapKit - Type - PSGroupSpecifier - - - FooterText - The MIT License (MIT) - -Copyright (c) 2015 Suyeol Jeon (xoul.kr) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - License - MIT - Title - Then - Type - PSGroupSpecifier - FooterText Generated by CocoaPods - https://cocoapods.org diff --git a/There-iOS/Pods/Target Support Files/Pods-There-iOS/Pods-There-iOS-frameworks-Debug-input-files.xcfilelist b/There-iOS/Pods/Target Support Files/Pods-There-iOS/Pods-There-iOS-frameworks-Debug-input-files.xcfilelist index 7321f49..283bf5c 100644 --- a/There-iOS/Pods/Target Support Files/Pods-There-iOS/Pods-There-iOS-frameworks-Debug-input-files.xcfilelist +++ b/There-iOS/Pods/Target Support Files/Pods-There-iOS/Pods-There-iOS-frameworks-Debug-input-files.xcfilelist @@ -3,6 +3,4 @@ ${BUILT_PRODUCTS_DIR}/Alamofire/Alamofire.framework ${BUILT_PRODUCTS_DIR}/Kingfisher/Kingfisher.framework ${BUILT_PRODUCTS_DIR}/RxCocoa/RxCocoa.framework ${BUILT_PRODUCTS_DIR}/RxRelay/RxRelay.framework -${BUILT_PRODUCTS_DIR}/RxSwift/RxSwift.framework -${BUILT_PRODUCTS_DIR}/SnapKit/SnapKit.framework -${BUILT_PRODUCTS_DIR}/Then/Then.framework \ No newline at end of file +${BUILT_PRODUCTS_DIR}/RxSwift/RxSwift.framework \ No newline at end of file diff --git a/There-iOS/Pods/Target Support Files/Pods-There-iOS/Pods-There-iOS-frameworks-Debug-output-files.xcfilelist b/There-iOS/Pods/Target Support Files/Pods-There-iOS/Pods-There-iOS-frameworks-Debug-output-files.xcfilelist index 7e4fc8b..7d7b36a 100644 --- a/There-iOS/Pods/Target Support Files/Pods-There-iOS/Pods-There-iOS-frameworks-Debug-output-files.xcfilelist +++ b/There-iOS/Pods/Target Support Files/Pods-There-iOS/Pods-There-iOS-frameworks-Debug-output-files.xcfilelist @@ -2,6 +2,4 @@ ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Alamofire.framework ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Kingfisher.framework ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RxCocoa.framework ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RxRelay.framework -${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RxSwift.framework -${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SnapKit.framework -${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Then.framework \ No newline at end of file +${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RxSwift.framework \ No newline at end of file diff --git a/There-iOS/Pods/Target Support Files/Pods-There-iOS/Pods-There-iOS-frameworks-Release-input-files.xcfilelist b/There-iOS/Pods/Target Support Files/Pods-There-iOS/Pods-There-iOS-frameworks-Release-input-files.xcfilelist index 7321f49..283bf5c 100644 --- a/There-iOS/Pods/Target Support Files/Pods-There-iOS/Pods-There-iOS-frameworks-Release-input-files.xcfilelist +++ b/There-iOS/Pods/Target Support Files/Pods-There-iOS/Pods-There-iOS-frameworks-Release-input-files.xcfilelist @@ -3,6 +3,4 @@ ${BUILT_PRODUCTS_DIR}/Alamofire/Alamofire.framework ${BUILT_PRODUCTS_DIR}/Kingfisher/Kingfisher.framework ${BUILT_PRODUCTS_DIR}/RxCocoa/RxCocoa.framework ${BUILT_PRODUCTS_DIR}/RxRelay/RxRelay.framework -${BUILT_PRODUCTS_DIR}/RxSwift/RxSwift.framework -${BUILT_PRODUCTS_DIR}/SnapKit/SnapKit.framework -${BUILT_PRODUCTS_DIR}/Then/Then.framework \ No newline at end of file +${BUILT_PRODUCTS_DIR}/RxSwift/RxSwift.framework \ No newline at end of file diff --git a/There-iOS/Pods/Target Support Files/Pods-There-iOS/Pods-There-iOS-frameworks-Release-output-files.xcfilelist b/There-iOS/Pods/Target Support Files/Pods-There-iOS/Pods-There-iOS-frameworks-Release-output-files.xcfilelist index 7e4fc8b..7d7b36a 100644 --- a/There-iOS/Pods/Target Support Files/Pods-There-iOS/Pods-There-iOS-frameworks-Release-output-files.xcfilelist +++ b/There-iOS/Pods/Target Support Files/Pods-There-iOS/Pods-There-iOS-frameworks-Release-output-files.xcfilelist @@ -2,6 +2,4 @@ ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Alamofire.framework ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Kingfisher.framework ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RxCocoa.framework ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RxRelay.framework -${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RxSwift.framework -${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SnapKit.framework -${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Then.framework \ No newline at end of file +${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RxSwift.framework \ No newline at end of file diff --git a/There-iOS/Pods/Target Support Files/Pods-There-iOS/Pods-There-iOS-frameworks.sh b/There-iOS/Pods/Target Support Files/Pods-There-iOS/Pods-There-iOS-frameworks.sh index 203cb0f..6f258a3 100755 --- a/There-iOS/Pods/Target Support Files/Pods-There-iOS/Pods-There-iOS-frameworks.sh +++ b/There-iOS/Pods/Target Support Files/Pods-There-iOS/Pods-There-iOS-frameworks.sh @@ -181,8 +181,6 @@ if [[ "$CONFIGURATION" == "Debug" ]]; then install_framework "${BUILT_PRODUCTS_DIR}/RxCocoa/RxCocoa.framework" install_framework "${BUILT_PRODUCTS_DIR}/RxRelay/RxRelay.framework" install_framework "${BUILT_PRODUCTS_DIR}/RxSwift/RxSwift.framework" - install_framework "${BUILT_PRODUCTS_DIR}/SnapKit/SnapKit.framework" - install_framework "${BUILT_PRODUCTS_DIR}/Then/Then.framework" fi if [[ "$CONFIGURATION" == "Release" ]]; then install_framework "${BUILT_PRODUCTS_DIR}/Alamofire/Alamofire.framework" @@ -190,8 +188,6 @@ if [[ "$CONFIGURATION" == "Release" ]]; then install_framework "${BUILT_PRODUCTS_DIR}/RxCocoa/RxCocoa.framework" install_framework "${BUILT_PRODUCTS_DIR}/RxRelay/RxRelay.framework" install_framework "${BUILT_PRODUCTS_DIR}/RxSwift/RxSwift.framework" - install_framework "${BUILT_PRODUCTS_DIR}/SnapKit/SnapKit.framework" - install_framework "${BUILT_PRODUCTS_DIR}/Then/Then.framework" fi if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then wait diff --git a/There-iOS/Pods/Target Support Files/Pods-There-iOS/Pods-There-iOS.debug.xcconfig b/There-iOS/Pods/Target Support Files/Pods-There-iOS/Pods-There-iOS.debug.xcconfig index 139e651..bb111a9 100644 --- a/There-iOS/Pods/Target Support Files/Pods-There-iOS/Pods-There-iOS.debug.xcconfig +++ b/There-iOS/Pods/Target Support Files/Pods-There-iOS/Pods-There-iOS.debug.xcconfig @@ -1,11 +1,11 @@ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO -FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/Kingfisher" "${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa" "${PODS_CONFIGURATION_BUILD_DIR}/RxRelay" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit" "${PODS_CONFIGURATION_BUILD_DIR}/Then" +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/Kingfisher" "${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa" "${PODS_CONFIGURATION_BUILD_DIR}/RxRelay" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Kingfisher/Kingfisher.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa/RxCocoa.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/RxRelay/RxRelay.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift/RxSwift.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Then/Then.framework/Headers" +HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Kingfisher/Kingfisher.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa/RxCocoa.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/RxRelay/RxRelay.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift/RxSwift.framework/Headers" LD_RUNPATH_SEARCH_PATHS = $(inherited) /usr/lib/swift '@executable_path/Frameworks' '@loader_path/Frameworks' LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift -OTHER_LDFLAGS = $(inherited) -framework "Accelerate" -framework "Alamofire" -framework "CFNetwork" -framework "Kingfisher" -framework "RxCocoa" -framework "RxRelay" -framework "RxSwift" -framework "SnapKit" -framework "Then" -weak_framework "Combine" -weak_framework "SwiftUI" +OTHER_LDFLAGS = $(inherited) -framework "Accelerate" -framework "Alamofire" -framework "CFNetwork" -framework "Kingfisher" -framework "RxCocoa" -framework "RxRelay" -framework "RxSwift" -weak_framework "Combine" -weak_framework "SwiftUI" OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) diff --git a/There-iOS/Pods/Target Support Files/Pods-There-iOS/Pods-There-iOS.release.xcconfig b/There-iOS/Pods/Target Support Files/Pods-There-iOS/Pods-There-iOS.release.xcconfig index 139e651..bb111a9 100644 --- a/There-iOS/Pods/Target Support Files/Pods-There-iOS/Pods-There-iOS.release.xcconfig +++ b/There-iOS/Pods/Target Support Files/Pods-There-iOS/Pods-There-iOS.release.xcconfig @@ -1,11 +1,11 @@ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO -FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/Kingfisher" "${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa" "${PODS_CONFIGURATION_BUILD_DIR}/RxRelay" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit" "${PODS_CONFIGURATION_BUILD_DIR}/Then" +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/Kingfisher" "${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa" "${PODS_CONFIGURATION_BUILD_DIR}/RxRelay" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Kingfisher/Kingfisher.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa/RxCocoa.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/RxRelay/RxRelay.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift/RxSwift.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Then/Then.framework/Headers" +HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Kingfisher/Kingfisher.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa/RxCocoa.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/RxRelay/RxRelay.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift/RxSwift.framework/Headers" LD_RUNPATH_SEARCH_PATHS = $(inherited) /usr/lib/swift '@executable_path/Frameworks' '@loader_path/Frameworks' LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift -OTHER_LDFLAGS = $(inherited) -framework "Accelerate" -framework "Alamofire" -framework "CFNetwork" -framework "Kingfisher" -framework "RxCocoa" -framework "RxRelay" -framework "RxSwift" -framework "SnapKit" -framework "Then" -weak_framework "Combine" -weak_framework "SwiftUI" +OTHER_LDFLAGS = $(inherited) -framework "Accelerate" -framework "Alamofire" -framework "CFNetwork" -framework "Kingfisher" -framework "RxCocoa" -framework "RxRelay" -framework "RxSwift" -weak_framework "Combine" -weak_framework "SwiftUI" OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) diff --git a/There-iOS/Pods/Target Support Files/SnapKit/SnapKit-Info.plist b/There-iOS/Pods/Target Support Files/SnapKit/SnapKit-Info.plist deleted file mode 100644 index 5d3ab08..0000000 --- a/There-iOS/Pods/Target Support Files/SnapKit/SnapKit-Info.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - ${PRODUCT_BUNDLE_IDENTIFIER} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - FMWK - CFBundleShortVersionString - 5.6.0 - CFBundleSignature - ???? - CFBundleVersion - ${CURRENT_PROJECT_VERSION} - NSPrincipalClass - - - diff --git a/There-iOS/Pods/Target Support Files/SnapKit/SnapKit-dummy.m b/There-iOS/Pods/Target Support Files/SnapKit/SnapKit-dummy.m deleted file mode 100644 index b44e8e5..0000000 --- a/There-iOS/Pods/Target Support Files/SnapKit/SnapKit-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_SnapKit : NSObject -@end -@implementation PodsDummy_SnapKit -@end diff --git a/There-iOS/Pods/Target Support Files/SnapKit/SnapKit-prefix.pch b/There-iOS/Pods/Target Support Files/SnapKit/SnapKit-prefix.pch deleted file mode 100644 index beb2a24..0000000 --- a/There-iOS/Pods/Target Support Files/SnapKit/SnapKit-prefix.pch +++ /dev/null @@ -1,12 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - diff --git a/There-iOS/Pods/Target Support Files/SnapKit/SnapKit-umbrella.h b/There-iOS/Pods/Target Support Files/SnapKit/SnapKit-umbrella.h deleted file mode 100644 index 1b1be64..0000000 --- a/There-iOS/Pods/Target Support Files/SnapKit/SnapKit-umbrella.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - - -FOUNDATION_EXPORT double SnapKitVersionNumber; -FOUNDATION_EXPORT const unsigned char SnapKitVersionString[]; - diff --git a/There-iOS/Pods/Target Support Files/SnapKit/SnapKit.debug.xcconfig b/There-iOS/Pods/Target Support Files/SnapKit/SnapKit.debug.xcconfig deleted file mode 100644 index 03fb3c1..0000000 --- a/There-iOS/Pods/Target Support Files/SnapKit/SnapKit.debug.xcconfig +++ /dev/null @@ -1,13 +0,0 @@ -CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO -CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SnapKit -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -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 -PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates -PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} -SKIP_INSTALL = YES -USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/There-iOS/Pods/Target Support Files/SnapKit/SnapKit.modulemap b/There-iOS/Pods/Target Support Files/SnapKit/SnapKit.modulemap deleted file mode 100644 index 4b3e47b..0000000 --- a/There-iOS/Pods/Target Support Files/SnapKit/SnapKit.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -framework module SnapKit { - umbrella header "SnapKit-umbrella.h" - - export * - module * { export * } -} diff --git a/There-iOS/Pods/Target Support Files/SnapKit/SnapKit.release.xcconfig b/There-iOS/Pods/Target Support Files/SnapKit/SnapKit.release.xcconfig deleted file mode 100644 index 03fb3c1..0000000 --- a/There-iOS/Pods/Target Support Files/SnapKit/SnapKit.release.xcconfig +++ /dev/null @@ -1,13 +0,0 @@ -CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO -CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SnapKit -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -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 -PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates -PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} -SKIP_INSTALL = YES -USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/There-iOS/Pods/Target Support Files/Then/Then-Info.plist b/There-iOS/Pods/Target Support Files/Then/Then-Info.plist deleted file mode 100644 index 4522675..0000000 --- a/There-iOS/Pods/Target Support Files/Then/Then-Info.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - ${PRODUCT_BUNDLE_IDENTIFIER} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - FMWK - CFBundleShortVersionString - 3.0.0 - CFBundleSignature - ???? - CFBundleVersion - ${CURRENT_PROJECT_VERSION} - NSPrincipalClass - - - diff --git a/There-iOS/Pods/Target Support Files/Then/Then-dummy.m b/There-iOS/Pods/Target Support Files/Then/Then-dummy.m deleted file mode 100644 index 6be6d43..0000000 --- a/There-iOS/Pods/Target Support Files/Then/Then-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_Then : NSObject -@end -@implementation PodsDummy_Then -@end diff --git a/There-iOS/Pods/Target Support Files/Then/Then-prefix.pch b/There-iOS/Pods/Target Support Files/Then/Then-prefix.pch deleted file mode 100644 index beb2a24..0000000 --- a/There-iOS/Pods/Target Support Files/Then/Then-prefix.pch +++ /dev/null @@ -1,12 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - diff --git a/There-iOS/Pods/Target Support Files/Then/Then-umbrella.h b/There-iOS/Pods/Target Support Files/Then/Then-umbrella.h deleted file mode 100644 index 851f9ac..0000000 --- a/There-iOS/Pods/Target Support Files/Then/Then-umbrella.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - - -FOUNDATION_EXPORT double ThenVersionNumber; -FOUNDATION_EXPORT const unsigned char ThenVersionString[]; - diff --git a/There-iOS/Pods/Target Support Files/Then/Then.debug.xcconfig b/There-iOS/Pods/Target Support Files/Then/Then.debug.xcconfig deleted file mode 100644 index 876568b..0000000 --- a/There-iOS/Pods/Target Support Files/Then/Then.debug.xcconfig +++ /dev/null @@ -1,13 +0,0 @@ -CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO -CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Then -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_ROOT = ${SRCROOT} -PODS_TARGET_SRCROOT = ${PODS_ROOT}/Then -PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates -PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} -SKIP_INSTALL = YES -USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/There-iOS/Pods/Target Support Files/Then/Then.modulemap b/There-iOS/Pods/Target Support Files/Then/Then.modulemap deleted file mode 100644 index 4385750..0000000 --- a/There-iOS/Pods/Target Support Files/Then/Then.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -framework module Then { - umbrella header "Then-umbrella.h" - - export * - module * { export * } -} diff --git a/There-iOS/Pods/Target Support Files/Then/Then.release.xcconfig b/There-iOS/Pods/Target Support Files/Then/Then.release.xcconfig deleted file mode 100644 index 876568b..0000000 --- a/There-iOS/Pods/Target Support Files/Then/Then.release.xcconfig +++ /dev/null @@ -1,13 +0,0 @@ -CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO -CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Then -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_ROOT = ${SRCROOT} -PODS_TARGET_SRCROOT = ${PODS_ROOT}/Then -PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates -PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} -SKIP_INSTALL = YES -USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/There-iOS/Pods/Then/LICENSE b/There-iOS/Pods/Then/LICENSE deleted file mode 100644 index 7f0cb52..0000000 --- a/There-iOS/Pods/Then/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2015 Suyeol Jeon (xoul.kr) - -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/There-iOS/Pods/Then/README.md b/There-iOS/Pods/Then/README.md deleted file mode 100644 index 159c105..0000000 --- a/There-iOS/Pods/Then/README.md +++ /dev/null @@ -1,124 +0,0 @@ -# Then - -![Swift](https://img.shields.io/badge/Swift-5.0-orange.svg) -[![CocoaPods](http://img.shields.io/cocoapods/v/Then.svg)](https://cocoapods.org/pods/Then) -[![Build Status](https://travis-ci.org/devxoul/Then.svg?branch=master)](https://travis-ci.org/devxoul/Then) - -✨ Super sweet syntactic sugar for Swift initializers. - -## At a Glance - -Initialize UILabel **then** set its properties. - -```swift -let label = UILabel().then { - $0.textAlignment = .center - $0.textColor = .black - $0.text = "Hello, World!" -} -``` - -This is equivalent to: - -```swift -let label: UILabel = { - let label = UILabel() - label.textAlignment = .center - label.textColor = .black - label.text = "Hello, World!" - return label -}() -``` - -## Tips and Tricks - -- You can use `then()` to all of `NSObject` subclasses. - - ```swift - let queue = OperationQueue().then { - $0.maxConcurrentOperationCount = 1 - } - ``` - -- Want to use with your own types? Just make extensions. - - ```swift - extension MyType: Then {} - - let instance = MyType().then { - $0.really = "awesome!" - } - ``` - -- Use `with()` when copying the value types. - - ```swift - let newFrame = oldFrame.with { - $0.size.width = 200 - $0.size.height = 100 - } - newFrame.width // 200 - newFrame.height // 100 - ``` - -- Use `do()` to do something with less typing. - - ```swift - UserDefaults.standard.do { - $0.set("devxoul", forKey: "username") - $0.set("devxoul@gmail.com", forKey: "email") - $0.synchronize() - } - ``` - -## Real World Example - -Here's an example usage in an UIViewController subclass. - -```swift -final class MyViewController: UIViewController { - - let titleLabel = UILabel().then { - $0.textColor = .black - $0.textAlignment = .center - } - - let tableView = UITableView().then { - $0.backgroundColor = .clear - $0.separatorStyle = .none - $0.register(MyCell.self, forCellReuseIdentifier: "myCell") - } - - override func viewDidLoad() { - super.viewDidLoad() - self.view.addSubview(self.titleLabel) - self.view.addSubview(self.tableView) - } - -} -``` - -## Installation - -- **Using [CocoaPods](https://cocoapods.org)**: - - ```ruby - pod 'Then' - ``` - -- **Using [Swift Package Manager](https://swift.org/package-manager)**: - - ```swift - import PackageDescription - - let package = Package( - name: "MyAwesomeApp", - dependencies: [ - .Package(url: "https://github.com/devxoul/Then", majorVersion: 2), - ] - ) - ``` - -## License - -**Then** is under MIT license. See the [LICENSE](LICENSE) file for more info. diff --git a/There-iOS/Pods/Then/Sources/Then/Then.swift b/There-iOS/Pods/Then/Sources/Then/Then.swift deleted file mode 100644 index 0aeda76..0000000 --- a/There-iOS/Pods/Then/Sources/Then/Then.swift +++ /dev/null @@ -1,98 +0,0 @@ -// The MIT License (MIT) -// -// Copyright (c) 2015 Suyeol Jeon (xoul.kr) -// -// 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 -#if !os(Linux) - import CoreGraphics -#endif -#if os(iOS) || os(tvOS) - import UIKit.UIGeometry -#endif - -public protocol Then {} - -extension Then where Self: Any { - - /// Makes it available to set properties with closures just after initializing and copying the value types. - /// - /// let frame = CGRect().with { - /// $0.origin.x = 10 - /// $0.size.width = 100 - /// } - @inlinable - public func with(_ block: (inout Self) throws -> Void) rethrows -> Self { - var copy = self - try block(©) - return copy - } - - /// Makes it available to execute something with closures. - /// - /// UserDefaults.standard.do { - /// $0.set("devxoul", forKey: "username") - /// $0.set("devxoul@gmail.com", forKey: "email") - /// $0.synchronize() - /// } - @inlinable - public func `do`(_ block: (Self) throws -> Void) rethrows { - try block(self) - } - -} - -extension Then where Self: AnyObject { - - /// Makes it available to set properties with closures just after initializing. - /// - /// let label = UILabel().then { - /// $0.textAlignment = .center - /// $0.textColor = UIColor.black - /// $0.text = "Hello, World!" - /// } - @inlinable - public func then(_ block: (Self) throws -> Void) rethrows -> Self { - try block(self) - return self - } - -} - -extension NSObject: Then {} - -#if !os(Linux) - extension CGPoint: Then {} - extension CGRect: Then {} - extension CGSize: Then {} - extension CGVector: Then {} -#endif - -extension Array: Then {} -extension Dictionary: Then {} -extension Set: Then {} -extension JSONDecoder: Then {} -extension JSONEncoder: Then {} - -#if os(iOS) || os(tvOS) - extension UIEdgeInsets: Then {} - extension UIOffset: Then {} - extension UIRectEdge: Then {} -#endif diff --git a/There-iOS/There-iOS.xcodeproj/project.pbxproj b/There-iOS/There-iOS.xcodeproj/project.pbxproj index 216a291..e25d64d 100644 --- a/There-iOS/There-iOS.xcodeproj/project.pbxproj +++ b/There-iOS/There-iOS.xcodeproj/project.pbxproj @@ -53,6 +53,11 @@ 2F51284C28A4D6FE00BFD4A2 /* UploadDataModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F51284B28A4D6FE00BFD4A2 /* UploadDataModel.swift */; }; 2F51284E28A4D72600BFD4A2 /* UploadDataInput.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F51284D28A4D72600BFD4A2 /* UploadDataInput.swift */; }; 2F51285028A4F7F800BFD4A2 /* PostDetailModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F51284F28A4F7F800BFD4A2 /* PostDetailModel.swift */; }; + 2FACEB7428AE4197009C2D0E /* UploadDataManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2FACEB7328AE4197009C2D0E /* UploadDataManager.swift */; }; + 2FACEB7628AE4274009C2D0E /* UserFeedGetManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2FACEB7528AE4274009C2D0E /* UserFeedGetManager.swift */; }; + 2FACEB7828AE42F2009C2D0E /* PostDetailGetManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2FACEB7728AE42F2009C2D0E /* PostDetailGetManager.swift */; }; + 2FACEB7B28B0AC7E009C2D0E /* Then in Frameworks */ = {isa = PBXBuildFile; productRef = 2FACEB7A28B0AC7E009C2D0E /* Then */; }; + 2FACEB7E28B0AE19009C2D0E /* SnapKit in Frameworks */ = {isa = PBXBuildFile; productRef = 2FACEB7D28B0AE19009C2D0E /* SnapKit */; }; 2FFDB62328AE1DC3006D2813 /* UserFeedModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2FFDB62228AE1DC3006D2813 /* UserFeedModel.swift */; }; /* End PBXBuildFile section */ @@ -118,6 +123,9 @@ 2F51284B28A4D6FE00BFD4A2 /* UploadDataModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UploadDataModel.swift; sourceTree = ""; }; 2F51284D28A4D72600BFD4A2 /* UploadDataInput.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UploadDataInput.swift; sourceTree = ""; }; 2F51284F28A4F7F800BFD4A2 /* PostDetailModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PostDetailModel.swift; sourceTree = ""; }; + 2FACEB7328AE4197009C2D0E /* UploadDataManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UploadDataManager.swift; sourceTree = ""; }; + 2FACEB7528AE4274009C2D0E /* UserFeedGetManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserFeedGetManager.swift; sourceTree = ""; }; + 2FACEB7728AE42F2009C2D0E /* PostDetailGetManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PostDetailGetManager.swift; sourceTree = ""; }; 2FFDB62228AE1DC3006D2813 /* UserFeedModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserFeedModel.swift; sourceTree = ""; }; 6D386B0B995F0BF8159ED417 /* Pods_There_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_There_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; E5B19E80E5B22621CC89CB27 /* Pods-There-iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-There-iOS.debug.xcconfig"; path = "Target Support Files/Pods-There-iOS/Pods-There-iOS.debug.xcconfig"; sourceTree = ""; }; @@ -128,7 +136,9 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 2FACEB7E28B0AE19009C2D0E /* SnapKit in Frameworks */, 07149CEF28A137B8000B894F /* Pods_There_iOS.framework in Frameworks */, + 2FACEB7B28B0AC7E009C2D0E /* Then in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -336,7 +346,9 @@ isa = PBXGroup; children = ( 2F51284F28A4F7F800BFD4A2 /* PostDetailModel.swift */, + 2FACEB7728AE42F2009C2D0E /* PostDetailGetManager.swift */, 2FFDB62228AE1DC3006D2813 /* UserFeedModel.swift */, + 2FACEB7528AE4274009C2D0E /* UserFeedGetManager.swift */, ); path = PostGet; sourceTree = ""; @@ -344,6 +356,7 @@ 2F51285428A5108700BFD4A2 /* PostPost */ = { isa = PBXGroup; children = ( + 2FACEB7328AE4197009C2D0E /* UploadDataManager.swift */, 2F51284D28A4D72600BFD4A2 /* UploadDataInput.swift */, 2F51284B28A4D6FE00BFD4A2 /* UploadDataModel.swift */, ); @@ -386,6 +399,10 @@ dependencies = ( ); name = "There-iOS"; + packageProductDependencies = ( + 2FACEB7A28B0AC7E009C2D0E /* Then */, + 2FACEB7D28B0AE19009C2D0E /* SnapKit */, + ); productName = "There-iOS"; productReference = 07A4F68228A12104006D24FE /* There-iOS.app */; productType = "com.apple.product-type.application"; @@ -414,6 +431,10 @@ Base, ); mainGroup = 07A4F67928A12104006D24FE; + packageReferences = ( + 2FACEB7928B0AC7E009C2D0E /* XCRemoteSwiftPackageReference "Then" */, + 2FACEB7C28B0AE19009C2D0E /* XCRemoteSwiftPackageReference "SnapKit" */, + ); productRefGroup = 07A4F68328A12104006D24FE /* Products */; projectDirPath = ""; projectRoot = ""; @@ -498,8 +519,10 @@ 07A4F6A528A121F1006D24FE /* CustomTabBar.swift in Sources */, 07A4F68A28A12104006D24FE /* ViewController.swift in Sources */, 07149CEB28A13690000B894F /* PostViewController.swift in Sources */, + 2FACEB7828AE42F2009C2D0E /* PostDetailGetManager.swift in Sources */, 2FFDB62328AE1DC3006D2813 /* UserFeedModel.swift in Sources */, 074EF97528A1301600D93ABC /* CollectionTableViewCell.swift in Sources */, + 2FACEB7428AE4197009C2D0E /* UploadDataManager.swift in Sources */, 07A4F6A928A12216006D24FE /* UIButton+.swift in Sources */, 2F51285028A4F7F800BFD4A2 /* PostDetailModel.swift in Sources */, 074EF98328A1313400D93ABC /* PortfolioTableViewCell.swift in Sources */, @@ -523,6 +546,7 @@ 07A4F6B928A122CE006D24FE /* NavigationViewController.swift in Sources */, 07A4F6BB28A12300006D24FE /* ChatViewController.swift in Sources */, 074EF97228A12F1900D93ABC /* SignUpDataModel.swift in Sources */, + 2FACEB7628AE4274009C2D0E /* UserFeedGetManager.swift in Sources */, 07A4F6A128A121CA006D24FE /* CustomPostCell.swift in Sources */, 074EF97028A12EF300D93ABC /* SignUpService.swift in Sources */, ); @@ -742,6 +766,38 @@ defaultConfigurationName = Release; }; /* End XCConfigurationList section */ + +/* Begin XCRemoteSwiftPackageReference section */ + 2FACEB7928B0AC7E009C2D0E /* XCRemoteSwiftPackageReference "Then" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/devxoul/Then"; + requirement = { + kind = upToNextMajorVersion; + minimumVersion = 3.0.0; + }; + }; + 2FACEB7C28B0AE19009C2D0E /* XCRemoteSwiftPackageReference "SnapKit" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/SnapKit/SnapKit"; + requirement = { + kind = upToNextMajorVersion; + minimumVersion = 5.0.0; + }; + }; +/* End XCRemoteSwiftPackageReference section */ + +/* Begin XCSwiftPackageProductDependency section */ + 2FACEB7A28B0AC7E009C2D0E /* Then */ = { + isa = XCSwiftPackageProductDependency; + package = 2FACEB7928B0AC7E009C2D0E /* XCRemoteSwiftPackageReference "Then" */; + productName = Then; + }; + 2FACEB7D28B0AE19009C2D0E /* SnapKit */ = { + isa = XCSwiftPackageProductDependency; + package = 2FACEB7C28B0AE19009C2D0E /* XCRemoteSwiftPackageReference "SnapKit" */; + productName = SnapKit; + }; +/* End XCSwiftPackageProductDependency section */ }; rootObject = 07A4F67A28A12104006D24FE /* Project object */; } diff --git a/There-iOS/There-iOS.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/xcschememanagement.plist b/There-iOS/There-iOS.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/xcschememanagement.plist index dbb061c..5ce01fa 100644 --- a/There-iOS/There-iOS.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/There-iOS/There-iOS.xcodeproj/xcuserdata/imina.xcuserdatad/xcschemes/xcschememanagement.plist @@ -7,7 +7,7 @@ There-iOS.xcscheme_^#shared#^_ orderHint - 4 + 6 diff --git a/There-iOS/There-iOS.xcworkspace/xcshareddata/swiftpm/Package.resolved b/There-iOS/There-iOS.xcworkspace/xcshareddata/swiftpm/Package.resolved new file mode 100644 index 0000000..f04a0b9 --- /dev/null +++ b/There-iOS/There-iOS.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -0,0 +1,23 @@ +{ + "pins" : [ + { + "identity" : "snapkit", + "kind" : "remoteSourceControl", + "location" : "https://github.com/SnapKit/SnapKit", + "state" : { + "revision" : "f222cbdf325885926566172f6f5f06af95473158", + "version" : "5.6.0" + } + }, + { + "identity" : "then", + "kind" : "remoteSourceControl", + "location" : "https://github.com/devxoul/Then", + "state" : { + "revision" : "d41ef523faef0f911369f79c0b96815d9dbb6d7a", + "version" : "3.0.0" + } + } + ], + "version" : 2 +} diff --git a/There-iOS/There-iOS.xcworkspace/xcuserdata/imina.xcuserdatad/UserInterfaceState.xcuserstate b/There-iOS/There-iOS.xcworkspace/xcuserdata/imina.xcuserdatad/UserInterfaceState.xcuserstate index 7b5284b6009f96b5ad3d04bcd9f1dba7a5d2a745..be6e11b21afd0fe7128c03c22be1dcb7c3a617dd 100644 GIT binary patch literal 63260 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�$>Y)6#`oXtO!_f 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 Me>mj-hDF`~1Nf#A^Z)<= literal 56571 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 + + + + SchemeUserState + + SnapKitPlayground (Playground) 1.xcscheme + + isShown + + orderHint + 8 + + SnapKitPlayground (Playground) 2.xcscheme + + isShown + + orderHint + 9 + + SnapKitPlayground (Playground).xcscheme + + isShown + + orderHint + 7 + + + + diff --git a/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/MypageViewController.swift b/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/MypageViewController.swift index 99a38c0..a80df66 100644 --- a/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/MypageViewController.swift +++ b/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/MypageViewController.swift @@ -18,6 +18,7 @@ class MypageViewController: UIViewController{ } var userFeedModel : UserFeedModel? + var dataReload = false private lazy var profileImageView: UIImageView = { let imageView = UIImageView() @@ -85,7 +86,7 @@ class MypageViewController: UIViewController{ }() - private lazy var postCollectionView: UICollectionView = { + lazy var postCollectionView: UICollectionView = { let layout = UICollectionViewFlowLayout() layout.minimumLineSpacing = 0.5 layout.minimumInteritemSpacing = 0.5 @@ -177,6 +178,10 @@ extension MypageViewController: UICollectionViewDataSource { } func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { + if !dataReload{ + return 0 + } + return userFeedModel?.result.getUserPosts.count ?? 0 //포스트 개수만큼 } @@ -311,8 +316,15 @@ private extension MypageViewController{ } - +} +extension MypageViewController{ + func successAPI(_ result: UserFeedModel){ + userFeedModel?.result.getUserPosts = result.result.getUserPosts + dataReload = true + postCollectionView.reloadData() + } } + diff --git a/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/PostCollectionViewCell.swift b/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/PostCollectionViewCell.swift index b07c215..fe986e3 100644 --- a/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/PostCollectionViewCell.swift +++ b/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/PostCollectionViewCell.swift @@ -14,8 +14,10 @@ class PostCollectionViewCell: UICollectionViewCell { func setupImage(with image: UIImage){ addSubview(postImageView) postImageView.snp.makeConstraints{ $0.edges.equalToSuperview() } + /* postImageView.image = UIImage() // postImageView.backgroundColor = .tertiaryLabel //서버연동해서 이미지데이터받아오기 + */ } } diff --git a/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/PostGet/PostDetailGetManager.swift b/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/PostGet/PostDetailGetManager.swift new file mode 100644 index 0000000..3331754 --- /dev/null +++ b/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/PostGet/PostDetailGetManager.swift @@ -0,0 +1,8 @@ +// +// PostDetailGetManager.swift +// There-iOS +// +// Created by 이민아 on 2022/08/18. +// + +import Foundation diff --git a/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/PostGet/UserFeedGetManager.swift b/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/PostGet/UserFeedGetManager.swift new file mode 100644 index 0000000..05ec4a0 --- /dev/null +++ b/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/PostGet/UserFeedGetManager.swift @@ -0,0 +1,26 @@ +// +// UserFeedGetManager.swift +// There-iOS +// +// Created by 이민아 on 2022/08/18. +// + +import Foundation +import Alamofire + +class UserFeedManager{ + //유저피드 조회 + let userIdx = 23 + + func getUserFeed(_ viewController : MypageViewController, _ userIdx: Int32){ + AF.request("http://3.39.57.176:8080/users/feed/\(userIdx) ", method: .get, parameters: nil).validate().responseDecodable(of: UserFeedModel.self) { response in + switch response.result{ + case .success(let result): + viewController.successAPI(result) + print("프로필&피드 조회 성공") + case .failure(let error): + print(error.localizedDescription) + } + } + } +} diff --git a/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/PostGet/UserFeedModel.swift b/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/PostGet/UserFeedModel.swift index 779896f..dbc6ce2 100644 --- a/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/PostGet/UserFeedModel.swift +++ b/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/PostGet/UserFeedModel.swift @@ -12,17 +12,18 @@ struct UserFeedModel: Codable { let code: Int let isSuccess: Bool let message: String - let result: FeedResult + var result: FeedResult } struct FeedResult: Codable { - let getUserPosts: [GetUserPosts] - let getUserRes: GetUserRes + var getUserPosts: [GetUserPosts] + var getUserRes: GetUserRes } struct GetUserPosts: Codable { let imgUrl: String? let postIdx: Int? + let isSelected: Bool? //선택해서 post detail로 들어가는 경우 추가 } struct GetUserRes: Codable { diff --git a/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/PostPost/UploadDataManager.swift b/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/PostPost/UploadDataManager.swift index d7b70e8..4063692 100644 --- a/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/PostPost/UploadDataManager.swift +++ b/There-iOS/There-iOS/MainView/ProfileView/MyProfileView/PostPost/UploadDataManager.swift @@ -9,7 +9,7 @@ import Alamofire //게시물 생성 class UploadDataManager{ func uploadDataManager(_ viewController: MypageViewController, _ parameter: UploadDataInput, _ userIdx: Int32){ //이거 맞나.. - AF.request("3.39.57.176:8080/posts/users/\(userIdx)", + AF.request("http://3.39.57.176:8080/posts/users/\(userIdx)", method: .post, parameters: parameter, encoder:JSONParameterEncoder.default, headers: nil)