在好例子网,分享、交流、成长!
您当前所在位置:首页Others 开发实例一般编程问题 → Raywenderlich_Advanced_iOS_App_Architecture_v0.1

Raywenderlich_Advanced_iOS_App_Architecture_v0.1

一般编程问题

下载此实例
  • 开发语言:Others
  • 实例大小:92.68M
  • 下载次数:2
  • 浏览次数:91
  • 发布时间:2021-03-11
  • 实例类别:一般编程问题
  • 发 布 人:好学IT男
  • 文件格式:.zip
  • 所需积分:2
 

实例介绍

【实例简介】
Raywenderlich 最新系列,iOS12 swift4.2,包括所有源码
【实例截图】
【核心代码】
bebe6edf-87ff-4465-9a7a-2917acaaed3c
├── 03-example-app
│   └── final
│   └── KooberApp
│   ├── Cartfile
│   ├── Cartfile.resolved
│   ├── Carthage
│   │   └── Checkouts
│   │   ├── Kingfisher
│   │   │   ├── CHANGELOG.md
│   │   │   ├── codecov.yml
│   │   │   ├── CONTRIBUTING.md
│   │   │   ├── Demo
│   │   │   │   ├── Demo
│   │   │   │   │   ├── Kingfisher-Demo
│   │   │   │   │   │   ├── AppDelegate.swift
│   │   │   │   │   │   ├── Base.lproj
│   │   │   │   │   │   │   ├── LaunchScreen.xib
│   │   │   │   │   │   │   └── Main.storyboard
│   │   │   │   │   │   ├── CollectionViewCell.swift
│   │   │   │   │   │   ├── Images.xcassets
│   │   │   │   │   │   │   └── AppIcon.appiconset
│   │   │   │   │   │   │   └── Contents.json
│   │   │   │   │   │   ├── Info.plist
│   │   │   │   │   │   ├── loader.gif
│   │   │   │   │   │   └── ViewController.swift
│   │   │   │   │   ├── Kingfisher-macOS-Demo
│   │   │   │   │   │   ├── AppDelegate.swift
│   │   │   │   │   │   ├── Assets.xcassets
│   │   │   │   │   │   │   └── AppIcon.appiconset
│   │   │   │   │   │   │   └── Contents.json
│   │   │   │   │   │   ├── Base.lproj
│   │   │   │   │   │   │   └── Main.storyboard
│   │   │   │   │   │   ├── Cell.xib
│   │   │   │   │   │   ├── Info.plist
│   │   │   │   │   │   └── ViewController.swift
│   │   │   │   │   ├── Kingfisher-tvOS-Demo
│   │   │   │   │   │   ├── AppDelegate.swift
│   │   │   │   │   │   ├── Assets.xcassets
│   │   │   │   │   │   │   ├── App Icon & Top Shelf Image.brandassets
│   │   │   │   │   │   │   │   ├── App Icon - Large.imagestack
│   │   │   │   │   │   │   │   │   ├── Back.imagestacklayer
│   │   │   │   │   │   │   │   │   │   ├── Content.imageset
│   │   │   │   │   │   │   │   │   │   │   └── Contents.json
│   │   │   │   │   │   │   │   │   │   └── Contents.json
│   │   │   │   │   │   │   │   │   ├── Contents.json
│   │   │   │   │   │   │   │   │   ├── Front.imagestacklayer
│   │   │   │   │   │   │   │   │   │   ├── Content.imageset
│   │   │   │   │   │   │   │   │   │   │   └── Contents.json
│   │   │   │   │   │   │   │   │   │   └── Contents.json
│   │   │   │   │   │   │   │   │   └── Middle.imagestacklayer
│   │   │   │   │   │   │   │   │   ├── Content.imageset
│   │   │   │   │   │   │   │   │   │   └── Contents.json
│   │   │   │   │   │   │   │   │   └── Contents.json
│   │   │   │   │   │   │   │   ├── App Icon - Small.imagestack
│   │   │   │   │   │   │   │   │   ├── Back.imagestacklayer
│   │   │   │   │   │   │   │   │   │   ├── Content.imageset
│   │   │   │   │   │   │   │   │   │   │   └── Contents.json
│   │   │   │   │   │   │   │   │   │   └── Contents.json
│   │   │   │   │   │   │   │   │   ├── Contents.json
│   │   │   │   │   │   │   │   │   ├── Front.imagestacklayer
│   │   │   │   │   │   │   │   │   │   ├── Content.imageset
│   │   │   │   │   │   │   │   │   │   │   └── Contents.json
│   │   │   │   │   │   │   │   │   │   └── Contents.json
│   │   │   │   │   │   │   │   │   └── Middle.imagestacklayer
│   │   │   │   │   │   │   │   │   ├── Content.imageset
│   │   │   │   │   │   │   │   │   │   └── Contents.json
│   │   │   │   │   │   │   │   │   └── Contents.json
│   │   │   │   │   │   │   │   ├── Contents.json
│   │   │   │   │   │   │   │   └── Top Shelf Image.imageset
│   │   │   │   │   │   │   │   └── Contents.json
│   │   │   │   │   │   │   ├── Contents.json
│   │   │   │   │   │   │   └── LaunchImage.launchimage
│   │   │   │   │   │   │   └── Contents.json
│   │   │   │   │   │   ├── Base.lproj
│   │   │   │   │   │   │   └── Main.storyboard
│   │   │   │   │   │   └── Info.plist
│   │   │   │   │   ├── Kingfisher-watchOS-Demo
│   │   │   │   │   │   ├── Assets.xcassets
│   │   │   │   │   │   │   └── AppIcon.appiconset
│   │   │   │   │   │   │   └── Contents.json
│   │   │   │   │   │   ├── Base.lproj
│   │   │   │   │   │   │   └── Interface.storyboard
│   │   │   │   │   │   └── Info.plist
│   │   │   │   │   └── Kingfisher-watchOS-Demo Extension
│   │   │   │   │   ├── Assets.xcassets
│   │   │   │   │   │   └── README__ignoredByTemplate__
│   │   │   │   │   ├── ExtensionDelegate.swift
│   │   │   │   │   ├── Info.plist
│   │   │   │   │   └── InterfaceController.swift
│   │   │   │   └── Kingfisher-Demo.xcodeproj
│   │   │   │   ├── project.pbxproj
│   │   │   │   └── project.xcworkspace
│   │   │   │   └── contents.xcworkspacedata
│   │   │   ├── docs
│   │   │   │   ├── badge.svg
│   │   │   │   ├── Classes
│   │   │   │   │   ├── AnimatedImageView
│   │   │   │   │   │   └── RepeatCount.html
│   │   │   │   │   ├── AnimatedImageView.html
│   │   │   │   │   ├── ImageCache
│   │   │   │   │   │   └── CacheCheckResult.html
│   │   │   │   │   ├── ImageCache.html
│   │   │   │   │   ├── ImageDownloader.html
│   │   │   │   │   ├── ImagePrefetcher.html
│   │   │   │   │   ├── Kingfisher.html
│   │   │   │   │   ├── KingfisherManager.html
│   │   │   │   │   └── RetrieveImageTask.html
│   │   │   │   ├── Classes.html
│   │   │   │   ├── css
│   │   │   │   │   ├── highlight.css
│   │   │   │   │   └── jazzy.css
│   │   │   │   ├── docsets
│   │   │   │   │   ├── Kingfisher.docset
│   │   │   │   │   │   └── Contents
│   │   │   │   │   │   ├── Info.plist
│   │   │   │   │   │   └── Resources
│   │   │   │   │   │   ├── docSet.dsidx
│   │   │   │   │   │   └── Documents
│   │   │   │   │   │   ├── Classes
│   │   │   │   │   │   │   ├── AnimatedImageView
│   │   │   │   │   │   │   │   └── RepeatCount.html
│   │   │   │   │   │   │   ├── AnimatedImageView.html
│   │   │   │   │   │   │   ├── ImageCache
│   │   │   │   │   │   │   │   └── CacheCheckResult.html
│   │   │   │   │   │   │   ├── ImageCache.html
│   │   │   │   │   │   │   ├── ImageDownloader.html
│   │   │   │   │   │   │   ├── ImagePrefetcher.html
│   │   │   │   │   │   │   ├── Kingfisher.html
│   │   │   │   │   │   │   ├── KingfisherManager.html
│   │   │   │   │   │   │   └── RetrieveImageTask.html
│   │   │   │   │   │   ├── Classes.html
│   │   │   │   │   │   ├── css
│   │   │   │   │   │   │   ├── highlight.css
│   │   │   │   │   │   │   └── jazzy.css
│   │   │   │   │   │   ├── Enums
│   │   │   │   │   │   │   ├── CacheType.html
│   │   │   │   │   │   │   ├── ContentMode.html
│   │   │   │   │   │   │   ├── ImageFormat.html
│   │   │   │   │   │   │   ├── ImageProcessItem.html
│   │   │   │   │   │   │   ├── ImageTransition.html
│   │   │   │   │   │   │   ├── IndicatorType.html
│   │   │   │   │   │   │   ├── KingfisherError.html
│   │   │   │   │   │   │   └── KingfisherOptionsInfoItem.html
│   │   │   │   │   │   ├── Enums.html
│   │   │   │   │   │   ├── Extensions
│   │   │   │   │   │   │   ├── CGSize.html
│   │   │   │   │   │   │   ├── Collection.html
│   │   │   │   │   │   │   ├── Data.html
│   │   │   │   │   │   │   ├── Notification
│   │   │   │   │   │   │   │   └── Name.html
│   │   │   │   │   │   │   ├── Notification.html
│   │   │   │   │   │   │   └── URL.html
│   │   │   │   │   │   ├── Extensions.html
│   │   │   │   │   │   ├── Functions.html
│   │   │   │   │   │   ├── Global Variables.html
│   │   │   │   │   │   ├── img
│   │   │   │   │   │   │   ├── carat.png
│   │   │   │   │   │   │   ├── dash.png
│   │   │   │   │   │   │   └── gh.png
│   │   │   │   │   │   ├── index.html
│   │   │   │   │   │   ├── js
│   │   │   │   │   │   │   ├── jazzy.js
│   │   │   │   │   │   │   └── jquery.min.js
│   │   │   │   │   │   ├── Protocols
│   │   │   │   │   │   │   ├── AnimatedImageViewDelegate.html
│   │   │   │   │   │   │   ├── AuthenticationChallengeResponsable.html
│   │   │   │   │   │   │   ├── CacheSerializer.html
│   │   │   │   │   │   │   ├── CIImageProcessor.html
│   │   │   │   │   │   │   ├── ImageDownloaderDelegate.html
│   │   │   │   │   │   │   ├── ImageDownloadRequestModifier.html
│   │   │   │   │   │   │   ├── ImageModifier.html
│   │   │   │   │   │   │   ├── ImageProcessor.html
│   │   │   │   │   │   │   ├── Indicator.html
│   │   │   │   │   │   │   ├── KingfisherCompatible.html
│   │   │   │   │   │   │   ├── Placeholder.html
│   │   │   │   │   │   │   └── Resource.html
│   │   │   │   │   │   ├── Protocols.html
│   │   │   │   │   │   ├── search.json
│   │   │   │   │   │   ├── Structs
│   │   │   │   │   │   │   ├── AlignmentRectInsetsImageModifier.html
│   │   │   │   │   │   │   ├── AnyImageModifier.html
│   │   │   │   │   │   │   ├── AnyModifier.html
│   │   │   │   │   │   │   ├── BlackWhiteProcessor.html
│   │   │   │   │   │   │   ├── BlendImageProcessor.html
│   │   │   │   │   │   │   ├── BlurImageProcessor.html
│   │   │   │   │   │   │   ├── CGSizeProxy.html
│   │   │   │   │   │   │   ├── ColorControlsProcessor.html
│   │   │   │   │   │   │   ├── CompositingImageProcessor.html
│   │   │   │   │   │   │   ├── CroppingImageProcessor.html
│   │   │   │   │   │   │   ├── DataProxy.html
│   │   │   │   │   │   │   ├── DefaultCacheSerializer.html
│   │   │   │   │   │   │   ├── DefaultImageModifier.html
│   │   │   │   │   │   │   ├── DefaultImageProcessor.html
│   │   │   │   │   │   │   ├── Filter.html
│   │   │   │   │   │   │   ├── FlipsForRightToLeftLayoutDirectionImageModifier.html
│   │   │   │   │   │   │   ├── FormatIndicatedCacheSerializer.html
│   │   │   │   │   │   │   ├── ImageResource.html
│   │   │   │   │   │   │   ├── OverlayImageProcessor.html
│   │   │   │   │   │   │   ├── RectCorner.html
│   │   │   │   │   │   │   ├── RenderingModeImageModifier.html
│   │   │   │   │   │   │   ├── ResizingImageProcessor.html
│   │   │   │   │   │   │   ├── RetrieveImageDownloadTask.html
│   │   │   │   │   │   │   ├── RoundCornerImageProcessor.html
│   │   │   │   │   │   │   └── TintImageProcessor.html
│   │   │   │   │   │   ├── Structs.html
│   │   │   │   │   │   └── Typealiases.html
│   │   │   │   │   ├── Kingfisher.tgz
│   │   │   │   │   └── Kingfisher.xml
│   │   │   │   ├── Enums
│   │   │   │   │   ├── CacheType.html
│   │   │   │   │   ├── ContentMode.html
│   │   │   │   │   ├── ImageFormat.html
│   │   │   │   │   ├── ImageProcessItem.html
│   │   │   │   │   ├── ImageTransition.html
│   │   │   │   │   ├── IndicatorType.html
│   │   │   │   │   ├── KingfisherError.html
│   │   │   │   │   └── KingfisherOptionsInfoItem.html
│   │   │   │   ├── Enums.html
│   │   │   │   ├── Extensions
│   │   │   │   │   ├── CGSize.html
│   │   │   │   │   ├── Collection.html
│   │   │   │   │   ├── Data.html
│   │   │   │   │   ├── Notification
│   │   │   │   │   │   └── Name.html
│   │   │   │   │   ├── Notification.html
│   │   │   │   │   └── URL.html
│   │   │   │   ├── Extensions.html
│   │   │   │   ├── Functions.html
│   │   │   │   ├── Global Variables.html
│   │   │   │   ├── img
│   │   │   │   │   ├── carat.png
│   │   │   │   │   ├── dash.png
│   │   │   │   │   └── gh.png
│   │   │   │   ├── index.html
│   │   │   │   ├── js
│   │   │   │   │   ├── jazzy.js
│   │   │   │   │   └── jquery.min.js
│   │   │   │   ├── Protocols
│   │   │   │   │   ├── AnimatedImageViewDelegate.html
│   │   │   │   │   ├── AuthenticationChallengeResponsable.html
│   │   │   │   │   ├── CacheSerializer.html
│   │   │   │   │   ├── CIImageProcessor.html
│   │   │   │   │   ├── ImageDownloaderDelegate.html
│   │   │   │   │   ├── ImageDownloadRequestModifier.html
│   │   │   │   │   ├── ImageModifier.html
│   │   │   │   │   ├── ImageProcessor.html
│   │   │   │   │   ├── Indicator.html
│   │   │   │   │   ├── KingfisherCompatible.html
│   │   │   │   │   ├── Placeholder.html
│   │   │   │   │   └── Resource.html
│   │   │   │   ├── Protocols.html
│   │   │   │   ├── search.json
│   │   │   │   ├── Structs
│   │   │   │   │   ├── AlignmentRectInsetsImageModifier.html
│   │   │   │   │   ├── AnyImageModifier.html
│   │   │   │   │   ├── AnyModifier.html
│   │   │   │   │   ├── BlackWhiteProcessor.html
│   │   │   │   │   ├── BlendImageProcessor.html
│   │   │   │   │   ├── BlurImageProcessor.html
│   │   │   │   │   ├── CGSizeProxy.html
│   │   │   │   │   ├── ColorControlsProcessor.html
│   │   │   │   │   ├── CompositingImageProcessor.html
│   │   │   │   │   ├── CroppingImageProcessor.html
│   │   │   │   │   ├── DataProxy.html
│   │   │   │   │   ├── DefaultCacheSerializer.html
│   │   │   │   │   ├── DefaultImageModifier.html
│   │   │   │   │   ├── DefaultImageProcessor.html
│   │   │   │   │   ├── Filter.html
│   │   │   │   │   ├── FlipsForRightToLeftLayoutDirectionImageModifier.html
│   │   │   │   │   ├── FormatIndicatedCacheSerializer.html
│   │   │   │   │   ├── ImageResource.html
│   │   │   │   │   ├── OverlayImageProcessor.html
│   │   │   │   │   ├── RectCorner.html
│   │   │   │   │   ├── RenderingModeImageModifier.html
│   │   │   │   │   ├── ResizingImageProcessor.html
│   │   │   │   │   ├── RetrieveImageDownloadTask.html
│   │   │   │   │   ├── RoundCornerImageProcessor.html
│   │   │   │   │   └── TintImageProcessor.html
│   │   │   │   ├── Structs.html
│   │   │   │   ├── Typealiases.html
│   │   │   │   └── undocumented.json
│   │   │   ├── fastlane
│   │   │   │   ├── actions
│   │   │   │   │   ├── extract_current_change_log.rb
│   │   │   │   │   ├── git_commit_all.rb
│   │   │   │   │   ├── sync_build_number_to_git.rb
│   │   │   │   │   └── update_change_log.rb
│   │   │   │   └── Fastfile
│   │   │   ├── Gemfile
│   │   │   ├── Gemfile.lock
│   │   │   ├── images
│   │   │   │   ├── kingfisher-10.jpg
│   │   │   │   ├── kingfisher-1.jpg
│   │   │   │   ├── kingfisher-2.jpg
│   │   │   │   ├── kingfisher-3.jpg
│   │   │   │   ├── kingfisher-4.jpg
│   │   │   │   ├── kingfisher-5.jpg
│   │   │   │   ├── kingfisher-6.jpg
│   │   │   │   ├── kingfisher-7.jpg
│   │   │   │   ├── kingfisher-8.jpg
│   │   │   │   ├── kingfisher-9.jpg
│   │   │   │   └── logo.png
│   │   │   ├── Kingfisher.podspec
│   │   │   ├── Kingfisher.xcodeproj
│   │   │   │   ├── project.pbxproj
│   │   │   │   ├── project.xcworkspace
│   │   │   │   │   └── contents.xcworkspacedata
│   │   │   │   └── xcshareddata
│   │   │   │   ├── xcbaselines
│   │   │   │   │   └── D1ED2D3E1AD2D09F00CFC3EB.xcbaseline
│   │   │   │   │   ├── 74237B0B-7981-4A24-B6C4-95F4A5E7727F.plist
│   │   │   │   │   └── Info.plist
│   │   │   │   └── xcschemes
│   │   │   │   ├── Kingfisher-macOS.xcscheme
│   │   │   │   ├── Kingfisher-tvOS.xcscheme
│   │   │   │   ├── Kingfisher-watchOS.xcscheme
│   │   │   │   └── Kingfisher.xcscheme
│   │   │   ├── Kingfisher.xcworkspace
│   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   └── xcshareddata
│   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   ├── Kingfisher.xcscmblueprint
│   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   ├── LICENSE
│   │   │   ├── Package.swift
│   │   │   ├── Podfile
│   │   │   ├── Podfile.lock
│   │   │   ├── Pods
│   │   │   │   ├── Headers
│   │   │   │   │   ├── Private
│   │   │   │   │   │   └── Nocilla
│   │   │   │   │   │   ├── asihttprequeststub.h
│   │   │   │   │   │   ├── LSASIHTTPRequestAdapter.h
│   │   │   │   │   │   ├── LSASIHTTPRequestHook.h
│   │   │   │   │   │   ├── LSDataMatcher.h
│   │   │   │   │   │   ├── LSHTTPBody.h
│   │   │   │   │   │   ├── LSHTTPClientHook.h
│   │   │   │   │   │   ├── LSHTTPRequestDiff.h
│   │   │   │   │   │   ├── LSHTTPRequestDSLRepresentation.h
│   │   │   │   │   │   ├── LSHTTPRequest.h
│   │   │   │   │   │   ├── LSHTTPResponse.h
│   │   │   │   │   │   ├── LSHTTPStubURLProtocol.h
│   │   │   │   │   │   ├── LSMatcheable.h
│   │   │   │   │   │   ├── LSMatcher.h
│   │   │   │   │   │   ├── LSNocilla.h
│   │   │   │   │   │   ├── LSNSURLHook.h
│   │   │   │   │   │   ├── LSNSURLSessionHook.h
│   │   │   │   │   │   ├── LSRegexMatcher.h
│   │   │   │   │   │   ├── LSStringMatcher.h
│   │   │   │   │   │   ├── LSStubRequestDSL.h
│   │   │   │   │   │   ├── LSStubRequest.h
│   │   │   │   │   │   ├── LSStubResponseDSL.h
│   │   │   │   │   │   ├── LSStubResponse.h
│   │   │   │   │   │   ├── Nocilla.h
│   │   │   │   │   │   ├── NSData+Matcheable.h
│   │   │   │   │   │   ├── NSData+Nocilla.h
│   │   │   │   │   │   ├── NSRegularExpression+Matcheable.h
│   │   │   │   │   │   ├── NSString+Matcheable.h
│   │   │   │   │   │   ├── NSString+Nocilla.h
│   │   │   │   │   │   ├── NSURLRequest+DSL.h
│   │   │   │   │   │   └── NSURLRequest+LSHTTPRequest.h
│   │   │   │   │   └── Public
│   │   │   │   │   └── Nocilla
│   │   │   │   │   ├── LSHTTPBody.h
│   │   │   │   │   ├── LSMatcheable.h
│   │   │   │   │   ├── LSNocilla.h
│   │   │   │   │   ├── LSStubRequestDSL.h
│   │   │   │   │   ├── LSStubResponseDSL.h
│   │   │   │   │   ├── Nocilla.h
│   │   │   │   │   ├── NSData+Matcheable.h
│   │   │   │   │   ├── NSData+Nocilla.h
│   │   │   │   │   ├── NSRegularExpression+Matcheable.h
│   │   │   │   │   ├── NSString+Matcheable.h
│   │   │   │   │   └── NSString+Nocilla.h
│   │   │   │   ├── Local Podspecs
│   │   │   │   │   └── Nocilla.podspec.json
│   │   │   │   ├── Manifest.lock
│   │   │   │   ├── Nocilla
│   │   │   │   │   ├── LICENSE
│   │   │   │   │   ├── Nocilla
│   │   │   │   │   │   ├── Categories
│   │   │   │   │   │   │   ├── NSData+Nocilla.h
│   │   │   │   │   │   │   ├── NSData+Nocilla.m
│   │   │   │   │   │   │   ├── NSString+Nocilla.h
│   │   │   │   │   │   │   └── NSString+Nocilla.m
│   │   │   │   │   │   ├── Diff
│   │   │   │   │   │   │   ├── LSHTTPRequestDiff.h
│   │   │   │   │   │   │   └── LSHTTPRequestDiff.m
│   │   │   │   │   │   ├── DSL
│   │   │   │   │   │   │   ├── LSHTTPRequestDSLRepresentation.h
│   │   │   │   │   │   │   ├── LSHTTPRequestDSLRepresentation.m
│   │   │   │   │   │   │   ├── LSStubRequestDSL.h
│   │   │   │   │   │   │   ├── LSStubRequestDSL.m
│   │   │   │   │   │   │   ├── LSStubResponseDSL.h
│   │   │   │   │   │   │   └── LSStubResponseDSL.m
│   │   │   │   │   │   ├── Hooks
│   │   │   │   │   │   │   ├── ASIHTTPRequest
│   │   │   │   │   │   │   │   ├── ASIHTTPRequestStub.h
│   │   │   │   │   │   │   │   ├── ASIHTTPRequestStub.m
│   │   │   │   │   │   │   │   ├── LSASIHTTPRequestAdapter.h
│   │   │   │   │   │   │   │   ├── LSASIHTTPRequestAdapter.m
│   │   │   │   │   │   │   │   ├── LSASIHTTPRequestHook.h
│   │   │   │   │   │   │   │   └── LSASIHTTPRequestHook.m
│   │   │   │   │   │   │   ├── LSHTTPClientHook.h
│   │   │   │   │   │   │   ├── LSHTTPClientHook.m
│   │   │   │   │   │   │   ├── NSURLRequest
│   │   │   │   │   │   │   │   ├── LSHTTPStubURLProtocol.h
│   │   │   │   │   │   │   │   ├── LSHTTPStubURLProtocol.m
│   │   │   │   │   │   │   │   ├── LSNSURLHook.h
│   │   │   │   │   │   │   │   ├── LSNSURLHook.m
│   │   │   │   │   │   │   │   ├── NSURLRequest+DSL.h
│   │   │   │   │   │   │   │   ├── NSURLRequest+DSL.m
│   │   │   │   │   │   │   │   ├── NSURLRequest+LSHTTPRequest.h
│   │   │   │   │   │   │   │   └── NSURLRequest+LSHTTPRequest.m
│   │   │   │   │   │   │   └── NSURLSession
│   │   │   │   │   │   │   ├── LSNSURLSessionHook.h
│   │   │   │   │   │   │   └── LSNSURLSessionHook.m
│   │   │   │   │   │   ├── LSNocilla.h
│   │   │   │   │   │   ├── LSNocilla.m
│   │   │   │   │   │   ├── Matchers
│   │   │   │   │   │   │   ├── LSDataMatcher.h
│   │   │   │   │   │   │   ├── LSDataMatcher.m
│   │   │   │   │   │   │   ├── LSMatcheable.h
│   │   │   │   │   │   │   ├── LSMatcher.h
│   │   │   │   │   │   │   ├── LSMatcher.m
│   │   │   │   │   │   │   ├── LSRegexMatcher.h
│   │   │   │   │   │   │   ├── LSRegexMatcher.m
│   │   │   │   │   │   │   ├── LSStringMatcher.h
│   │   │   │   │   │   │   ├── LSStringMatcher.m
│   │   │   │   │   │   │   ├── NSData+Matcheable.h
│   │   │   │   │   │   │   ├── NSData+Matcheable.m
│   │   │   │   │   │   │   ├── NSRegularExpression+Matcheable.h
│   │   │   │   │   │   │   ├── NSRegularExpression+Matcheable.m
│   │   │   │   │   │   │   ├── NSString+Matcheable.h
│   │   │   │   │   │   │   └── NSString+Matcheable.m
│   │   │   │   │   │   ├── Model
│   │   │   │   │   │   │   ├── LSHTTPBody.h
│   │   │   │   │   │   │   ├── LSHTTPRequest.h
│   │   │   │   │   │   │   └── LSHTTPResponse.h
│   │   │   │   │   │   ├── Nocilla.h
│   │   │   │   │   │   └── Stubs
│   │   │   │   │   │   ├── LSStubRequest.h
│   │   │   │   │   │   ├── LSStubRequest.m
│   │   │   │   │   │   ├── LSStubResponse.h
│   │   │   │   │   │   └── LSStubResponse.m
│   │   │   │   │   └── README.md
│   │   │   │   ├── Pods.xcodeproj
│   │   │   │   │   └── project.pbxproj
│   │   │   │   └── Target Support Files
│   │   │   │   ├── Nocilla-iOS
│   │   │   │   │   ├── Nocilla-iOS-dummy.m
│   │   │   │   │   ├── Nocilla-iOS-prefix.pch
│   │   │   │   │   └── Nocilla-iOS.xcconfig
│   │   │   │   ├── Nocilla-macOS
│   │   │   │   │   ├── Nocilla-macOS-dummy.m
│   │   │   │   │   ├── Nocilla-macOS-prefix.pch
│   │   │   │   │   └── Nocilla-macOS.xcconfig
│   │   │   │   ├── Nocilla-tvOS
│   │   │   │   │   ├── Nocilla-tvOS-dummy.m
│   │   │   │   │   ├── Nocilla-tvOS-prefix.pch
│   │   │   │   │   └── Nocilla-tvOS.xcconfig
│   │   │   │   ├── Pods-KingfisherTests
│   │   │   │   │   ├── Pods-KingfisherTests-acknowledgements.markdown
│   │   │   │   │   ├── Pods-KingfisherTests-acknowledgements.plist
│   │   │   │   │   ├── Pods-KingfisherTests.debug.xcconfig
│   │   │   │   │   ├── Pods-KingfisherTests-dummy.m
│   │   │   │   │   ├── Pods-KingfisherTests-frameworks.sh
│   │   │   │   │   ├── Pods-KingfisherTests.release.xcconfig
│   │   │   │   │   └── Pods-KingfisherTests-resources.sh
│   │   │   │   ├── Pods-KingfisherTests-macOS
│   │   │   │   │   ├── Pods-KingfisherTests-macOS-acknowledgements.markdown
│   │   │   │   │   ├── Pods-KingfisherTests-macOS-acknowledgements.plist
│   │   │   │   │   ├── Pods-KingfisherTests-macOS.debug.xcconfig
│   │   │   │   │   ├── Pods-KingfisherTests-macOS-dummy.m
│   │   │   │   │   ├── Pods-KingfisherTests-macOS-frameworks.sh
│   │   │   │   │   ├── Pods-KingfisherTests-macOS.release.xcconfig
│   │   │   │   │   └── Pods-KingfisherTests-macOS-resources.sh
│   │   │   │   └── Pods-KingfisherTests-tvOS
│   │   │   │   ├── Pods-KingfisherTests-tvOS-acknowledgements.markdown
│   │   │   │   ├── Pods-KingfisherTests-tvOS-acknowledgements.plist
│   │   │   │   ├── Pods-KingfisherTests-tvOS.debug.xcconfig
│   │   │   │   ├── Pods-KingfisherTests-tvOS-dummy.m
│   │   │   │   ├── Pods-KingfisherTests-tvOS-frameworks.sh
│   │   │   │   ├── Pods-KingfisherTests-tvOS.release.xcconfig
│   │   │   │   └── Pods-KingfisherTests-tvOS-resources.sh
│   │   │   ├── README.md
│   │   │   ├── setup.sh
│   │   │   ├── Sources
│   │   │   │   ├── AnimatedImageView.swift
│   │   │   │   ├── Box.swift
│   │   │   │   ├── CacheSerializer.swift
│   │   │   │   ├── Filter.swift
│   │   │   │   ├── FormatIndicatedCacheSerializer.swift
│   │   │   │   ├── ImageCache.swift
│   │   │   │   ├── ImageDownloader.swift
│   │   │   │   ├── ImageModifier.swift
│   │   │   │   ├── ImagePrefetcher.swift
│   │   │   │   ├── ImageProcessor.swift
│   │   │   │   ├── Image.swift
│   │   │   │   ├── ImageTransition.swift
│   │   │   │   ├── ImageView+Kingfisher.swift
│   │   │   │   ├── Indicator.swift
│   │   │   │   ├── Info.plist
│   │   │   │   ├── Kingfisher.h
│   │   │   │   ├── KingfisherManager.swift
│   │   │   │   ├── KingfisherOptionsInfo.swift
│   │   │   │   ├── Kingfisher.swift
│   │   │   │   ├── NSButton+Kingfisher.swift
│   │   │   │   ├── Placeholder.swift
│   │   │   │   ├── RequestModifier.swift
│   │   │   │   ├── Resource.swift
│   │   │   │   ├── String+MD5.swift
│   │   │   │   ├── ThreadHelper.swift
│   │   │   │   ├── UIButton+Kingfisher.swift
│   │   │   │   └── WKInterfaceImage+Kingfisher.swift
│   │   │   └── Tests
│   │   │   ├── KingfisherTests
│   │   │   │   ├── dancing-banana.gif
│   │   │   │   ├── ImageCacheTests.swift
│   │   │   │   ├── ImageDownloaderTests.swift
│   │   │   │   ├── ImageExtensionTests.swift
│   │   │   │   ├── ImageModifierTests.swift
│   │   │   │   ├── ImagePrefetcherTests.swift
│   │   │   │   ├── ImageProcessorTests.swift
│   │   │   │   ├── ImageViewExtensionTests.swift
│   │   │   │   ├── Info.plist
│   │   │   │   ├── KingfisherManagerTests.swift
│   │   │   │   ├── KingfisherOptionsInfoTests.swift
│   │   │   │   ├── KingfisherTestHelper.swift
│   │   │   │   ├── KingfisherTests-Bridging-Header.h
│   │   │   │   ├── NSButtonExtensionTests.swift
│   │   │   │   ├── single-frame.gif
│   │   │   │   ├── StringExtensionTests.swift
│   │   │   │   └── UIButtonExtensionTests.swift
│   │   │   ├── KingfisherTests-macOS
│   │   │   │   └── Info.plist
│   │   │   └── KingfisherTests-tvOS
│   │   │   └── Info.plist
│   │   ├── PromiseKit
│   │   │   ├── docker-compose.yml
│   │   │   ├── Documentation
│   │   │   │   ├── Appendix.md
│   │   │   │   ├── CommonPatterns.md
│   │   │   │   ├── Examples
│   │   │   │   │   ├── ImageCache.md
│   │   │   │   │   └── URLSession+BadResponseErrors.swift
│   │   │   │   ├── FAQ.md
│   │   │   │   ├── GettingStarted.md
│   │   │   │   ├── Installation.md
│   │   │   │   ├── ObjectiveC.md
│   │   │   │   ├── README.md
│   │   │   │   └── Troubleshooting.md
│   │   │   ├── Extensions
│   │   │   │   ├── Accounts
│   │   │   │   │   ├── Cartfile
│   │   │   │   │   ├── Cartfile.resolved
│   │   │   │   │   ├── Carthage.xcconfig
│   │   │   │   │   ├── Info.plist
│   │   │   │   │   ├── PMKAccounts.xcodeproj
│   │   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   └── xcschemes
│   │   │   │   │   │   └── PMKAccounts.xcscheme
│   │   │   │   │   ├── README.markdown
│   │   │   │   │   ├── Sources
│   │   │   │   │   │   ├── ACAccountStore+AnyPromise.h
│   │   │   │   │   │   ├── ACAccountStore+AnyPromise.m
│   │   │   │   │   │   └── ACAccountStore+Promise.swift
│   │   │   │   │   └── Tests
│   │   │   │   │   └── TestAccounts.swift
│   │   │   │   ├── AddressBook
│   │   │   │   │   ├── Cartfile
│   │   │   │   │   ├── Cartfile.resolved
│   │   │   │   │   ├── Carthage.xcconfig
│   │   │   │   │   ├── Info.plist
│   │   │   │   │   ├── PMKAddressBook.xcodeproj
│   │   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   └── xcschemes
│   │   │   │   │   │   └── PMKAddressBook.xcscheme
│   │   │   │   │   ├── README.markdown
│   │   │   │   │   ├── Sources
│   │   │   │   │   │   └── ABAddressBookRequestAccess+Promise.swift
│   │   │   │   │   └── Tests
│   │   │   │   │   └── TestAddressBook.swift
│   │   │   │   ├── Alamofire
│   │   │   │   │   ├── Cartfile
│   │   │   │   │   ├── Cartfile.private
│   │   │   │   │   ├── Cartfile.resolved
│   │   │   │   │   ├── Carthage.xcconfig
│   │   │   │   │   ├── Info.plist
│   │   │   │   │   ├── Package.swift
│   │   │   │   │   ├── PMKAlamofire.xcodeproj
│   │   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   └── xcschemes
│   │   │   │   │   │   └── PMKAlamofire.xcscheme
│   │   │   │   │   ├── README.markdown
│   │   │   │   │   ├── Sources
│   │   │   │   │   │   └── Alamofire+Promise.swift
│   │   │   │   │   └── Tests
│   │   │   │   │   └── TestAlamofire.swift
│   │   │   │   ├── AssetsLibrary
│   │   │   │   │   ├── Cartfile
│   │   │   │   │   ├── Cartfile.resolved
│   │   │   │   │   ├── Carthage.xcconfig
│   │   │   │   │   ├── Info.plist
│   │   │   │   │   ├── PMKAssetsLibrary.xcodeproj
│   │   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   └── xcschemes
│   │   │   │   │   │   └── PMKAssetsLibrary.xcscheme
│   │   │   │   │   ├── README.markdown
│   │   │   │   │   ├── Sources
│   │   │   │   │   │   └── ALAssetsLibrary+Promise.swift
│   │   │   │   │   └── Tests
│   │   │   │   │   ├── app.swift
│   │   │   │   │   ├── Default-568h@2x.png
│   │   │   │   │   ├── Entitlements.plist
│   │   │   │   │   └── TestUIImagePickerController.swift
│   │   │   │   ├── AVFoundation
│   │   │   │   │   ├── Cartfile
│   │   │   │   │   ├── Cartfile.resolved
│   │   │   │   │   ├── Carthage.xcconfig
│   │   │   │   │   ├── Info.plist
│   │   │   │   │   ├── PMKAVFoundation.xcodeproj
│   │   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   └── xcschemes
│   │   │   │   │   │   └── PMKAVFoundation.xcscheme
│   │   │   │   │   ├── README.markdown
│   │   │   │   │   ├── Sources
│   │   │   │   │   │   ├── AVAudioSession+AnyPromise.h
│   │   │   │   │   │   ├── AVAudioSession+AnyPromise.m
│   │   │   │   │   │   └── AVAudioSession+Promise.swift
│   │   │   │   │   └── Tests
│   │   │   │   │   ├── TestAVFoundation.m
│   │   │   │   │   └── TestAVFoundation.swift
│   │   │   │   ├── Bolts
│   │   │   │   │   ├── Cartfile
│   │   │   │   │   ├── Cartfile.resolved
│   │   │   │   │   ├── Carthage.xcconfig
│   │   │   │   │   ├── Info.plist
│   │   │   │   │   ├── PMKBolts.xcodeproj
│   │   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   └── xcschemes
│   │   │   │   │   │   └── PMKBolts.xcscheme
│   │   │   │   │   ├── README.markdown
│   │   │   │   │   ├── Sources
│   │   │   │   │   │   └── BFTask+Promise.swift
│   │   │   │   │   └── Tests
│   │   │   │   │   └── TestBolts.swift
│   │   │   │   ├── CloudKit
│   │   │   │   │   ├── Cartfile
│   │   │   │   │   ├── Cartfile.resolved
│   │   │   │   │   ├── Carthage.xcconfig
│   │   │   │   │   ├── Info.plist
│   │   │   │   │   ├── Package.swift
│   │   │   │   │   ├── PMKCloudKit.xcodeproj
│   │   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   └── xcschemes
│   │   │   │   │   │   └── PMKCloudKit.xcscheme
│   │   │   │   │   ├── README.markdown
│   │   │   │   │   ├── Sources
│   │   │   │   │   │   ├── CKContainer+AnyPromise.h
│   │   │   │   │   │   ├── CKContainer+AnyPromise.m
│   │   │   │   │   │   ├── CKContainer+Promise.swift
│   │   │   │   │   │   ├── CKDatabase+AnyPromise.h
│   │   │   │   │   │   ├── CKDatabase+AnyPromise.m
│   │   │   │   │   │   ├── CKDatabase+Promise.swift
│   │   │   │   │   │   └── PMKCloudKit.h
│   │   │   │   │   └── Tests
│   │   │   │   │   ├── infrastructure.h
│   │   │   │   │   ├── infrastructure.m
│   │   │   │   │   └── TestCloudKit.swift
│   │   │   │   ├── CoreBluetooth
│   │   │   │   │   ├── Cartfile
│   │   │   │   │   ├── Cartfile.resolved
│   │   │   │   │   ├── Carthage.xcconfig
│   │   │   │   │   ├── Info.plist
│   │   │   │   │   ├── PMKCoreBluetooth.xcodeproj
│   │   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   └── xcschemes
│   │   │   │   │   │   └── PMKCoreBluetooth.xcscheme
│   │   │   │   │   ├── README.markdown
│   │   │   │   │   ├── Sources
│   │   │   │   │   │   └── CBCentralManager+Promise.swift
│   │   │   │   │   └── Tests
│   │   │   │   │   └── CBTests.swift
│   │   │   │   ├── CoreLocation
│   │   │   │   │   ├── Cartfile
│   │   │   │   │   ├── Cartfile.resolved
│   │   │   │   │   ├── Carthage.xcconfig
│   │   │   │   │   ├── Info.plist
│   │   │   │   │   ├── PMKCoreLocation.xcodeproj
│   │   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   └── xcschemes
│   │   │   │   │   │   └── PMKCoreLocation.xcscheme
│   │   │   │   │   ├── README.markdown
│   │   │   │   │   ├── Sources
│   │   │   │   │   │   ├── CLGeocoder+AnyPromise.h
│   │   │   │   │   │   ├── CLGeocoder+AnyPromise.m
│   │   │   │   │   │   ├── CLGeocoder+Promise.swift
│   │   │   │   │   │   ├── CLLocationManager+AnyPromise.h
│   │   │   │   │   │   ├── CLLocationManager+AnyPromise.m
│   │   │   │   │   │   ├── CLLocationManager+Promise.swift
│   │   │   │   │   │   └── PMKCoreLocation.h
│   │   │   │   │   └── Tests
│   │   │   │   │   ├── CLGeocoderTests.swift
│   │   │   │   │   ├── CLLocationManagerTests.swift
│   │   │   │   │   └── Entitlements.plist
│   │   │   │   ├── EventKit
│   │   │   │   │   ├── Cartfile
│   │   │   │   │   ├── Cartfile.resolved
│   │   │   │   │   ├── Carthage.xcconfig
│   │   │   │   │   ├── Info.plist
│   │   │   │   │   ├── PMKEventKit.xcodeproj
│   │   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   └── xcschemes
│   │   │   │   │   │   └── PMKEventKit.xcscheme
│   │   │   │   │   ├── README.markdown
│   │   │   │   │   ├── Sources
│   │   │   │   │   │   └── EKEventStore+Promise.swift
│   │   │   │   │   └── Tests
│   │   │   │   │   ├── Entitlements.plist
│   │   │   │   │   └── TestEventKit.swift
│   │   │   │   ├── Foundation
│   │   │   │   │   ├── Cartfile
│   │   │   │   │   ├── Cartfile.private
│   │   │   │   │   ├── Cartfile.resolved
│   │   │   │   │   ├── Carthage.xcconfig
│   │   │   │   │   ├── Info.plist
│   │   │   │   │   ├── LICENSE
│   │   │   │   │   ├── Package.swift
│   │   │   │   │   ├── PMKFoundation.xcodeproj
│   │   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   └── xcschemes
│   │   │   │   │   │   └── PMKFoundation.xcscheme
│   │   │   │   │   ├── README.markdown
│   │   │   │   │   ├── Sources
│   │   │   │   │   │   ├── afterlife.swift
│   │   │   │   │   │   ├── NSNotificationCenter+AnyPromise.h
│   │   │   │   │   │   ├── NSNotificationCenter+AnyPromise.m
│   │   │   │   │   │   ├── NSNotificationCenter+Promise.swift
│   │   │   │   │   │   ├── NSObject+Promise.swift
│   │   │   │   │   │   ├── NSTask+AnyPromise.h
│   │   │   │   │   │   ├── NSTask+AnyPromise.m
│   │   │   │   │   │   ├── NSURLSession+AnyPromise.h
│   │   │   │   │   │   ├── NSURLSession+AnyPromise.m
│   │   │   │   │   │   ├── NSURLSession+Promise.swift
│   │   │   │   │   │   ├── PMKFoundation.h
│   │   │   │   │   │   └── Process+Promise.swift
│   │   │   │   │   └── Tests
│   │   │   │   │   ├── TestNSNotificationCenter.swift
│   │   │   │   │   ├── TestNSObject.swift
│   │   │   │   │   ├── TestNSTask.swift
│   │   │   │   │   ├── TestNSURLSession.m
│   │   │   │   │   └── TestNSURLSession.swift
│   │   │   │   ├── HomeKit
│   │   │   │   │   ├── Cartfile
│   │   │   │   │   ├── Cartfile.resolved
│   │   │   │   │   ├── Carthage.xcconfig
│   │   │   │   │   ├── Info.plist
│   │   │   │   │   ├── PMKHomeKit.xcodeproj
│   │   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   └── xcschemes
│   │   │   │   │   │   └── PMKHomeKit.xcscheme
│   │   │   │   │   ├── README.markdown
│   │   │   │   │   ├── Sources
│   │   │   │   │   │   ├── HMAcessoryBrowser+Promise.swift
│   │   │   │   │   │   ├── HMCharacteristic+Promise.swift
│   │   │   │   │   │   ├── HMHomeManager+Promise.swift
│   │   │   │   │   │   ├── HMHome+Promise.swift
│   │   │   │   │   │   └── Utils.swift
│   │   │   │   │   └── Tests
│   │   │   │   │   ├── Entitlements.plist
│   │   │   │   │   ├── HMAccessoryBrowserTests.swift
│   │   │   │   │   └── UtilsTests.swift
│   │   │   │   ├── MapKit
│   │   │   │   │   ├── Cartfile
│   │   │   │   │   ├── Cartfile.resolved
│   │   │   │   │   ├── Carthage.xcconfig
│   │   │   │   │   ├── Info.plist
│   │   │   │   │   ├── PMKMapKit.xcodeproj
│   │   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   └── xcschemes
│   │   │   │   │   │   └── PMKMapKit.xcscheme
│   │   │   │   │   ├── README.markdown
│   │   │   │   │   ├── Sources
│   │   │   │   │   │   ├── MKDirections+AnyPromise.h
│   │   │   │   │   │   ├── MKDirections+AnyPromise.m
│   │   │   │   │   │   ├── MKDirections+Promise.swift
│   │   │   │   │   │   ├── MKMapSnapshotter+AnyPromise.h
│   │   │   │   │   │   ├── MKMapSnapshotter+AnyPromise.m
│   │   │   │   │   │   ├── MKMapSnapshotter+Promise.swift
│   │   │   │   │   │   └── PMKMapKit.h
│   │   │   │   │   └── Tests
│   │   │   │   │   └── TestMapKit.swift
│   │   │   │   ├── MessagesUI
│   │   │   │   │   ├── Cartfile
│   │   │   │   │   ├── Cartfile.resolved
│   │   │   │   │   ├── Carthage.xcconfig
│   │   │   │   │   ├── Info.plist
│   │   │   │   │   ├── PMKMessagesUI.xcodeproj
│   │   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   └── xcschemes
│   │   │   │   │   │   └── PMKMessagesUI.xcscheme
│   │   │   │   │   ├── README.markdown
│   │   │   │   │   ├── Sources
│   │   │   │   │   │   ├── MFMailComposeViewController+Promise.swift
│   │   │   │   │   │   └── MFMessageComposeViewController+Promise.swift
│   │   │   │   │   └── Tests
│   │   │   │   │   └── TestMessageUI.swift
│   │   │   │   ├── OMGHTTPURLRQ
│   │   │   │   │   ├── Cartfile
│   │   │   │   │   ├── Cartfile.private
│   │   │   │   │   ├── Cartfile.resolved
│   │   │   │   │   ├── Carthage.xcconfig
│   │   │   │   │   ├── Info.plist
│   │   │   │   │   ├── PMKOMGHTTPURLRQ.xcodeproj
│   │   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   └── xcschemes
│   │   │   │   │   │   └── PMKOMGHTTPURLRQ.xcscheme
│   │   │   │   │   ├── README.markdown
│   │   │   │   │   ├── Sources
│   │   │   │   │   │   ├── NSURLSession+OMG+AnyPromise.m
│   │   │   │   │   │   ├── NSURLSession+OMG+Promise.swift
│   │   │   │   │   │   └── PMKOMGHTTPURLRQ.h
│   │   │   │   │   └── Tests
│   │   │   │   │   ├── TestNSURLSession.m
│   │   │   │   │   └── TestNSURLSession.swift
│   │   │   │   ├── Photos
│   │   │   │   │   ├── Cartfile
│   │   │   │   │   ├── Cartfile.resolved
│   │   │   │   │   ├── Carthage.xcconfig
│   │   │   │   │   ├── Info.plist
│   │   │   │   │   ├── PMKPhotos.xcodeproj
│   │   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   └── xcschemes
│   │   │   │   │   │   └── PMKPhotos.xcscheme
│   │   │   │   │   ├── README.markdown
│   │   │   │   │   ├── Sources
│   │   │   │   │   │   └── PHPhotoLibrary+Promise.swift
│   │   │   │   │   └── Tests
│   │   │   │   │   └── PHPhototLibraryTests.swift
│   │   │   │   ├── QuartzCore
│   │   │   │   │   ├── Cartfile
│   │   │   │   │   ├── Cartfile.resolved
│   │   │   │   │   ├── Carthage.xcconfig
│   │   │   │   │   ├── Info.plist
│   │   │   │   │   ├── PMKQCTests
│   │   │   │   │   │   ├── Info.plist
│   │   │   │   │   │   └── PMKQCTests.swift
│   │   │   │   │   ├── PMKQuartzCore.xcodeproj
│   │   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   └── xcschemes
│   │   │   │   │   │   └── PMKQuartzCore.xcscheme
│   │   │   │   │   ├── README.markdown
│   │   │   │   │   ├── Sources
│   │   │   │   │   │   ├── CALayer+AnyPromise.h
│   │   │   │   │   │   ├── CALayer+AnyPromise.m
│   │   │   │   │   │   └── PMKQuartzCore.h
│   │   │   │   │   └── Tests
│   │   │   │   │   └── TestQuartzCore.m
│   │   │   │   ├── Social
│   │   │   │   │   ├── Cartfile
│   │   │   │   │   ├── Cartfile.resolved
│   │   │   │   │   ├── Carthage.xcconfig
│   │   │   │   │   ├── Info.plist
│   │   │   │   │   ├── PMKSocial.xcodeproj
│   │   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   └── xcschemes
│   │   │   │   │   │   └── PMKSocial.xcscheme
│   │   │   │   │   ├── README.markdown
│   │   │   │   │   ├── Sources
│   │   │   │   │   │   ├── PMKSocial.h
│   │   │   │   │   │   ├── SLComposeViewController+Promise.swift
│   │   │   │   │   │   ├── SLRequest+AnyPromise.h
│   │   │   │   │   │   ├── SLRequest+AnyPromise.m
│   │   │   │   │   │   └── SLRequest+Promise.swift
│   │   │   │   │   └── Tests
│   │   │   │   │   ├── TestSLComposeViewController.swift
│   │   │   │   │   ├── TestSocial.m
│   │   │   │   │   └── TestSocial.swift
│   │   │   │   ├── StoreKit
│   │   │   │   │   ├── Cartfile
│   │   │   │   │   ├── Cartfile.resolved
│   │   │   │   │   ├── Carthage.xcconfig
│   │   │   │   │   ├── Info.plist
│   │   │   │   │   ├── PMKStoreKit.xcodeproj
│   │   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   └── xcschemes
│   │   │   │   │   │   └── PMKStoreKit.xcscheme
│   │   │   │   │   ├── README.markdown
│   │   │   │   │   ├── Sources
│   │   │   │   │   │   ├── PMKStoreKit.h
│   │   │   │   │   │   ├── SKPayment+Promise.swift
│   │   │   │   │   │   ├── SKPaymentQueue+Promise.swift
│   │   │   │   │   │   ├── SKProductsRequest+Promise.swift
│   │   │   │   │   │   ├── SKReceiptRefreshRequest+Promise.swift
│   │   │   │   │   │   ├── SKRequest+AnyPromise.h
│   │   │   │   │   │   └── SKRequest+AnyPromise.m
│   │   │   │   │   └── Tests
│   │   │   │   │   ├── TestStoreKit.m
│   │   │   │   │   └── TestStoreKit.swift
│   │   │   │   ├── SystemConfiguration
│   │   │   │   │   ├── Cartfile
│   │   │   │   │   ├── Cartfile.resolved
│   │   │   │   │   ├── Carthage.xcconfig
│   │   │   │   │   ├── Info.plist
│   │   │   │   │   ├── PMKSystemConfiguration.xcodeproj
│   │   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   └── xcschemes
│   │   │   │   │   │   └── PMKSystemConfiguration.xcscheme
│   │   │   │   │   ├── README.markdown
│   │   │   │   │   ├── Sources
│   │   │   │   │   │   ├── PMKSystemConfiguration.h
│   │   │   │   │   │   ├── SCNetworkReachability+AnyPromise.h
│   │   │   │   │   │   ├── SCNetworkReachability+AnyPromise.m
│   │   │   │   │   │   └── SCNetworkReachability+Promise.swift
│   │   │   │   │   └── Tests
│   │   │   │   │   └── SCTests.swift
│   │   │   │   ├── UIKit
│   │   │   │   │   ├── Cartfile
│   │   │   │   │   ├── Cartfile.resolved
│   │   │   │   │   ├── Carthage.xcconfig
│   │   │   │   │   ├── Info.plist
│   │   │   │   │   ├── PMKUIKit.xcodeproj
│   │   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   └── xcschemes
│   │   │   │   │   │   └── PMKUIKit.xcscheme
│   │   │   │   │   ├── README.markdown
│   │   │   │   │   ├── Sources
│   │   │   │   │   │   ├── PMKUIKit.h
│   │   │   │   │   │   ├── UIImagePickerController+Promise.swift
│   │   │   │   │   │   ├── UIView+AnyPromise.h
│   │   │   │   │   │   ├── UIView+AnyPromise.m
│   │   │   │   │   │   ├── UIViewController+AnyPromise.h
│   │   │   │   │   │   ├── UIViewController+AnyPromise.m
│   │   │   │   │   │   ├── UIView+Promise.swift
│   │   │   │   │   │   └── UIViewPropertyAnimator+Promise.swift
│   │   │   │   │   ├── Tests
│   │   │   │   │   │   ├── infrastructure.swift
│   │   │   │   │   │   ├── TestUIImagePickerController.swift
│   │   │   │   │   │   ├── TestUIViewController.m
│   │   │   │   │   │   └── TestUIView.swift
│   │   │   │   │   └── UITests
│   │   │   │   │   ├── app.swift
│   │   │   │   │   ├── Default-568h@2x.png
│   │   │   │   │   ├── Entitlements.plist
│   │   │   │   │   └── TestUIImagePickerController.swift
│   │   │   │   └── WatchConnectivity
│   │   │   │   ├── Cartfile
│   │   │   │   ├── Cartfile.resolved
│   │   │   │   ├── Carthage.xcconfig
│   │   │   │   ├── Info.plist
│   │   │   │   ├── PMKWatchConnectivity.xcodeproj
│   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   │   └── xcshareddata
│   │   │   │   │   └── xcschemes
│   │   │   │   │   └── PMKWatchConnectivity.xcscheme
│   │   │   │   ├── README.markdown
│   │   │   │   ├── Sources
│   │   │   │   │   └── WCSession+Promise.swift
│   │   │   │   └── Tests
│   │   │   │   └── TestWatchConnectivity.swift
│   │   │   ├── LICENSE
│   │   │   ├── Package.swift
│   │   │   ├── PromiseKit.playground
│   │   │   │   ├── Contents.swift
│   │   │   │   ├── contents.xcplayground
│   │   │   │   └── section-1.swift
│   │   │   ├── PromiseKit.xcodeproj
│   │   │   │   ├── project.pbxproj
│   │   │   │   ├── project.xcworkspace
│   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   └── xcshareddata
│   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   └── xcshareddata
│   │   │   │   └── xcschemes
│   │   │   │   └── PromiseKit.xcscheme
│   │   │   ├── README.md
│   │   │   ├── Sources
│   │   │   │   ├── after.m
│   │   │   │   ├── after.swift
│   │   │   │   ├── AnyPromise.h
│   │   │   │   ├── AnyPromise.m
│   │   │   │   ├── AnyPromise+Private.h
│   │   │   │   ├── AnyPromise.swift
│   │   │   │   ├── Box.swift
│   │   │   │   ├── Catchable.swift
│   │   │   │   ├── Configuration.swift
│   │   │   │   ├── CustomStringConvertible.swift
│   │   │   │   ├── Deprecations.swift
│   │   │   │   ├── dispatch_promise.m
│   │   │   │   ├── DispatchQueue+Promise.swift
│   │   │   │   ├── Error.swift
│   │   │   │   ├── firstly.swift
│   │   │   │   ├── fwd.h
│   │   │   │   ├── GlobalState.m
│   │   │   │   ├── Guarantee.swift
│   │   │   │   ├── hang.m
│   │   │   │   ├── hang.swift
│   │   │   │   ├── Info.plist
│   │   │   │   ├── join.m
│   │   │   │   ├── join.swift
│   │   │   │   ├── NSMethodSignatureForBlock.m
│   │   │   │   ├── PMKCallVariadicBlock.m
│   │   │   │   ├── Promise+AnyPromise.swift
│   │   │   │   ├── PromiseKit.h
│   │   │   │   ├── Promise+Properties.swift
│   │   │   │   ├── Promise.swift
│   │   │   │   ├── race.m
│   │   │   │   ├── race.swift
│   │   │   │   ├── Resolver.swift
│   │   │   │   ├── State.swift
│   │   │   │   ├── SwiftPM.swift
│   │   │   │   ├── Thenable.swift
│   │   │   │   ├── when.m
│   │   │   │   ├── when.swift
│   │   │   │   ├── wrap.swift
│   │   │   │   └── Zalgo.swift
│   │   │   └── Tests
│   │   │   ├── A+
│   │   │   │   ├── 0.0.0.swift
│   │   │   │   ├── 2.1.2.swift
│   │   │   │   ├── 2.1.3.swift
│   │   │   │   ├── 2.2.2.swift
│   │   │   │   ├── 2.2.3.swift
│   │   │   │   ├── 2.2.4.swift
│   │   │   │   ├── 2.2.6.swift
│   │   │   │   ├── 2.2.7.swift
│   │   │   │   ├── 2.3.1.swift
│   │   │   │   ├── 2.3.2.swift
│   │   │   │   ├── 2.3.4.swift
│   │   │   │   └── README.md
│   │   │   ├── Bridging
│   │   │   │   ├── BridgingTests.m
│   │   │   │   ├── BridgingTests.swift
│   │   │   │   ├── Infrastructure.h
│   │   │   │   ├── Infrastructure.m
│   │   │   │   └── Infrastructure.swift
│   │   │   ├── CoreObjC
│   │   │   │   ├── AnyPromiseTests.m
│   │   │   │   ├── AnyPromiseTests.swift
│   │   │   │   ├── HangTests.m
│   │   │   │   ├── JoinTests.m
│   │   │   │   ├── PMKManifoldTests.m
│   │   │   │   └── WhenTests.m
│   │   │   ├── CorePromise
│   │   │   │   ├── 01_AnyPromiseTests.m
│   │   │   │   ├── 01_PromiseTests.swift
│   │   │   │   ├── 02_CancellationTests.swift
│   │   │   │   ├── 02_DefaultDispatchQueueTests.swift
│   │   │   │   ├── 02_ErrorUnhandlerTests.m
│   │   │   │   ├── 02_ErrorUnhandlerTests.swift
│   │   │   │   ├── 02_PMKManifoldTests.m
│   │   │   │   ├── 02_ZalgoTests.swift
│   │   │   │   ├── 03_AfterTests.swift
│   │   │   │   ├── 03_HangTests.m
│   │   │   │   ├── 03_JoinTests.m
│   │   │   │   ├── 03_JoinTests.swift
│   │   │   │   ├── 03_JointTests.swift
│   │   │   │   ├── 03_RaceTests.swift
│   │   │   │   ├── 03_WhenConcurrentTests.swift
│   │   │   │   ├── 03_WhenTests.m
│   │   │   │   ├── 03_WhenTests.swift
│   │   │   │   ├── 03_WrapTests.swift
│   │   │   │   ├── 04_VerifySubclassing.swift
│   │   │   │   ├── 05_PromiseTupleTests.swift
│   │   │   │   ├── 98_StressTests.swift
│   │   │   │   ├── 99_RegressionTests.swift
│   │   │   │   ├── AfterTests.swift
│   │   │   │   ├── CancellableErrorTests.swift
│   │   │   │   ├── CatchableTests.swift
│   │   │   │   ├── DefaultDispatchQueueTests.swift
│   │   │   │   ├── ErrorTests.swift
│   │   │   │   ├── GuaranteeTests.swift
│   │   │   │   ├── HangTests.swift
│   │   │   │   ├── Infrastructure.h
│   │   │   │   ├── Infrastructure.m
│   │   │   │   ├── Infrastructure.swift
│   │   │   │   ├── PMKDefaultDispatchQueueTest.swift
│   │   │   │   ├── PromiseTests.swift
│   │   │   │   ├── RaceTests.swift
│   │   │   │   ├── RegressionTests.swift
│   │   │   │   ├── ResolverTests.swift
│   │   │   │   ├── StressTests.swift
│   │   │   │   ├── ThenableTests.swift
│   │   │   │   ├── Utilities.swift
│   │   │   │   ├── WhenConcurrentTests.swift
│   │   │   │   ├── WhenResolvedTests.swift
│   │   │   │   ├── WhenTests.swift
│   │   │   │   └── ZalgoTests.swift
│   │   │   ├── DeprecationTests.swift
│   │   │   ├── JS-A+
│   │   │   │   ├── AllTests.swift
│   │   │   │   ├── index.js
│   │   │   │   ├── JSAdapter.swift
│   │   │   │   ├── JSPromise.swift
│   │   │   │   ├── JSUtils.swift
│   │   │   │   ├── MockNodeEnvironment.swift
│   │   │   │   ├── package.json
│   │   │   │   ├── package-lock.json
│   │   │   │   ├── README.md
│   │   │   │   └── webpack.config.js
│   │   │   └── LinuxMain.swift
│   │   └── RxSwift
│   │   ├── assets
│   │   │   ├── CNAME.txt
│   │   │   ├── LICENSE.txt
│   │   │   └── Rx_Logo_M.png
│   │   ├── CHANGELOG.md
│   │   ├── CODE_OF_CONDUCT.md
│   │   ├── CONTRIBUTING.md
│   │   ├── Dangerfile
│   │   ├── default.profraw
│   │   ├── Documentation
│   │   │   ├── ComparisonWithOtherLibraries.md
│   │   │   ├── DesignRationale.md
│   │   │   ├── ExampleApp.md
│   │   │   ├── Examples.md
│   │   │   ├── GettingStarted.md
│   │   │   ├── HotAndColdObservables.md
│   │   │   ├── MathBehindRx.md
│   │   │   ├── NewFeatureRequestTemplate.md
│   │   │   ├── Playgrounds.md
│   │   │   ├── Schedulers.md
│   │   │   ├── Subjects.md
│   │   │   ├── Tips.md
│   │   │   ├── Traits.md
│   │   │   ├── UnitTests.md
│   │   │   ├── Warnings.md
│   │   │   └── Why.md
│   │   ├── Gemfile
│   │   ├── Gemfile.lock
│   │   ├── LICENSE.md
│   │   ├── Package.swift
│   │   ├── Platform
│   │   │   ├── DataStructures
│   │   │   │   ├── Bag.swift
│   │   │   │   ├── InfiniteSequence.swift
│   │   │   │   ├── PriorityQueue.swift
│   │   │   │   └── Queue.swift
│   │   │   ├── DeprecationWarner.swift
│   │   │   ├── DispatchQueue+Extensions.swift
│   │   │   ├── Platform.Darwin.swift
│   │   │   ├── Platform.Linux.swift
│   │   │   └── RecursiveLock.swift
│   │   ├── Preprocessor
│   │   │   ├── Preprocessor
│   │   │   │   └── main.swift
│   │   │   ├── Preprocessor.xcodeproj
│   │   │   │   ├── project.pbxproj
│   │   │   │   └── project.xcworkspace
│   │   │   │   └── contents.xcworkspacedata
│   │   │   └── README.md
│   │   ├── README.md
│   │   ├── RxBlocking
│   │   │   ├── BlockingObservable+Operators.swift
│   │   │   ├── BlockingObservable.swift
│   │   │   ├── Info.plist
│   │   │   ├── ObservableConvertibleType+Blocking.swift
│   │   │   ├── Platform
│   │   │   │   ├── Platform.Darwin.swift
│   │   │   │   ├── Platform.Linux.swift
│   │   │   │   └── RecursiveLock.swift
│   │   │   ├── README.md
│   │   │   ├── Resources.swift
│   │   │   └── RunLoopLock.swift
│   │   ├── RxBlocking.podspec
│   │   ├── RxCocoa
│   │   │   ├── Common
│   │   │   │   ├── Binder.swift
│   │   │   │   ├── ControlTarget.swift
│   │   │   │   ├── DelegateProxy.swift
│   │   │   │   ├── DelegateProxyType.swift
│   │   │   │   ├── KeyPathBinder.swift
│   │   │   │   ├── NSLayoutConstraint+Rx.swift
│   │   │   │   ├── Observable+Bind.swift
│   │   │   │   ├── RxCocoaObjCRuntimeError+Extensions.swift
│   │   │   │   ├── RxTarget.swift
│   │   │   │   ├── SectionedViewDataSourceType.swift
│   │   │   │   └── TextInput.swift
│   │   │   ├── Deprecated.swift
│   │   │   ├── Foundation
│   │   │   │   ├── KVORepresentable+CoreGraphics.swift
│   │   │   │   ├── KVORepresentable.swift
│   │   │   │   ├── KVORepresentable+Swift.swift
│   │   │   │   ├── Logging.swift
│   │   │   │   ├── NotificationCenter+Rx.swift
│   │   │   │   ├── NSObject+Rx+KVORepresentable.swift
│   │   │   │   ├── NSObject+Rx+RawRepresentable.swift
│   │   │   │   ├── NSObject+Rx.swift
│   │   │   │   └── URLSession+Rx.swift
│   │   │   ├── Info.plist
│   │   │   ├── iOS
│   │   │   │   ├── DataSources
│   │   │   │   │   ├── RxCollectionViewReactiveArrayDataSource.swift
│   │   │   │   │   ├── RxPickerViewAdapter.swift
│   │   │   │   │   └── RxTableViewReactiveArrayDataSource.swift
│   │   │   │   ├── Events
│   │   │   │   │   └── ItemEvents.swift
│   │   │   │   ├── NSTextStorage+Rx.swift
│   │   │   │   ├── Protocols
│   │   │   │   │   ├── RxCollectionViewDataSourceType.swift
│   │   │   │   │   ├── RxPickerViewDataSourceType.swift
│   │   │   │   │   └── RxTableViewDataSourceType.swift
│   │   │   │   ├── Proxies
│   │   │   │   │   ├── RxCollectionViewDataSourcePrefetchingProxy.swift
│   │   │   │   │   ├── RxCollectionViewDataSourceProxy.swift
│   │   │   │   │   ├── RxCollectionViewDelegateProxy.swift
│   │   │   │   │   ├── RxNavigationControllerDelegateProxy.swift
│   │   │   │   │   ├── RxPickerViewDataSourceProxy.swift
│   │   │   │   │   ├── RxPickerViewDelegateProxy.swift
│   │   │   │   │   ├── RxScrollViewDelegateProxy.swift
│   │   │   │   │   ├── RxSearchBarDelegateProxy.swift
│   │   │   │   │   ├── RxSearchControllerDelegateProxy.swift
│   │   │   │   │   ├── RxTabBarControllerDelegateProxy.swift
│   │   │   │   │   ├── RxTabBarDelegateProxy.swift
│   │   │   │   │   ├── RxTableViewDataSourcePrefetchingProxy.swift
│   │   │   │   │   ├── RxTableViewDataSourceProxy.swift
│   │   │   │   │   ├── RxTableViewDelegateProxy.swift
│   │   │   │   │   ├── RxTextStorageDelegateProxy.swift
│   │   │   │   │   ├── RxTextViewDelegateProxy.swift
│   │   │   │   │   └── RxWebViewDelegateProxy.swift
│   │   │   │   ├── UIActivityIndicatorView+Rx.swift
│   │   │   │   ├── UIAlertAction+Rx.swift
│   │   │   │   ├── UIApplication+Rx.swift
│   │   │   │   ├── UIBarButtonItem+Rx.swift
│   │   │   │   ├── UIButton+Rx.swift
│   │   │   │   ├── UICollectionView+Rx.swift
│   │   │   │   ├── UIControl+Rx.swift
│   │   │   │   ├── UIDatePicker+Rx.swift
│   │   │   │   ├── UIGestureRecognizer+Rx.swift
│   │   │   │   ├── UIImageView+Rx.swift
│   │   │   │   ├── UILabel+Rx.swift
│   │   │   │   ├── UINavigationController+Rx.swift
│   │   │   │   ├── UINavigationItem+Rx.swift
│   │   │   │   ├── UIPageControl+Rx.swift
│   │   │   │   ├── UIPickerView+Rx.swift
│   │   │   │   ├── UIProgressView+Rx.swift
│   │   │   │   ├── UIRefreshControl+Rx.swift
│   │   │   │   ├── UIScrollView+Rx.swift
│   │   │   │   ├── UISearchBar+Rx.swift
│   │   │   │   ├── UISearchController+Rx.swift
│   │   │   │   ├── UISegmentedControl+Rx.swift
│   │   │   │   ├── UISlider+Rx.swift
│   │   │   │   ├── UIStepper+Rx.swift
│   │   │   │   ├── UISwitch+Rx.swift
│   │   │   │   ├── UITabBarController+Rx.swift
│   │   │   │   ├── UITabBarItem+Rx.swift
│   │   │   │   ├── UITabBar+Rx.swift
│   │   │   │   ├── UITableView+Rx.swift
│   │   │   │   ├── UITextField+Rx.swift
│   │   │   │   ├── UITextView+Rx.swift
│   │   │   │   ├── UIViewController+Rx.swift
│   │   │   │   ├── UIView+Rx.swift
│   │   │   │   └── UIWebView+Rx.swift
│   │   │   ├── macOS
│   │   │   │   ├── NSButton+Rx.swift
│   │   │   │   ├── NSControl+Rx.swift
│   │   │   │   ├── NSImageView+Rx.swift
│   │   │   │   ├── NSSlider+Rx.swift
│   │   │   │   ├── NSTextField+Rx.swift
│   │   │   │   └── NSView+Rx.swift
│   │   │   ├── Platform
│   │   │   │   └── DispatchQueue+Extensions.swift
│   │   │   ├── Runtime
│   │   │   │   ├── include
│   │   │   │   │   ├── RxCocoaRuntime.h
│   │   │   │   │   ├── _RXDelegateProxy.h
│   │   │   │   │   ├── _RX.h
│   │   │   │   │   ├── _RXKVOObserver.h
│   │   │   │   │   └── _RXObjCRuntime.h
│   │   │   │   ├── _RXDelegateProxy.m
│   │   │   │   ├── _RXKVOObserver.m
│   │   │   │   ├── _RX.m
│   │   │   │   └── _RXObjCRuntime.m
│   │   │   ├── RxCocoa.h
│   │   │   ├── RxCocoa.swift
│   │   │   └── Traits
│   │   │   ├── BehaviorRelay.swift
│   │   │   ├── ControlEvent.swift
│   │   │   ├── ControlProperty.swift
│   │   │   ├── Driver
│   │   │   │   ├── BehaviorRelay+Driver.swift
│   │   │   │   ├── ControlEvent+Driver.swift
│   │   │   │   ├── ControlProperty+Driver.swift
│   │   │   │   ├── Driver+Subscription.swift
│   │   │   │   ├── Driver.swift
│   │   │   │   └── ObservableConvertibleType+Driver.swift
│   │   │   ├── PublishRelay.swift
│   │   │   ├── SharedSequence
│   │   │   │   ├── ObservableConvertibleType+SharedSequence.swift
│   │   │   │   ├── SchedulerType+SharedSequence.swift
│   │   │   │   ├── SharedSequence+Operators+arity.swift
│   │   │   │   ├── SharedSequence+Operators+arity.tt
│   │   │   │   ├── SharedSequence+Operators.swift
│   │   │   │   └── SharedSequence.swift
│   │   │   └── Signal
│   │   │   ├── ControlEvent+Signal.swift
│   │   │   ├── ObservableConvertibleType+Signal.swift
│   │   │   ├── PublishRelay+Signal.swift
│   │   │   ├── Signal+Subscription.swift
│   │   │   └── Signal.swift
│   │   ├── RxCocoa.podspec
│   │   ├── RxExample
│   │   │   ├── Extensions
│   │   │   │   ├── CLLocationManager+Rx.swift
│   │   │   │   ├── RxCLLocationManagerDelegateProxy.swift
│   │   │   │   ├── RxImagePickerDelegateProxy.swift
│   │   │   │   └── UIImagePickerController+Rx.swift
│   │   │   ├── RxDataSources
│   │   │   │   ├── Differentiator
│   │   │   │   │   ├── AnimatableSectionModel.swift
│   │   │   │   │   ├── AnimatableSectionModelType+ItemPath.swift
│   │   │   │   │   ├── AnimatableSectionModelType.swift
│   │   │   │   │   ├── Changeset.swift
│   │   │   │   │   ├── Differentiator.h
│   │   │   │   │   ├── Diff.swift
│   │   │   │   │   ├── IdentifiableType.swift
│   │   │   │   │   ├── IdentifiableValue.swift
│   │   │   │   │   ├── Info.plist
│   │   │   │   │   ├── ItemPath.swift
│   │   │   │   │   ├── Optional+Extensions.swift
│   │   │   │   │   ├── SectionModel.swift
│   │   │   │   │   ├── SectionModelType.swift
│   │   │   │   │   └── Utilities.swift
│   │   │   │   ├── README.md
│   │   │   │   └── RxDataSources
│   │   │   │   ├── AnimationConfiguration.swift
│   │   │   │   ├── Array+Extensions.swift
│   │   │   │   ├── CollectionViewSectionedDataSource.swift
│   │   │   │   ├── DataSources.swift
│   │   │   │   ├── Deprecated.swift
│   │   │   │   ├── FloatingPointType+IdentifiableType.swift
│   │   │   │   ├── Info.plist
│   │   │   │   ├── IntegerType+IdentifiableType.swift
│   │   │   │   ├── RxCollectionViewSectionedAnimatedDataSource.swift
│   │   │   │   ├── RxCollectionViewSectionedReloadDataSource.swift
│   │   │   │   ├── RxDataSources.h
│   │   │   │   ├── RxPickerViewAdapter.swift
│   │   │   │   ├── RxTableViewSectionedAnimatedDataSource.swift
│   │   │   │   ├── RxTableViewSectionedReloadDataSource.swift
│   │   │   │   ├── String+IdentifiableType.swift
│   │   │   │   ├── TableViewSectionedDataSource.swift
│   │   │   │   └── UI+SectionedViewType.swift
│   │   │   ├── RxExample
│   │   │   │   ├── Application+Extensions.swift
│   │   │   │   ├── Examples
│   │   │   │   │   ├── APIWrappers
│   │   │   │   │   │   ├── APIWrappers.storyboard
│   │   │   │   │   │   └── APIWrappersViewController.swift
│   │   │   │   │   ├── Calculator
│   │   │   │   │   │   ├── Calculator.storyboard
│   │   │   │   │   │   ├── Calculator.swift
│   │   │   │   │   │   └── CalculatorViewController.swift
│   │   │   │   │   ├── Dependencies.swift
│   │   │   │   │   ├── GeolocationExample
│   │   │   │   │   │   ├── Geolocation.storyboard
│   │   │   │   │   │   └── GeolocationViewController.swift
│   │   │   │   │   ├── GitHubSearchRepositories
│   │   │   │   │   │   ├── GitHubSearchRepositoriesAPI.swift
│   │   │   │   │   │   ├── GitHubSearchRepositories.storyboard
│   │   │   │   │   │   ├── GitHubSearchRepositories.swift
│   │   │   │   │   │   ├── GitHubSearchRepositoriesViewController.swift
│   │   │   │   │   │   └── UINavigationController+Extensions.swift
│   │   │   │   │   ├── GitHubSignup
│   │   │   │   │   │   ├── BindingExtensions.swift
│   │   │   │   │   │   ├── DefaultImplementations.swift
│   │   │   │   │   │   ├── GitHubSignup1.storyboard
│   │   │   │   │   │   ├── GitHubSignup2.storyboard
│   │   │   │   │   │   ├── Protocols.swift
│   │   │   │   │   │   ├── UsingDriver
│   │   │   │   │   │   │   ├── GitHubSignupViewController2.swift
│   │   │   │   │   │   │   └── GithubSignupViewModel2.swift
│   │   │   │   │   │   └── UsingVanillaObservables
│   │   │   │   │   │   ├── GitHubSignupViewController1.swift
│   │   │   │   │   │   └── GithubSignupViewModel1.swift
│   │   │   │   │   ├── ImagePicker
│   │   │   │   │   │   ├── ImagePickerController.swift
│   │   │   │   │   │   ├── ImagePicker.storyboard
│   │   │   │   │   │   └── UIImagePickerController+RxCreate.swift
│   │   │   │   │   ├── macOS simple example
│   │   │   │   │   │   └── IntroductionExampleViewController.swift
│   │   │   │   │   ├── Numbers
│   │   │   │   │   │   ├── Numbers.storyboard
│   │   │   │   │   │   └── NumbersViewController.swift
│   │   │   │   │   ├── SimpleTableViewExample
│   │   │   │   │   │   ├── SimpleTableViewExample.storyboard
│   │   │   │   │   │   └── SimpleTableViewExampleViewController.swift
│   │   │   │   │   ├── SimpleTableViewExampleSectioned
│   │   │   │   │   │   ├── SimpleTableViewExampleSectioned.storyboard
│   │   │   │   │   │   └── SimpleTableViewExampleSectionedViewController.swift
│   │   │   │   │   ├── SimpleValidation
│   │   │   │   │   │   ├── SimpleValidation.storyboard
│   │   │   │   │   │   └── SimpleValidationViewController.swift
│   │   │   │   │   ├── TableViewPartialUpdates
│   │   │   │   │   │   ├── NumberCell.swift
│   │   │   │   │   │   ├── NumberSectionView.swift
│   │   │   │   │   │   ├── PartialUpdates.storyboard
│   │   │   │   │   │   └── PartialUpdatesViewController.swift
│   │   │   │   │   ├── TableViewWithEditingCommands
│   │   │   │   │   │   ├── DetailViewController.swift
│   │   │   │   │   │   ├── RandomUserAPI.swift
│   │   │   │   │   │   ├── TableViewWithEditingCommands.storyboard
│   │   │   │   │   │   ├── TableViewWithEditingCommandsViewController.swift
│   │   │   │   │   │   ├── UIImageView+Extensions.swift
│   │   │   │   │   │   └── User.swift
│   │   │   │   │   ├── UIPickerViewExample
│   │   │   │   │   │   ├── CustomPickerViewAdapterExampleViewController.swift
│   │   │   │   │   │   ├── SimplePickerViewExampleViewController.swift
│   │   │   │   │   │   └── SimpleUIPickerViewExample.storyboard
│   │   │   │   │   └── WikipediaImageSearch
│   │   │   │   │   ├── ViewModels
│   │   │   │   │   │   └── SearchResultViewModel.swift
│   │   │   │   │   ├── Views
│   │   │   │   │   │   ├── CollectionViewImageCell.swift
│   │   │   │   │   │   ├── WikipediaImageCell.xib
│   │   │   │   │   │   ├── WikipediaSearchCell.swift
│   │   │   │   │   │   ├── WikipediaSearchCell.xib
│   │   │   │   │   │   └── WikipediaSearchViewController.swift
│   │   │   │   │   ├── WikipediaAPI
│   │   │   │   │   │   ├── WikipediaAPI.swift
│   │   │   │   │   │   ├── WikipediaPage.swift
│   │   │   │   │   │   └── WikipediaSearchResult.swift
│   │   │   │   │   └── WikipediaSearch.storyboard
│   │   │   │   ├── Example.swift
│   │   │   │   ├── Feedbacks.swift
│   │   │   │   ├── Images.xcassets
│   │   │   │   │   ├── AppIcon.appiconset
│   │   │   │   │   │   ├── Contents.json
│   │   │   │   │   │   ├── Icon-40@2x-1.png
│   │   │   │   │   │   ├── Icon-40@2x.png
│   │   │   │   │   │   ├── Icon-40.png
│   │   │   │   │   │   ├── Icon-60@2x-1.png
│   │   │   │   │   │   ├── Icon-60@2x.png
│   │   │   │   │   │   ├── Icon-60@3x.png
│   │   │   │   │   │   ├── Icon-76@2x.png
│   │   │   │   │   │   ├── Icon-76.png
│   │   │   │   │   │   ├── Icon-Small@2x-1.png
│   │   │   │   │   │   ├── Icon-Small@3x.png
│   │   │   │   │   │   ├── Icon-Small.png
│   │   │   │   │   │   ├── Rx_Logo-iPad.png
│   │   │   │   │   │   ├── Rx_Logo_L.png
│   │   │   │   │   │   └── Rx_Logo_M.png
│   │   │   │   │   └── ReactiveExtensionsLogo.imageset
│   │   │   │   │   ├── Contents.json
│   │   │   │   │   ├── ReactiveExtensionsLogo-2.png
│   │   │   │   │   └── ReactiveExtensionsLogo.png
│   │   │   │   ├── Info-iOS.plist
│   │   │   │   ├── Info-macOS.plist
│   │   │   │   ├── iOS
│   │   │   │   │   ├── AppDelegate.swift
│   │   │   │   │   ├── LaunchScreen.xib
│   │   │   │   │   ├── Main.storyboard
│   │   │   │   │   ├── RootViewController.swift
│   │   │   │   │   └── UITableView+Extensions.swift
│   │   │   │   ├── Lenses.swift
│   │   │   │   ├── macOS
│   │   │   │   │   ├── AppDelegate.swift
│   │   │   │   │   └── Main.storyboard
│   │   │   │   ├── Observable+Extensions.swift
│   │   │   │   ├── Operators.swift
│   │   │   │   ├── Result.swift
│   │   │   │   ├── RxExample.xcdatamodeld
│   │   │   │   │   └── RxExample.xcdatamodel
│   │   │   │   │   └── contents
│   │   │   │   ├── Services
│   │   │   │   │   ├── ActivityIndicator.swift
│   │   │   │   │   ├── DownloadableImage.swift
│   │   │   │   │   ├── GeolocationService.swift
│   │   │   │   │   ├── HtmlParsing.swift
│   │   │   │   │   ├── ImageService.swift
│   │   │   │   │   ├── PseudoRandomGenerator.swift
│   │   │   │   │   ├── Randomizer.swift
│   │   │   │   │   ├── ReachabilityService.swift
│   │   │   │   │   ├── Reachability.swift
│   │   │   │   │   ├── UIImage+Extensions.swift
│   │   │   │   │   ├── UIImageView+DownloadableImage.swift
│   │   │   │   │   └── Wireframe.swift
│   │   │   │   ├── String+URL.swift
│   │   │   │   ├── Version.swift
│   │   │   │   └── ViewController.swift
│   │   │   ├── RxExample-iOSTests
│   │   │   │   ├── CLLocationManager+RxTests.swift
│   │   │   │   ├── Info.plist
│   │   │   │   ├── Mocks
│   │   │   │   │   ├── MockGitHubAPI.swift
│   │   │   │   │   ├── MockWireframe.swift
│   │   │   │   │   ├── NotImplementedStubs.swift
│   │   │   │   │   └── ValidationResult+Equatable.swift
│   │   │   │   ├── RxExample_iOSTests.swift
│   │   │   │   ├── RxTest.swift
│   │   │   │   ├── TestScheduler+MarbleTests.swift
│   │   │   │   └── UIImagePickerController+RxTests.swift
│   │   │   ├── RxExample-iOSUITests
│   │   │   │   ├── FlowTests.swift
│   │   │   │   └── Info.plist
│   │   │   ├── RxExample-macOSUITests
│   │   │   │   ├── Info.plist
│   │   │   │   └── RxExample_macOSUITests.swift
│   │   │   └── RxExample.xcodeproj
│   │   │   ├── project.pbxproj
│   │   │   ├── project.xcworkspace
│   │   │   │   └── contents.xcworkspacedata
│   │   │   └── xcshareddata
│   │   │   └── xcschemes
│   │   │   ├── RxExample-iOSTests.xcscheme
│   │   │   ├── RxExample-iOSUITests.xcscheme
│   │   │   ├── RxExample-iOS.xcscheme
│   │   │   ├── RxExample-macOSUITests.xcscheme
│   │   │   └── RxExample-macOS.xcscheme
│   │   ├── Rx.playground
│   │   │   ├── contents.xcplayground
│   │   │   ├── Pages
│   │   │   │   ├── Combining_Operators.xcplaygroundpage
│   │   │   │   │   └── Contents.swift
│   │   │   │   ├── Connectable_Operators.xcplaygroundpage
│   │   │   │   │   └── Contents.swift
│   │   │   │   ├── Creating_and_Subscribing_to_Observables.xcplaygroundpage
│   │   │   │   │   └── Contents.swift
│   │   │   │   ├── Debugging_Operators.xcplaygroundpage
│   │   │   │   │   └── Contents.swift
│   │   │   │   ├── Enable_RxSwift.Resources.total.xcplaygroundpage
│   │   │   │   │   └── Contents.swift
│   │   │   │   ├── Error_Handling_Operators.xcplaygroundpage
│   │   │   │   │   └── Contents.swift
│   │   │   │   ├── Filtering_and_Conditional_Operators.xcplaygroundpage
│   │   │   │   │   └── Contents.swift
│   │   │   │   ├── Introduction.xcplaygroundpage
│   │   │   │   │   └── Contents.swift
│   │   │   │   ├── Mathematical_and_Aggregate_Operators.xcplaygroundpage
│   │   │   │   │   └── Contents.swift
│   │   │   │   ├── Table_of_Contents.xcplaygroundpage
│   │   │   │   │   └── Contents.swift
│   │   │   │   ├── Transforming_Operators.xcplaygroundpage
│   │   │   │   │   └── Contents.swift
│   │   │   │   ├── TryYourself.xcplaygroundpage
│   │   │   │   │   └── Contents.swift
│   │   │   │   └── Working_with_Subjects.xcplaygroundpage
│   │   │   │   └── Contents.swift
│   │   │   ├── Sources
│   │   │   │   └── SupportCode.swift
│   │   │   └── SupportCode.remap
│   │   ├── RxSwift
│   │   │   ├── AnyObserver.swift
│   │   │   ├── Cancelable.swift
│   │   │   ├── Concurrency
│   │   │   │   ├── AsyncLock.swift
│   │   │   │   ├── LockOwnerType.swift
│   │   │   │   ├── Lock.swift
│   │   │   │   ├── SynchronizedDisposeType.swift
│   │   │   │   ├── SynchronizedOnType.swift
│   │   │   │   └── SynchronizedUnsubscribeType.swift
│   │   │   ├── ConnectableObservableType.swift
│   │   │   ├── Deprecated.swift
│   │   │   ├── Disposables
│   │   │   │   ├── AnonymousDisposable.swift
│   │   │   │   ├── BinaryDisposable.swift
│   │   │   │   ├── BooleanDisposable.swift
│   │   │   │   ├── CompositeDisposable.swift
│   │   │   │   ├── Disposables.swift
│   │   │   │   ├── DisposeBag.swift
│   │   │   │   ├── DisposeBase.swift
│   │   │   │   ├── NopDisposable.swift
│   │   │   │   ├── RefCountDisposable.swift
│   │   │   │   ├── ScheduledDisposable.swift
│   │   │   │   ├── SerialDisposable.swift
│   │   │   │   ├── SingleAssignmentDisposable.swift
│   │   │   │   └── SubscriptionDisposable.swift
│   │   │   ├── Disposable.swift
│   │   │   ├── Errors.swift
│   │   │   ├── Event.swift
│   │   │   ├── Extensions
│   │   │   │   ├── Bag+Rx.swift
│   │   │   │   └── String+Rx.swift
│   │   │   ├── GroupedObservable.swift
│   │   │   ├── ImmediateSchedulerType.swift
│   │   │   ├── Info.plist
│   │   │   ├── ObservableConvertibleType.swift
│   │   │   ├── Observables
│   │   │   │   ├── AddRef.swift
│   │   │   │   ├── Amb.swift
│   │   │   │   ├── AsMaybe.swift
│   │   │   │   ├── AsSingle.swift
│   │   │   │   ├── Buffer.swift
│   │   │   │   ├── Catch.swift
│   │   │   │   ├── CombineLatest+arity.swift
│   │   │   │   ├── CombineLatest+arity.tt
│   │   │   │   ├── CombineLatest+Collection.swift
│   │   │   │   ├── CombineLatest.swift
│   │   │   │   ├── Concat.swift
│   │   │   │   ├── Create.swift
│   │   │   │   ├── Debounce.swift
│   │   │   │   ├── Debug.swift
│   │   │   │   ├── DefaultIfEmpty.swift
│   │   │   │   ├── Deferred.swift
│   │   │   │   ├── DelaySubscription.swift
│   │   │   │   ├── Delay.swift
│   │   │   │   ├── Dematerialize.swift
│   │   │   │   ├── DistinctUntilChanged.swift
│   │   │   │   ├── Do.swift
│   │   │   │   ├── ElementAt.swift
│   │   │   │   ├── Empty.swift
│   │   │   │   ├── Enumerated.swift
│   │   │   │   ├── Error.swift
│   │   │   │   ├── Filter.swift
│   │   │   │   ├── First.swift
│   │   │   │   ├── Generate.swift
│   │   │   │   ├── GroupBy.swift
│   │   │   │   ├── Just.swift
│   │   │   │   ├── Map.swift
│   │   │   │   ├── Materialize.swift
│   │   │   │   ├── Merge.swift
│   │   │   │   ├── Multicast.swift
│   │   │   │   ├── Never.swift
│   │   │   │   ├── ObserveOn.swift
│   │   │   │   ├── Optional.swift
│   │   │   │   ├── Producer.swift
│   │   │   │   ├── Range.swift
│   │   │   │   ├── Reduce.swift
│   │   │   │   ├── Repeat.swift
│   │   │   │   ├── RetryWhen.swift
│   │   │   │   ├── Sample.swift
│   │   │   │   ├── Scan.swift
│   │   │   │   ├── Sequence.swift
│   │   │   │   ├── ShareReplayScope.swift
│   │   │   │   ├── SingleAsync.swift
│   │   │   │   ├── Sink.swift
│   │   │   │   ├── Skip.swift
│   │   │   │   ├── SkipUntil.swift
│   │   │   │   ├── SkipWhile.swift
│   │   │   │   ├── StartWith.swift
│   │   │   │   ├── SubscribeOn.swift
│   │   │   │   ├── SwitchIfEmpty.swift
│   │   │   │   ├── Switch.swift
│   │   │   │   ├── TakeLast.swift
│   │   │   │   ├── Take.swift
│   │   │   │   ├── TakeUntil.swift
│   │   │   │   ├── TakeWhile.swift
│   │   │   │   ├── Throttle.swift
│   │   │   │   ├── Timeout.swift
│   │   │   │   ├── Timer.swift
│   │   │   │   ├── ToArray.swift
│   │   │   │   ├── Using.swift
│   │   │   │   ├── Window.swift
│   │   │   │   ├── WithLatestFrom.swift
│   │   │   │   ├── Zip+arity.swift
│   │   │   │   ├── Zip+arity.tt
│   │   │   │   ├── Zip+Collection.swift
│   │   │   │   └── Zip.swift
│   │   │   ├── Observable.swift
│   │   │   ├── ObservableType+Extensions.swift
│   │   │   ├── ObservableType.swift
│   │   │   ├── Observers
│   │   │   │   ├── AnonymousObserver.swift
│   │   │   │   ├── ObserverBase.swift
│   │   │   │   └── TailRecursiveSink.swift
│   │   │   ├── ObserverType.swift
│   │   │   ├── Platform
│   │   │   │   ├── DataStructures
│   │   │   │   │   ├── Bag.swift
│   │   │   │   │   ├── InfiniteSequence.swift
│   │   │   │   │   ├── PriorityQueue.swift
│   │   │   │   │   └── Queue.swift
│   │   │   │   ├── DeprecationWarner.swift
│   │   │   │   ├── DispatchQueue+Extensions.swift
│   │   │   │   ├── Platform.Darwin.swift
│   │   │   │   ├── Platform.Linux.swift
│   │   │   │   └── RecursiveLock.swift
│   │   │   ├── Reactive.swift
│   │   │   ├── RxMutableBox.swift
│   │   │   ├── Rx.swift
│   │   │   ├── Schedulers
│   │   │   │   ├── ConcurrentDispatchQueueScheduler.swift
│   │   │   │   ├── ConcurrentMainScheduler.swift
│   │   │   │   ├── CurrentThreadScheduler.swift
│   │   │   │   ├── HistoricalScheduler.swift
│   │   │   │   ├── HistoricalSchedulerTimeConverter.swift
│   │   │   │   ├── Internal
│   │   │   │   │   ├── DispatchQueueConfiguration.swift
│   │   │   │   │   ├── InvocableScheduledItem.swift
│   │   │   │   │   ├── InvocableType.swift
│   │   │   │   │   ├── ScheduledItem.swift
│   │   │   │   │   └── ScheduledItemType.swift
│   │   │   │   ├── MainScheduler.swift
│   │   │   │   ├── OperationQueueScheduler.swift
│   │   │   │   ├── RecursiveScheduler.swift
│   │   │   │   ├── SchedulerServices+Emulation.swift
│   │   │   │   ├── SerialDispatchQueueScheduler.swift
│   │   │   │   ├── VirtualTimeConverterType.swift
│   │   │   │   └── VirtualTimeScheduler.swift
│   │   │   ├── SchedulerType.swift
│   │   │   ├── Subjects
│   │   │   │   ├── AsyncSubject.swift
│   │   │   │   ├── BehaviorSubject.swift
│   │   │   │   ├── PublishSubject.swift
│   │   │   │   ├── ReplaySubject.swift
│   │   │   │   └── SubjectType.swift
│   │   │   ├── SwiftSupport
│   │   │   │   └── SwiftSupport.swift
│   │   │   └── Traits
│   │   │   ├── Completable+AndThen.swift
│   │   │   ├── Completable.swift
│   │   │   ├── Maybe.swift
│   │   │   ├── ObservableType+PrimitiveSequence.swift
│   │   │   ├── PrimitiveSequence.swift
│   │   │   ├── PrimitiveSequence+Zip+arity.swift
│   │   │   ├── PrimitiveSequence+Zip+arity.tt
│   │   │   └── Single.swift
│   │   ├── RxSwift.podspec
│   │   ├── RxTest
│   │   │   ├── Any+Equatable.swift
│   │   │   ├── ColdObservable.swift
│   │   │   ├── Deprecated.swift
│   │   │   ├── Event+Equatable.swift
│   │   │   ├── HotObservable.swift
│   │   │   ├── Info.plist
│   │   │   ├── Platform
│   │   │   │   ├── DataStructures
│   │   │   │   │   └── Bag.swift
│   │   │   │   └── DeprecationWarner.swift
│   │   │   ├── Recorded+Event.swift
│   │   │   ├── Recorded.swift
│   │   │   ├── RxTest.swift
│   │   │   ├── Schedulers
│   │   │   │   ├── TestScheduler.swift
│   │   │   │   └── TestSchedulerVirtualTimeConverter.swift
│   │   │   ├── Subscription.swift
│   │   │   ├── TestableObservable.swift
│   │   │   ├── TestableObserver.swift
│   │   │   └── XCTest+Rx.swift
│   │   ├── RxTest.podspec
│   │   ├── Rx.xcodeproj
│   │   │   ├── project.pbxproj
│   │   │   ├── project.xcworkspace
│   │   │   │   └── contents.xcworkspacedata
│   │   │   └── xcshareddata
│   │   │   ├── xcbaselines
│   │   │   │   └── C8E8BA541E2C181A00A4AC2C.xcbaseline
│   │   │   │   ├── 91761072-433E-43DC-A058-545FB88C59EC.plist
│   │   │   │   ├── 996C445D-86F0-429E-92A9-44EBD3769290.plist
│   │   │   │   ├── B553A9F9-C6F1-4009-9BDC-AC42F9D31E38.plist
│   │   │   │   └── Info.plist
│   │   │   └── xcschemes
│   │   │   ├── RxBlocking-iOS.xcscheme
│   │   │   ├── RxBlocking-macOS.xcscheme
│   │   │   ├── RxBlocking-tvOS.xcscheme
│   │   │   ├── RxBlocking-watchOS.xcscheme
│   │   │   ├── RxCocoa-iOS.xcscheme
│   │   │   ├── RxCocoa-macOS.xcscheme
│   │   │   ├── RxCocoa-tvOS.xcscheme
│   │   │   ├── RxCocoa-watchOS.xcscheme
│   │   │   ├── RxSwift-iOS.xcscheme
│   │   │   ├── RxSwift-macOS.xcscheme
│   │   │   ├── RxSwift-tvOS.xcscheme
│   │   │   ├── RxSwift-watchOS.xcscheme
│   │   │   ├── RxTests-iOS.xcscheme
│   │   │   ├── RxTests-macOS.xcscheme
│   │   │   └── RxTests-tvOS.xcscheme
│   │   ├── Rx.xcworkspace
│   │   │   ├── contents.xcworkspacedata
│   │   │   └── xcshareddata
│   │   │   └── IDEWorkspaceChecks.plist
│   │   ├── scripts
│   │   │   ├── all-tests.sh
│   │   │   ├── common.sh
│   │   │   ├── package-spm.swift
│   │   │   ├── profile-build-times.sh
│   │   │   ├── test-linux.sh
│   │   │   ├── update-jazzy-config.rb
│   │   │   ├── update-jazzy-docs.sh
│   │   │   ├── validate-headers.swift
│   │   │   ├── validate-markdown.sh
│   │   │   ├── validate-playgrounds.sh
│   │   │   └── validate-podspec.sh
│   │   ├── Sources
│   │   │   ├── AllTestz
│   │   │   │   ├── Anomalies.swift
│   │   │   │   ├── AssumptionsTest.swift
│   │   │   │   ├── AsyncSubjectTests.swift
│   │   │   │   ├── BackgroundThreadPrimitiveHotObservable.swift
│   │   │   │   ├── Bag.swift
│   │   │   │   ├── BehaviorSubjectTest.swift
│   │   │   │   ├── Completable+AndThen.swift
│   │   │   │   ├── CompletableTest.swift
│   │   │   │   ├── CurrentThreadSchedulerTest.swift
│   │   │   │   ├── DeprecationWarner.swift
│   │   │   │   ├── DispatchQueue+Extensions.swift
│   │   │   │   ├── DisposableTest.swift
│   │   │   │   ├── DisposeBagTest.swift
│   │   │   │   ├── Driver+Test.swift
│   │   │   │   ├── ElementIndexPair.swift
│   │   │   │   ├── EquatableArray.swift
│   │   │   │   ├── Event+Test.swift
│   │   │   │   ├── HistoricalSchedulerTest.swift
│   │   │   │   ├── InfiniteSequence.swift
│   │   │   │   ├── MainSchedulerTests.swift
│   │   │   │   ├── main.swift
│   │   │   │   ├── MainThreadPrimitiveHotObservable.swift
│   │   │   │   ├── MaybeTest.swift
│   │   │   │   ├── MockDisposable.swift
│   │   │   │   ├── MySubject.swift
│   │   │   │   ├── NotificationCenterTests.swift
│   │   │   │   ├── Observable+AmbTests.swift
│   │   │   │   ├── Observable+BlockingTest.swift
│   │   │   │   ├── Observable+BufferTests.swift
│   │   │   │   ├── Observable+CatchTests.swift
│   │   │   │   ├── Observable+CombineLatestTests+arity.swift
│   │   │   │   ├── Observable+CombineLatestTests.swift
│   │   │   │   ├── Observable+ConcatTests.swift
│   │   │   │   ├── Observable+DebugTests.swift
│   │   │   │   ├── Observable+DefaultIfEmpty.swift
│   │   │   │   ├── Observable+DelaySubscriptionTests.swift
│   │   │   │   ├── Observable+DelayTests.swift
│   │   │   │   ├── Observable+DematerializeTests.swift
│   │   │   │   ├── Observable+DistinctUntilChangedTests.swift
│   │   │   │   ├── Observable+DoOnTests.swift
│   │   │   │   ├── Observable+ElementAtTests.swift
│   │   │   │   ├── Observable+EnumeratedTests.swift
│   │   │   │   ├── Observable+Extensions.swift
│   │   │   │   ├── Observable.Extensions.swift
│   │   │   │   ├── Observable+FilterTests.swift
│   │   │   │   ├── Observable+GenerateTests.swift
│   │   │   │   ├── Observable+GroupByTests.swift
│   │   │   │   ├── Observable+JustTests.swift
│   │   │   │   ├── Observable+MapTests.swift
│   │   │   │   ├── Observable+MaterializeTests.swift
│   │   │   │   ├── Observable+MergeTests.swift
│   │   │   │   ├── Observable+MulticastTests.swift
│   │   │   │   ├── Observable+ObserveOnTests.swift
│   │   │   │   ├── Observable+OptionalTests.swift
│   │   │   │   ├── Observable+PrimitiveSequenceTest.swift
│   │   │   │   ├── Observable+RangeTests.swift
│   │   │   │   ├── Observable+ReduceTests.swift
│   │   │   │   ├── Observable+RepeatTests.swift
│   │   │   │   ├── Observable+RetryWhenTests.swift
│   │   │   │   ├── Observable+SampleTests.swift
│   │   │   │   ├── Observable+ScanTests.swift
│   │   │   │   ├── Observable+SequenceTests.swift
│   │   │   │   ├── Observable+ShareReplayScopeTests.swift
│   │   │   │   ├── Observable+SingleTests.swift
│   │   │   │   ├── Observable+SkipTests.swift
│   │   │   │   ├── Observable+SkipUntilTests.swift
│   │   │   │   ├── Observable+SkipWhileTests.swift
│   │   │   │   ├── Observable+SubscribeOnTests.swift
│   │   │   │   ├── Observable+SubscriptionTest.swift
│   │   │   │   ├── Observable+SwitchIfEmptyTests.swift
│   │   │   │   ├── Observable+SwitchTests.swift
│   │   │   │   ├── Observable+TakeLastTests.swift
│   │   │   │   ├── Observable+TakeTests.swift
│   │   │   │   ├── Observable+TakeUntilTests.swift
│   │   │   │   ├── Observable+TakeWhileTests.swift
│   │   │   │   ├── Observable+Tests.swift
│   │   │   │   ├── Observable+ThrottleTests.swift
│   │   │   │   ├── Observable+TimeoutTests.swift
│   │   │   │   ├── Observable+TimerTests.swift
│   │   │   │   ├── Observable+ToArrayTests.swift
│   │   │   │   ├── ObservableType+SubscriptionTests.swift
│   │   │   │   ├── Observable+UsingTests.swift
│   │   │   │   ├── Observable+WindowTests.swift
│   │   │   │   ├── Observable+WithLatestFromTests.swift
│   │   │   │   ├── Observable+ZipTests+arity.swift
│   │   │   │   ├── Observable+ZipTests.swift
│   │   │   │   ├── ObserverTests.swift
│   │   │   │   ├── Platform.Darwin.swift
│   │   │   │   ├── Platform.Linux.swift
│   │   │   │   ├── PrimitiveHotObservable.swift
│   │   │   │   ├── PrimitiveMockObserver.swift
│   │   │   │   ├── PrimitiveSequenceTest+zip+arity.swift
│   │   │   │   ├── PriorityQueue.swift
│   │   │   │   ├── PublishSubjectTest.swift
│   │   │   │   ├── Queue.swift
│   │   │   │   ├── Reactive+Tests.swift
│   │   │   │   ├── Recorded+Timeless.swift
│   │   │   │   ├── RecursiveLock.swift
│   │   │   │   ├── RecursiveLockTest.swift
│   │   │   │   ├── ReplaySubjectTest.swift
│   │   │   │   ├── RxMutableBox.swift
│   │   │   │   ├── RxTest.swift
│   │   │   │   ├── SchedulerTests.swift
│   │   │   │   ├── SharedSequence+Extensions.swift
│   │   │   │   ├── SharedSequence+OperatorTest.swift
│   │   │   │   ├── SharedSequence+Test.swift
│   │   │   │   ├── SharingSchedulerTests.swift
│   │   │   │   ├── Signal+Test.swift
│   │   │   │   ├── SingleTest.swift
│   │   │   │   ├── TestConnectableObservable.swift
│   │   │   │   ├── TestErrors.swift
│   │   │   │   ├── TestVirtualScheduler.swift
│   │   │   │   ├── VariableTest.swift
│   │   │   │   ├── VirtualSchedulerTest.swift
│   │   │   │   └── XCTest+AllTests.swift
│   │   │   ├── RxBlocking
│   │   │   │   ├── BlockingObservable+Operators.swift
│   │   │   │   ├── BlockingObservable.swift
│   │   │   │   ├── ObservableConvertibleType+Blocking.swift
│   │   │   │   ├── Platform.Darwin.swift
│   │   │   │   ├── Platform.Linux.swift
│   │   │   │   ├── RecursiveLock.swift
│   │   │   │   ├── Resources.swift
│   │   │   │   └── RunLoopLock.swift
│   │   │   ├── RxCocoa
│   │   │   │   ├── BehaviorRelay+Driver.swift
│   │   │   │   ├── BehaviorRelay.swift
│   │   │   │   ├── Binder.swift
│   │   │   │   ├── ControlEvent+Driver.swift
│   │   │   │   ├── ControlEvent+Signal.swift
│   │   │   │   ├── ControlEvent.swift
│   │   │   │   ├── ControlProperty+Driver.swift
│   │   │   │   ├── ControlProperty.swift
│   │   │   │   ├── ControlTarget.swift
│   │   │   │   ├── DelegateProxy.swift
│   │   │   │   ├── DelegateProxyType.swift
│   │   │   │   ├── Deprecated.swift
│   │   │   │   ├── DispatchQueue+Extensions.swift
│   │   │   │   ├── Driver+Subscription.swift
│   │   │   │   ├── Driver.swift
│   │   │   │   ├── ItemEvents.swift
│   │   │   │   ├── KeyPathBinder.swift
│   │   │   │   ├── KVORepresentable+CoreGraphics.swift
│   │   │   │   ├── KVORepresentable.swift
│   │   │   │   ├── KVORepresentable+Swift.swift
│   │   │   │   ├── Logging.swift
│   │   │   │   ├── NotificationCenter+Rx.swift
│   │   │   │   ├── NSButton+Rx.swift
│   │   │   │   ├── NSControl+Rx.swift
│   │   │   │   ├── NSImageView+Rx.swift
│   │   │   │   ├── NSLayoutConstraint+Rx.swift
│   │   │   │   ├── NSObject+Rx+KVORepresentable.swift
│   │   │   │   ├── NSObject+Rx+RawRepresentable.swift
│   │   │   │   ├── NSObject+Rx.swift
│   │   │   │   ├── NSSlider+Rx.swift
│   │   │   │   ├── NSTextField+Rx.swift
│   │   │   │   ├── NSTextStorage+Rx.swift
│   │   │   │   ├── NSView+Rx.swift
│   │   │   │   ├── Observable+Bind.swift
│   │   │   │   ├── ObservableConvertibleType+Driver.swift
│   │   │   │   ├── ObservableConvertibleType+SharedSequence.swift
│   │   │   │   ├── ObservableConvertibleType+Signal.swift
│   │   │   │   ├── PublishRelay+Signal.swift
│   │   │   │   ├── PublishRelay.swift
│   │   │   │   ├── RxCocoaObjCRuntimeError+Extensions.swift
│   │   │   │   ├── RxCocoa.swift
│   │   │   │   ├── RxCollectionViewDataSourcePrefetchingProxy.swift
│   │   │   │   ├── RxCollectionViewDataSourceProxy.swift
│   │   │   │   ├── RxCollectionViewDataSourceType.swift
│   │   │   │   ├── RxCollectionViewDelegateProxy.swift
│   │   │   │   ├── RxCollectionViewReactiveArrayDataSource.swift
│   │   │   │   ├── RxNavigationControllerDelegateProxy.swift
│   │   │   │   ├── RxPickerViewAdapter.swift
│   │   │   │   ├── RxPickerViewDataSourceProxy.swift
│   │   │   │   ├── RxPickerViewDataSourceType.swift
│   │   │   │   ├── RxPickerViewDelegateProxy.swift
│   │   │   │   ├── RxScrollViewDelegateProxy.swift
│   │   │   │   ├── RxSearchBarDelegateProxy.swift
│   │   │   │   ├── RxSearchControllerDelegateProxy.swift
│   │   │   │   ├── RxTabBarControllerDelegateProxy.swift
│   │   │   │   ├── RxTabBarDelegateProxy.swift
│   │   │   │   ├── RxTableViewDataSourcePrefetchingProxy.swift
│   │   │   │   ├── RxTableViewDataSourceProxy.swift
│   │   │   │   ├── RxTableViewDataSourceType.swift
│   │   │   │   ├── RxTableViewDelegateProxy.swift
│   │   │   │   ├── RxTableViewReactiveArrayDataSource.swift
│   │   │   │   ├── RxTarget.swift
│   │   │   │   ├── RxTextStorageDelegateProxy.swift
│   │   │   │   ├── RxTextViewDelegateProxy.swift
│   │   │   │   ├── RxWebViewDelegateProxy.swift
│   │   │   │   ├── SchedulerType+SharedSequence.swift
│   │   │   │   ├── SectionedViewDataSourceType.swift
│   │   │   │   ├── SharedSequence+Operators+arity.swift
│   │   │   │   ├── SharedSequence+Operators.swift
│   │   │   │   ├── SharedSequence.swift
│   │   │   │   ├── Signal+Subscription.swift
│   │   │   │   ├── Signal.swift
│   │   │   │   ├── TextInput.swift
│   │   │   │   ├── UIActivityIndicatorView+Rx.swift
│   │   │   │   ├── UIAlertAction+Rx.swift
│   │   │   │   ├── UIApplication+Rx.swift
│   │   │   │   ├── UIBarButtonItem+Rx.swift
│   │   │   │   ├── UIButton+Rx.swift
│   │   │   │   ├── UICollectionView+Rx.swift
│   │   │   │   ├── UIControl+Rx.swift
│   │   │   │   ├── UIDatePicker+Rx.swift
│   │   │   │   ├── UIGestureRecognizer+Rx.swift
│   │   │   │   ├── UIImageView+Rx.swift
│   │   │   │   ├── UILabel+Rx.swift
│   │   │   │   ├── UINavigationController+Rx.swift
│   │   │   │   ├── UINavigationItem+Rx.swift
│   │   │   │   ├── UIPageControl+Rx.swift
│   │   │   │   ├── UIPickerView+Rx.swift
│   │   │   │   ├── UIProgressView+Rx.swift
│   │   │   │   ├── UIRefreshControl+Rx.swift
│   │   │   │   ├── UIScrollView+Rx.swift
│   │   │   │   ├── UISearchBar+Rx.swift
│   │   │   │   ├── UISearchController+Rx.swift
│   │   │   │   ├── UISegmentedControl+Rx.swift
│   │   │   │   ├── UISlider+Rx.swift
│   │   │   │   ├── UIStepper+Rx.swift
│   │   │   │   ├── UISwitch+Rx.swift
│   │   │   │   ├── UITabBarController+Rx.swift
│   │   │   │   ├── UITabBarItem+Rx.swift
│   │   │   │   ├── UITabBar+Rx.swift
│   │   │   │   ├── UITableView+Rx.swift
│   │   │   │   ├── UITextField+Rx.swift
│   │   │   │   ├── UITextView+Rx.swift
│   │   │   │   ├── UIViewController+Rx.swift
│   │   │   │   ├── UIView+Rx.swift
│   │   │   │   ├── UIWebView+Rx.swift
│   │   │   │   └── URLSession+Rx.swift
│   │   │   ├── RxCocoaRuntime
│   │   │   │   ├── include
│   │   │   │   │   ├── RxCocoaRuntime.h
│   │   │   │   │   ├── _RXDelegateProxy.h
│   │   │   │   │   ├── _RX.h
│   │   │   │   │   ├── _RXKVOObserver.h
│   │   │   │   │   └── _RXObjCRuntime.h
│   │   │   │   ├── _RXDelegateProxy.m
│   │   │   │   ├── _RXKVOObserver.m
│   │   │   │   ├── _RX.m
│   │   │   │   └── _RXObjCRuntime.m
│   │   │   ├── RxSwift
│   │   │   │   ├── AddRef.swift
│   │   │   │   ├── Amb.swift
│   │   │   │   ├── AnonymousDisposable.swift
│   │   │   │   ├── AnonymousObserver.swift
│   │   │   │   ├── AnyObserver.swift
│   │   │   │   ├── AsMaybe.swift
│   │   │   │   ├── AsSingle.swift
│   │   │   │   ├── AsyncLock.swift
│   │   │   │   ├── AsyncSubject.swift
│   │   │   │   ├── Bag+Rx.swift
│   │   │   │   ├── Bag.swift
│   │   │   │   ├── BehaviorSubject.swift
│   │   │   │   ├── BinaryDisposable.swift
│   │   │   │   ├── BooleanDisposable.swift
│   │   │   │   ├── Buffer.swift
│   │   │   │   ├── Cancelable.swift
│   │   │   │   ├── Catch.swift
│   │   │   │   ├── CombineLatest+arity.swift
│   │   │   │   ├── CombineLatest+Collection.swift
│   │   │   │   ├── CombineLatest.swift
│   │   │   │   ├── Completable+AndThen.swift
│   │   │   │   ├── Completable.swift
│   │   │   │   ├── CompositeDisposable.swift
│   │   │   │   ├── Concat.swift
│   │   │   │   ├── ConcurrentDispatchQueueScheduler.swift
│   │   │   │   ├── ConcurrentMainScheduler.swift
│   │   │   │   ├── ConnectableObservableType.swift
│   │   │   │   ├── Create.swift
│   │   │   │   ├── CurrentThreadScheduler.swift
│   │   │   │   ├── Debounce.swift
│   │   │   │   ├── Debug.swift
│   │   │   │   ├── DefaultIfEmpty.swift
│   │   │   │   ├── Deferred.swift
│   │   │   │   ├── DelaySubscription.swift
│   │   │   │   ├── Delay.swift
│   │   │   │   ├── Dematerialize.swift
│   │   │   │   ├── Deprecated.swift
│   │   │   │   ├── DeprecationWarner.swift
│   │   │   │   ├── DispatchQueueConfiguration.swift
│   │   │   │   ├── DispatchQueue+Extensions.swift
│   │   │   │   ├── Disposables.swift
│   │   │   │   ├── Disposable.swift
│   │   │   │   ├── DisposeBag.swift
│   │   │   │   ├── DisposeBase.swift
│   │   │   │   ├── DistinctUntilChanged.swift
│   │   │   │   ├── Do.swift
│   │   │   │   ├── ElementAt.swift
│   │   │   │   ├── Empty.swift
│   │   │   │   ├── Enumerated.swift
│   │   │   │   ├── Errors.swift
│   │   │   │   ├── Error.swift
│   │   │   │   ├── Event.swift
│   │   │   │   ├── Filter.swift
│   │   │   │   ├── First.swift
│   │   │   │   ├── Generate.swift
│   │   │   │   ├── GroupBy.swift
│   │   │   │   ├── GroupedObservable.swift
│   │   │   │   ├── HistoricalScheduler.swift
│   │   │   │   ├── HistoricalSchedulerTimeConverter.swift
│   │   │   │   ├── ImmediateSchedulerType.swift
│   │   │   │   ├── InfiniteSequence.swift
│   │   │   │   ├── InvocableScheduledItem.swift
│   │   │   │   ├── InvocableType.swift
│   │   │   │   ├── Just.swift
│   │   │   │   ├── LockOwnerType.swift
│   │   │   │   ├── Lock.swift
│   │   │   │   ├── MainScheduler.swift
│   │   │   │   ├── Map.swift
│   │   │   │   ├── Materialize.swift
│   │   │   │   ├── Maybe.swift
│   │   │   │   ├── Merge.swift
│   │   │   │   ├── Multicast.swift
│   │   │   │   ├── Never.swift
│   │   │   │   ├── NopDisposable.swift
│   │   │   │   ├── ObservableConvertibleType.swift
│   │   │   │   ├── Observable.swift
│   │   │   │   ├── ObservableType+Extensions.swift
│   │   │   │   ├── ObservableType+PrimitiveSequence.swift
│   │   │   │   ├── ObservableType.swift
│   │   │   │   ├── ObserveOn.swift
│   │   │   │   ├── ObserverBase.swift
│   │   │   │   ├── ObserverType.swift
│   │   │   │   ├── OperationQueueScheduler.swift
│   │   │   │   ├── Optional.swift
│   │   │   │   ├── Platform.Darwin.swift
│   │   │   │   ├── Platform.Linux.swift
│   │   │   │   ├── PrimitiveSequence.swift
│   │   │   │   ├── PrimitiveSequence+Zip+arity.swift
│   │   │   │   ├── PriorityQueue.swift
│   │   │   │   ├── Producer.swift
│   │   │   │   ├── PublishSubject.swift
│   │   │   │   ├── Queue.swift
│   │   │   │   ├── Range.swift
│   │   │   │   ├── Reactive.swift
│   │   │   │   ├── RecursiveLock.swift
│   │   │   │   ├── RecursiveScheduler.swift
│   │   │   │   ├── Reduce.swift
│   │   │   │   ├── RefCountDisposable.swift
│   │   │   │   ├── Repeat.swift
│   │   │   │   ├── ReplaySubject.swift
│   │   │   │   ├── RetryWhen.swift
│   │   │   │   ├── RxMutableBox.swift
│   │   │   │   ├── Rx.swift
│   │   │   │   ├── Sample.swift
│   │   │   │   ├── Scan.swift
│   │   │   │   ├── ScheduledDisposable.swift
│   │   │   │   ├── ScheduledItem.swift
│   │   │   │   ├── ScheduledItemType.swift
│   │   │   │   ├── SchedulerServices+Emulation.swift
│   │   │   │   ├── SchedulerType.swift
│   │   │   │   ├── Sequence.swift
│   │   │   │   ├── SerialDispatchQueueScheduler.swift
│   │   │   │   ├── SerialDisposable.swift
│   │   │   │   ├── ShareReplayScope.swift
│   │   │   │   ├── SingleAssignmentDisposable.swift
│   │   │   │   ├── SingleAsync.swift
│   │   │   │   ├── Single.swift
│   │   │   │   ├── Sink.swift
│   │   │   │   ├── Skip.swift
│   │   │   │   ├── SkipUntil.swift
│   │   │   │   ├── SkipWhile.swift
│   │   │   │   ├── StartWith.swift
│   │   │   │   ├── String+Rx.swift
│   │   │   │   ├── SubjectType.swift
│   │   │   │   ├── SubscribeOn.swift
│   │   │   │   ├── SubscriptionDisposable.swift
│   │   │   │   ├── SwiftSupport.swift
│   │   │   │   ├── SwitchIfEmpty.swift
│   │   │   │   ├── Switch.swift
│   │   │   │   ├── SynchronizedDisposeType.swift
│   │   │   │   ├── SynchronizedOnType.swift
│   │   │   │   ├── SynchronizedUnsubscribeType.swift
│   │   │   │   ├── TailRecursiveSink.swift
│   │   │   │   ├── TakeLast.swift
│   │   │   │   ├── Take.swift
│   │   │   │   ├── TakeUntil.swift
│   │   │   │   ├── TakeWhile.swift
│   │   │   │   ├── Throttle.swift
│   │   │   │   ├── Timeout.swift
│   │   │   │   ├── Timer.swift
│   │   │   │   ├── ToArray.swift
│   │   │   │   ├── Using.swift
│   │   │   │   ├── VirtualTimeConverterType.swift
│   │   │   │   ├── VirtualTimeScheduler.swift
│   │   │   │   ├── Window.swift
│   │   │   │   ├── WithLatestFrom.swift
│   │   │   │   ├── Zip+arity.swift
│   │   │   │   ├── Zip+Collection.swift
│   │   │   │   └── Zip.swift
│   │   │   └── RxTest
│   │   │   ├── Any+Equatable.swift
│   │   │   ├── Bag.swift
│   │   │   ├── ColdObservable.swift
│   │   │   ├── Deprecated.swift
│   │   │   ├── DeprecationWarner.swift
│   │   │   ├── Event+Equatable.swift
│   │   │   ├── HotObservable.swift
│   │   │   ├── Recorded+Event.swift
│   │   │   ├── Recorded.swift
│   │   │   ├── RxTest.swift
│   │   │   ├── Subscription.swift
│   │   │   ├── TestableObservable.swift
│   │   │   ├── TestableObserver.swift
│   │   │   ├── TestScheduler.swift
│   │   │   ├── TestSchedulerVirtualTimeConverter.swift
│   │   │   └── XCTest+Rx.swift
│   │   └── Tests
│   │   ├── Benchmarks
│   │   │   ├── Benchmarks.swift
│   │   │   └── Info.plist
│   │   ├── Info.plist
│   │   ├── MessageProcessingStage.swift
│   │   ├── Microoptimizations
│   │   │   ├── Info.plist
│   │   │   ├── main.swift
│   │   │   └── PerformanceTools.swift
│   │   ├── Platform
│   │   │   ├── DispatchQueue+Extensions.swift
│   │   │   ├── Platform.Darwin.swift
│   │   │   ├── Platform.Linux.swift
│   │   │   └── RecursiveLock.swift
│   │   ├── Recorded+Timeless.swift
│   │   ├── Resources.swift
│   │   ├── RxBlockingTests
│   │   │   └── Observable+BlockingTest.swift
│   │   ├── RxCocoaTests
│   │   │   ├── Binder+Tests.swift
│   │   │   ├── ControlEventTests.swift
│   │   │   ├── ControlPropertyTests.swift
│   │   │   ├── DelegateProxyTest+Cocoa.swift
│   │   │   ├── DelegateProxyTest.swift
│   │   │   ├── DelegateProxyTest+UIKit.swift
│   │   │   ├── Driver+Test.swift
│   │   │   ├── ExampleTests.swift
│   │   │   ├── KeyPathBinder+RxTests.swift
│   │   │   ├── KVOObservableTests.swift
│   │   │   ├── NotificationCenterTests.swift
│   │   │   ├── NSButton+RxTests.swift
│   │   │   ├── NSControl+RxTests.swift
│   │   │   ├── NSLayoutConstraint+RxTests.swift
│   │   │   ├── NSObject+RxTests.swift
│   │   │   ├── NSSlider+RxTests.swift
│   │   │   ├── NSTextField+RxTests.swift
│   │   │   ├── NSView+RxTests.swift
│   │   │   ├── Observable+BindTests.swift
│   │   │   ├── ObservableConvertibleType+SharedSequence.swift
│   │   │   ├── RuntimeStateSnapshot.swift
│   │   │   ├── RxObjCRuntimeState.swift
│   │   │   ├── RXObjCRuntime+Testing.h
│   │   │   ├── RXObjCRuntime+Testing.m
│   │   │   ├── RxTest+Controls.swift
│   │   │   ├── RxTest-iOS-Bridging-Header.h
│   │   │   ├── RxTest-macOS-Bridging-Header.h
│   │   │   ├── RxTest-tvOS-Bridging-Header.h
│   │   │   ├── SentMessageTest.swift
│   │   │   ├── SharedSequence+Extensions.swift
│   │   │   ├── SharedSequence+OperatorTest.swift
│   │   │   ├── SharedSequence+Test.swift
│   │   │   ├── Signal+Test.swift
│   │   │   ├── TestImplementations
│   │   │   │   └── SectionedViewDataSourceMock.swift
│   │   │   ├── UIActivityIndicatorView+RxTests.swift
│   │   │   ├── UIAlertAction+RxTests.swift
│   │   │   ├── UIBarButtonItem+RxTests.swift
│   │   │   ├── UIButton+RxTests.swift
│   │   │   ├── UICollectionView+RxTests.swift
│   │   │   ├── UIControl+RxTests.swift
│   │   │   ├── UIDatePicker+RxTests.swift
│   │   │   ├── UIGestureRecognizer+RxTests.swift
│   │   │   ├── UILabel+RxTests.swift
│   │   │   ├── UINavigationController+RxTests.swift
│   │   │   ├── UINavigationItem+RxTests.swift.swift
│   │   │   ├── UIPageControl+RxTest.swift
│   │   │   ├── UIPickerView+RxTests.swift
│   │   │   ├── UIProgressView+RxTests.swift
│   │   │   ├── UIRefreshControl+RxTests.swift
│   │   │   ├── UIScrollView+RxTests.swift
│   │   │   ├── UISearchBar+RxTests.swift
│   │   │   ├── UISearchController+RxTests.swift
│   │   │   ├── UISegmentedControl+RxTests.swift
│   │   │   ├── UISlider+RxTests.swift
│   │   │   ├── UIStepper+RxTests.swift
│   │   │   ├── UISwitch+RxTests.swift
│   │   │   ├── UITabBarController+RxTests.swift
│   │   │   ├── UITabBarItem+RxTests.swift
│   │   │   ├── UITabBar+RxTests.swift
│   │   │   ├── UITableView+RxTests.swift
│   │   │   ├── UITextField+RxTests.swift
│   │   │   ├── UITextView+RxTests.swift
│   │   │   ├── UIViewController+RxTests.swift
│   │   │   ├── UIView+RxTests.swift
│   │   │   └── UIWebView+RxTests.swift
│   │   ├── RxSwiftTests
│   │   │   ├── Anomalies.swift
│   │   │   ├── AssumptionsTest.swift
│   │   │   ├── AsyncSubjectTests.swift
│   │   │   ├── BagTest.swift
│   │   │   ├── BehaviorSubjectTest.swift
│   │   │   ├── Completable+AndThen.swift
│   │   │   ├── CompletableTest.swift
│   │   │   ├── CurrentThreadSchedulerTest.swift
│   │   │   ├── DisposableTest.swift
│   │   │   ├── DisposeBagTest.swift
│   │   │   ├── Event+Test.swift
│   │   │   ├── HistoricalSchedulerTest.swift
│   │   │   ├── MainSchedulerTests.swift
│   │   │   ├── MaybeTest.swift
│   │   │   ├── Observable+AmbTests.swift
│   │   │   ├── Observable+BufferTests.swift
│   │   │   ├── Observable+CatchTests.swift
│   │   │   ├── Observable+CombineLatestTests+arity.swift
│   │   │   ├── Observable+CombineLatestTests+arity.tt
│   │   │   ├── Observable+CombineLatestTests.swift
│   │   │   ├── Observable+ConcatTests.swift
│   │   │   ├── Observable+DebugTests.swift
│   │   │   ├── Observable+DefaultIfEmpty.swift
│   │   │   ├── Observable+DelaySubscriptionTests.swift
│   │   │   ├── Observable+DelayTests.swift
│   │   │   ├── Observable+DematerializeTests.swift
│   │   │   ├── Observable+DistinctUntilChangedTests.swift
│   │   │   ├── Observable+DoOnTests.swift
│   │   │   ├── Observable+ElementAtTests.swift
│   │   │   ├── Observable+EnumeratedTests.swift
│   │   │   ├── Observable+FilterTests.swift
│   │   │   ├── Observable+GenerateTests.swift
│   │   │   ├── Observable+GroupByTests.swift
│   │   │   ├── Observable+JustTests.swift
│   │   │   ├── Observable+MapTests.swift
│   │   │   ├── Observable+MaterializeTests.swift
│   │   │   ├── Observable+MergeTests.swift
│   │   │   ├── Observable+MulticastTests.swift
│   │   │   ├── Observable+ObserveOnTests.swift
│   │   │   ├── Observable+OptionalTests.swift
│   │   │   ├── Observable+PrimitiveSequenceTest.swift
│   │   │   ├── Observable+RangeTests.swift
│   │   │   ├── Observable+ReduceTests.swift
│   │   │   ├── Observable+RepeatTests.swift
│   │   │   ├── Observable+RetryWhenTests.swift
│   │   │   ├── Observable+SampleTests.swift
│   │   │   ├── Observable+ScanTests.swift
│   │   │   ├── Observable+SequenceTests.swift
│   │   │   ├── Observable+ShareReplayScopeTests.swift
│   │   │   ├── Observable+SingleTests.swift
│   │   │   ├── Observable+SkipTests.swift
│   │   │   ├── Observable+SkipUntilTests.swift
│   │   │   ├── Observable+SkipWhileTests.swift
│   │   │   ├── Observable+SubscribeOnTests.swift
│   │   │   ├── Observable+SubscriptionTest.swift
│   │   │   ├── Observable+SwitchIfEmptyTests.swift
│   │   │   ├── Observable+SwitchTests.swift
│   │   │   ├── Observable+TakeLastTests.swift
│   │   │   ├── Observable+TakeTests.swift
│   │   │   ├── Observable+TakeUntilTests.swift
│   │   │   ├── Observable+TakeWhileTests.swift
│   │   │   ├── Observable+Tests.swift
│   │   │   ├── Observable+ThrottleTests.swift
│   │   │   ├── Observable+TimeoutTests.swift
│   │   │   ├── Observable+TimerTests.swift
│   │   │   ├── Observable+ToArrayTests.swift
│   │   │   ├── ObservableType+SubscriptionTests.swift
│   │   │   ├── Observable+UsingTests.swift
│   │   │   ├── Observable+WindowTests.swift
│   │   │   ├── Observable+WithLatestFromTests.swift
│   │   │   ├── Observable+ZipTests+arity.swift
│   │   │   ├── Observable+ZipTests+arity.tt
│   │   │   ├── Observable+ZipTests.swift
│   │   │   ├── ObserverTests.swift
│   │   │   ├── PrimitiveSequenceTest+zip+arity.swift
│   │   │   ├── PrimitiveSequenceTest+zip+arity.tt
│   │   │   ├── PublishSubjectTest.swift
│   │   │   ├── QueueTests.swift
│   │   │   ├── Reactive+Tests.swift
│   │   │   ├── RecursiveLockTest.swift
│   │   │   ├── ReplaySubjectTest.swift
│   │   │   ├── SchedulerTests.swift
│   │   │   ├── SharingSchedulerTests.swift
│   │   │   ├── SingleTest.swift
│   │   │   ├── SubjectConcurrencyTest.swift
│   │   │   ├── TestImplementations
│   │   │   │   ├── ElementIndexPair.swift
│   │   │   │   ├── EquatableArray.swift
│   │   │   │   ├── Mocks
│   │   │   │   │   ├── BackgroundThreadPrimitiveHotObservable.swift
│   │   │   │   │   ├── MainThreadPrimitiveHotObservable.swift
│   │   │   │   │   ├── MockDisposable.swift
│   │   │   │   │   ├── MySubject.swift
│   │   │   │   │   ├── Observable.Extensions.swift
│   │   │   │   │   ├── PrimitiveHotObservable.swift
│   │   │   │   │   ├── PrimitiveMockObserver.swift
│   │   │   │   │   └── TestConnectableObservable.swift
│   │   │   │   ├── Observable+Extensions.swift
│   │   │   │   └── TestVirtualScheduler.swift
│   │   │   ├── VariableTest.swift
│   │   │   └── VirtualSchedulerTest.swift
│   │   ├── RxTest.swift
│   │   ├── TestErrors.swift
│   │   └── XCTest+AllTests.swift
│   ├── Koober
│   │   ├── AppDelegate.swift
│   │   ├── Assets.xcassets
│   │   │   ├── AppIcon.appiconset
│   │   │   │   ├── Contents.json
│   │   │   │   ├── Icon1024.png
│   │   │   │   ├── Icon20@2x.png
│   │   │   │   ├── Icon20.png
│   │   │   │   ├── Icon29@2x.png
│   │   │   │   ├── Icon29.png
│   │   │   │   ├── Icon40@2x.png
│   │   │   │   ├── Icon40.png
│   │   │   │   ├── Icon76@2x.png
│   │   │   │   ├── Icon76.png
│   │   │   │   ├── Icon83.5@2x.png
│   │   │   │   ├── icon-app-20@2x.png
│   │   │   │   ├── icon-app-20@3x.png
│   │   │   │   ├── icon-app-29@2x.png
│   │   │   │   ├── icon-app-29@3x copy.png
│   │   │   │   ├── icon-app-40@2x.png
│   │   │   │   ├── icon-app-40@3x.png
│   │   │   │   ├── icon-app-60@2x.png
│   │   │   │   └── icon-app-60@3x.png
│   │   │   ├── Colors
│   │   │   │   ├── BackgroundColor.colorset
│   │   │   │   │   └── Contents.json
│   │   │   │   └── Contents.json
│   │   │   ├── Contents.json
│   │   │   └── Images
│   │   │   ├── Contents.json
│   │   │   ├── Onboard
│   │   │   │   ├── Contents.json
│   │   │   │   ├── email_icon.imageset
│   │   │   │   │   ├── Contents.json
│   │   │   │   │   ├── email_icon@2x.png
│   │   │   │   │   ├── email_icon@3x.png
│   │   │   │   │   └── email_icon.png
│   │   │   │   ├── mobile_icon.imageset
│   │   │   │   │   ├── Contents.json
│   │   │   │   │   ├── mobile_icon@2x.png
│   │   │   │   │   ├── mobile_icon@3x.png
│   │   │   │   │   └── mobile_icon.png
│   │   │   │   ├── password_icon.imageset
│   │   │   │   │   ├── Contents.json
│   │   │   │   │   ├── password_icon@2x.png
│   │   │   │   │   ├── password_icon@3x.png
│   │   │   │   │   └── password_icon.png
│   │   │   │   ├── person_icon.imageset
│   │   │   │   │   ├── Contents.json
│   │   │   │   │   ├── person@2x.png
│   │   │   │   │   ├── person@3x.png
│   │   │   │   │   └── person.png
│   │   │   │   ├── roo_logo.imageset
│   │   │   │   │   ├── Contents.json
│   │   │   │   │   ├── roo_logo@2x.png
│   │   │   │   │   ├── roo_logo@3x.png
│   │   │   │   │   └── roo_logo.png
│   │   │   │   └── tag_icon.imageset
│   │   │   │   ├── Contents.json
│   │   │   │   ├── tag@2x.png
│   │   │   │   ├── tag@3x.png
│   │   │   │   └── tag.png
│   │   │   ├── RequestRide
│   │   │   │   ├── available_placeholder_marker.imageset
│   │   │   │   │   ├── available_placeholder_marker@2x.png
│   │   │   │   │   ├── available_placeholder_marker@3x.png
│   │   │   │   │   ├── available_placeholder_marker.png
│   │   │   │   │   └── Contents.json
│   │   │   │   ├── CancelButton.imageset
│   │   │   │   │   ├── CancelButton@2x.png
│   │   │   │   │   ├── CancelButton@3x.png
│   │   │   │   │   ├── CancelButton.png
│   │   │   │   │   └── Contents.json
│   │   │   │   ├── Contents.json
│   │   │   │   ├── DriverEnRoute.imageset
│   │   │   │   │   ├── Contents.json
│   │   │   │   │   ├── Driver En Route@1x.png
│   │   │   │   │   ├── Driver En Route@2x.png
│   │   │   │   │   └── Driver En Route@3x.png
│   │   │   │   ├── koober.imageset
│   │   │   │   │   ├── Contents.json
│   │   │   │   │   ├── Icon-60@2x.png
│   │   │   │   │   └── Icon-60@3x.png
│   │   │   │   ├── MapMarkerDropoffLocation.imageset
│   │   │   │   │   ├── Contents.json
│   │   │   │   │   ├── map_marker_destination_location@2x.png
│   │   │   │   │   ├── map_marker_destination_location@3x.png
│   │   │   │   │   └── map_marker_destination_location.png
│   │   │   │   ├── MapMarkerPickupLocation.imageset
│   │   │   │   │   ├── Contents.json
│   │   │   │   │   ├── map_marker_pickup_location@2x.png
│   │   │   │   │   ├── map_marker_pickup_location@3x.png
│   │   │   │   │   └── map_marker_pickup_location.png
│   │   │   │   ├── ProgressKangaroo.imageset
│   │   │   │   │   ├── Contents.json
│   │   │   │   │   ├── progress_kangaroo@2x.png
│   │   │   │   │   ├── progress_kangaroo@3x.png
│   │   │   │   │   └── progress_kangaroo.png
│   │   │   │   ├── requesting_indicator.imageset
│   │   │   │   │   ├── Contents.json
│   │   │   │   │   ├── requesting_indicator@2x.png
│   │   │   │   │   ├── requesting_indicator@3x.png
│   │   │   │   │   └── requesting_indicator.png
│   │   │   │   ├── RideOptionPicker
│   │   │   │   │   ├── available_kangaroo_marker.imageset
│   │   │   │   │   │   ├── available_kangaroo_marker@2x.png
│   │   │   │   │   │   ├── available_kangaroo_marker@3x.png
│   │   │   │   │   │   ├── available_kangaroo_marker.png
│   │   │   │   │   │   └── Contents.json
│   │   │   │   │   ├── available_wallabe_marker.imageset
│   │   │   │   │   │   ├── available_wallabe_marker@2x.png
│   │   │   │   │   │   ├── available_wallabe_marker@3x.png
│   │   │   │   │   │   ├── available_wallabe_marker.png
│   │   │   │   │   │   └── Contents.json
│   │   │   │   │   ├── available_wallaroo_marker.imageset
│   │   │   │   │   │   ├── available_wallaroo_marker@2x.png
│   │   │   │   │   │   ├── available_wallaroo_marker@3x.png
│   │   │   │   │   │   ├── available_wallaroo_marker.png
│   │   │   │   │   │   └── Contents.json
│   │   │   │   │   ├── Contents.json
│   │   │   │   │   ├── ride_option_kangaroo.imageset
│   │   │   │   │   │   ├── Contents.json
│   │   │   │   │   │   ├── ride_option_kangaroo@2x.png
│   │   │   │   │   │   ├── ride_option_kangaroo@3x.png
│   │   │   │   │   │   └── ride_option_kangaroo.png
│   │   │   │   │   ├── ride_option_kangaroo_selected.imageset
│   │   │   │   │   │   ├── Contents.json
│   │   │   │   │   │   ├── ride_option_kangaroo_selected@2x.png
│   │   │   │   │   │   ├── ride_option_kangaroo_selected@3x.png
│   │   │   │   │   │   └── ride_option_kangaroo_selected.png
│   │   │   │   │   ├── ride_option_wallabee.imageset
│   │   │   │   │   │   ├── Contents.json
│   │   │   │   │   │   ├── ride_option_wallabee@2x.png
│   │   │   │   │   │   ├── ride_option_wallabee@3x.png
│   │   │   │   │   │   └── ride_option_wallabee.png
│   │   │   │   │   ├── ride_option_wallabee_selected.imageset
│   │   │   │   │   │   ├── Contents.json
│   │   │   │   │   │   ├── ride_option_wallabee_selected@2x.png
│   │   │   │   │   │   ├── ride_option_wallabee_selected@3x.png
│   │   │   │   │   │   └── ride_option_wallabee_selected.png
│   │   │   │   │   ├── ride_option_wallaroo.imageset
│   │   │   │   │   │   ├── Contents.json
│   │   │   │   │   │   ├── ride_option_wallaroo@2x.png
│   │   │   │   │   │   ├── ride_option_wallaroo@3x.png
│   │   │   │   │   │   └── ride_option_wallaroo.png
│   │   │   │   │   └── ride_option_wallaroo_selected.imageset
│   │   │   │   │   ├── Contents.json
│   │   │   │   │   ├── ride_option_wallaroo_selected@2x.png
│   │   │   │   │   ├── ride_option_wallaroo_selected@3x.png
│   │   │   │   │   └── ride_option_wallaroo_selected.png
│   │   │   │   ├── ride_option_placeholder.imageset
│   │   │   │   │   ├── Contents.json
│   │   │   │   │   ├── ride_option_placeholder@2x.png
│   │   │   │   │   ├── ride_option_placeholder@3x.png
│   │   │   │   │   └── ride_option_placeholder.png
│   │   │   │   ├── ride_option_placeholder_selected.imageset
│   │   │   │   │   ├── Contents.json
│   │   │   │   │   ├── ride_option_wallabee_selected@2x.png
│   │   │   │   │   ├── ride_option_wallabee_selected@3x.png
│   │   │   │   │   └── ride_option_wallabee_selected.png
│   │   │   │   ├── SetPickupLocationLoader.imageset
│   │   │   │   │   ├── Contents.json
│   │   │   │   │   ├── set_pickup_location_loader@2x.png
│   │   │   │   │   ├── set_pickup_location_loader@3x.png
│   │   │   │   │   └── set_pickup_location_loader.png
│   │   │   │   └── success_message.imageset
│   │   │   │   ├── Contents.json
│   │   │   │   ├── success_message@2x.png
│   │   │   │   ├── success_message@3x.png
│   │   │   │   └── success_message.png
│   │   │   ├── roo-icon.imageset
│   │   │   │   ├── Contents.json
│   │   │   │   ├── roo-icon@2x.png
│   │   │   │   ├── roo-icon@3x.png
│   │   │   │   └── roo-icon.png
│   │   │   ├── rwdevcon-bg.imageset
│   │   │   │   ├── Contents.json
│   │   │   │   └── rwdevcon-bg.png
│   │   │   ├── rwdevcon-logo.imageset
│   │   │   │   ├── Contents.json
│   │   │   │   └── rwdevcon-logo.png
│   │   │   ├── rw-logo.imageset
│   │   │   │   ├── Contents.json
│   │   │   │   └── Razewarelogo_1024.png
│   │   │   └── SelectPaymentMethod
│   │   │   ├── card_icon.imageset
│   │   │   │   ├── card_icon@2x.png
│   │   │   │   ├── card_icon@3x.png
│   │   │   │   ├── card_icon.png
│   │   │   │   └── Contents.json
│   │   │   ├── Contents.json
│   │   │   └── selected_icon.imageset
│   │   │   ├── Contents.json
│   │   │   ├── selected_icon@2x.png
│   │   │   ├── selected_icon@3x.png
│   │   │   └── selected_icon.png
│   │   ├── Info.plist
│   │   ├── RWDevConLaunchScreen.xib
│   │   └── ToArchive
│   │   ├── A. RequestRideContainerViewController.swift
│   │   ├── B. SelectPickupAndDropoffViewController.swift
│   │   ├── C. MapViewController.swift
│   │   ├── D. MapView.swift
│   │   └── Z. SwinjectStoryboard+Koober.swift
│   ├── KooberApp.xcodeproj
│   │   ├── project.pbxproj
│   │   ├── project.xcworkspace
│   │   │   ├── contents.xcworkspacedata
│   │   │   └── xcshareddata
│   │   │   └── IDEWorkspaceChecks.plist
│   │   └── xcshareddata
│   │   └── xcschemes
│   │   ├── Koober-iOS.xcscheme
│   │   ├── KooberKit.xcscheme
│   │   ├── KooberUIKit.xcscheme
│   │   └── Koober.xcscheme
│   ├── Koober_iOS
│   │   ├── Info.plist
│   │   ├── iOSApp
│   │   │   ├── KooberAppDepedencyContainer.swift
│   │   │   ├── LaunchRootView.swift
│   │   │   ├── LaunchViewController.swift
│   │   │   ├── MainViewController.swift
│   │   │   ├── Onboarding
│   │   │   │   ├── KooberOnboardingDependencyContainer.swift
│   │   │   │   ├── OnboardingViewController.swift
│   │   │   │   ├── SignIn
│   │   │   │   │   ├── SignInRootView.swift
│   │   │   │   │   └── SignInViewController.swift
│   │   │   │   ├── SignUp
│   │   │   │   │   ├── SignUpRootView.swift
│   │   │   │   │   └── SignUpViewController.swift
│   │   │   │   └── Welcome
│   │   │   │   ├── WelcomeRootView.swift
│   │   │   │   └── WelcomeViewController.swift
│   │   │   └── SignedIn
│   │   │   ├── GettingUsersLocation
│   │   │   │   ├── GettingUsersLocationRootView.swift
│   │   │   │   └── GettingUsersLocationViewController.swift
│   │   │   ├── KooberSignedInDependencyContainer.swift
│   │   │   ├── PickMeUp
│   │   │   │   ├── KooberPickMeUpDependencyContainer.swift
│   │   │   │   ├── Map
│   │   │   │   │   ├── MapAnnotationView.swift
│   │   │   │   │   ├── Model
│   │   │   │   │   │   ├── MapAnnotationDiff.swift
│   │   │   │   │   │   ├── MapAnnotation+MapKit.swift
│   │   │   │   │   │   ├── MapAnnotation.swift
│   │   │   │   │   │   ├── MapAnnotationType.swift
│   │   │   │   │   │   └── MapViewModel.swift
│   │   │   │   │   ├── PickMeUpMapRootView.swift
│   │   │   │   │   └── PickMeUpMapViewController.swift
│   │   │   │   ├── PickMeUpRootView.swift
│   │   │   │   ├── PickMeUpUserInterface.swift
│   │   │   │   ├── PickMeUpViewController.swift
│   │   │   │   ├── SelectDropoffLocation
│   │   │   │   │   ├── DropoffLocationPickerContentRootView.swift
│   │   │   │   │   ├── DropoffLocationPickerContentViewController.swift
│   │   │   │   │   └── DropoffLocationPickerViewController.swift
│   │   │   │   ├── SelectRideOption
│   │   │   │   │   ├── Button
│   │   │   │   │   │   ├── RideOptionButton.swift
│   │   │   │   │   │   └── RideOptionSegmentButtonImageLoader.swift
│   │   │   │   │   ├── RideOptionPickerViewController.swift
│   │   │   │   │   └── RideOptionSegmentedControl.swift
│   │   │   │   └── SendRideRequest
│   │   │   │   ├── SendingRideRequestRootView.swift
│   │   │   │   └── SendingRideRequestViewController.swift
│   │   │   ├── SignedInRootView.swift
│   │   │   ├── SignedInViewController.swift
│   │   │   ├── ViewProfile
│   │   │   │   ├── ProfileContentRootView.swift
│   │   │   │   ├── ProfileContentViewController.swift
│   │   │   │   └── ProfileViewController.swift
│   │   │   └── WaitingForPickup
│   │   │   ├── WaitingForPickupRootView.swift
│   │   │   └── WaitingForPickupViewController.swift
│   │   └── Koober_iOS.h
│   ├── KooberKit
│   │   ├── DataLayer
│   │   │   ├── Model
│   │   │   │   ├── ErrorMessage.swift
│   │   │   │   ├── ErrorPresentation.swift
│   │   │   │   ├── FakeURL.swift
│   │   │   │   ├── Identifiable.swift
│   │   │   │   ├── KooberKitError.swift
│   │   │   │   ├── LoadedState.swift
│   │   │   │   ├── Location.swift
│   │   │   │   ├── NamedLocation.swift
│   │   │   │   ├── NewAccount.swift
│   │   │   │   ├── NewRideRequest.swift
│   │   │   │   ├── RemoteImage.swift
│   │   │   │   ├── RideOptionPickerRideOptions.swift
│   │   │   │   ├── RideOption.swift
│   │   │   │   ├── Secret.swift
│   │   │   │   ├── UserProfile.swift
│   │   │   │   └── UserSession.swift
│   │   │   └── Repositories
│   │   │   ├── Coding
│   │   │   │   └── UserSession
│   │   │   │   ├── Implementations
│   │   │   │   │   └── UserSessionPropertyListCoder.swift
│   │   │   │   └── UserSessionCoding.swift
│   │   │   ├── KooberLocationRepository.swift
│   │   │   ├── KooberNewRideRepository.swift
│   │   │   ├── KooberRideOptionRepository.swift
│   │   │   ├── KooberUserSessionRepository.swift
│   │   │   ├── Location
│   │   │   │   ├── Implementations
│   │   │   │   │   └── FakeLocator.swift
│   │   │   │   └── Locator.swift
│   │   │   ├── LocationRepository.swift
│   │   │   ├── NewRideRepository.swift
│   │   │   ├── Persistence
│   │   │   │   ├── RideOptionStore
│   │   │   │   │   ├── Implementations
│   │   │   │   │   │   ├── RideOptionDataStoreDiskUserPrefs.swift
│   │   │   │   │   │   └── RideOptionDataStoreInMemory.swift
│   │   │   │   │   └── RideOptionDataStore.swift
│   │   │   │   └── UserSessionStore
│   │   │   │   ├── Implementations
│   │   │   │   │   ├── FakeUserSessionDataStore.swift
│   │   │   │   │   ├── FileUserSessionDataStore.swift
│   │   │   │   │   └── Keychain
│   │   │   │   │   ├── KeychainItem.swift
│   │   │   │   │   ├── Keychain.swift
│   │   │   │   │   └── KeychainUserSessionDataStore.swift
│   │   │   │   └── UserSessionDataStore.swift
│   │   │   ├── Remote
│   │   │   │   ├── Auth
│   │   │   │   │   ├── AuthRemoteAPI.swift
│   │   │   │   │   └── Implementations
│   │   │   │   │   ├── FakeAuthRemoteAPI.swift
│   │   │   │   │   └── KooberCloudAuthRemoteAPI.swift
│   │   │   │   ├── NewRide
│   │   │   │   │   ├── Implementations
│   │   │   │   │   │   ├── FakeNewRideRemoteAPI.swift
│   │   │   │   │   │   └── KooberCloudNewRideRemoteAPI.swift
│   │   │   │   │   └── NewRideRemoteAPI.swift
│   │   │   │   └── RemoteUserSession.swift
│   │   │   ├── RideOptionRepository.swift
│   │   │   └── UserSessionRepository.swift
│   │   ├── Info.plist
│   │   ├── KooberKit.h
│   │   ├── Reusable
│   │   │   └── RxSwiftExtensions
│   │   │   └── ObservableOperators.swift
│   │   └── UILayer
│   │   ├── LaunchViewModel.swift
│   │   ├── MainViewModel.swift
│   │   ├── MainView.swift
│   │   ├── NotSignedInResponder.swift
│   │   ├── Onboard
│   │   │   ├── GoToSignInNavigator.swift
│   │   │   ├── GoToSignUpNavigator.swift
│   │   │   ├── OnboardingViewModel.swift
│   │   │   ├── OnboardingView.swift
│   │   │   ├── SignIn
│   │   │   │   └── SignInViewModel.swift
│   │   │   ├── SignUp
│   │   │   │   └── SignUpViewModel.swift
│   │   │   └── Welcome
│   │   │   └── WelcomeViewModel.swift
│   │   ├── Reusable
│   │   │   └── NavigationAction.swift
│   │   ├── SignedIn
│   │   │   ├── DeterminedPickUpLocationResponder.swift
│   │   │   ├── GettingUsersLocation
│   │   │   │   └── GettingUsersLocationViewModel.swift
│   │   │   ├── GoToNewRideNavigator.swift
│   │   │   ├── NewRideRequestAcceptedResponder.swift
│   │   │   ├── PickMeUp
│   │   │   │   ├── CancelDropoffLocationSelectionResponder.swift
│   │   │   │   ├── DoneWithProfileResponder.swift
│   │   │   │   ├── DropoffLocationDeterminedResponder.swift
│   │   │   │   ├── Map
│   │   │   │   │   └── PickMeUpMapViewModel.swift
│   │   │   │   ├── PickMeUpRequestProgress.swift
│   │   │   │   ├── PickMeUpViewModel.swift
│   │   │   │   ├── PickMeUpView.swift
│   │   │   │   ├── RideOptionDeterminedResponder.swift
│   │   │   │   ├── SelectDropoffLocation
│   │   │   │   │   └── DropoffLocationPickerViewModel.swift
│   │   │   │   └── SelectRideOption
│   │   │   │   ├── RideOptionPickerViewModel.swift
│   │   │   │   ├── RideOptionSegmentedControlViewModel.swift
│   │   │   │   ├── RideOptionSegmentsFactory.swift
│   │   │   │   └── RideOptionSegmentViewModel.swift
│   │   │   ├── SignedInViewModel.swift
│   │   │   ├── SignedInView.swift
│   │   │   ├── ViewProfile
│   │   │   │   └── ProfileViewModel.swift
│   │   │   └── WaitingForPickup
│   │   │   └── WaitingForPickupViewModel.swift
│   │   └── SignedInResponder.swift
│   └── KooberUIKit
│   ├── Info.plist
│   ├── KooberUIKit.h
│   └── Reusable
│   ├── ErrorMessagePresentation.swift
│   ├── Image Cache
│   │   ├── ImageCache.swift
│   │   └── Implementations
│   │   ├── ImageCacheKingfisher.swift
│   │   └── InBundleImageCache.swift
│   ├── Style
│   │   ├── Color.swift
│   │   └── UIColor+Hex.swift
│   └── UIKit
│   ├── NiblessComponents
│   │   ├── NiblessNavigationController.swift
│   │   ├── NiblessViewController.swift
│   │   └── NiblessView.swift
│   ├── ObservableUISearchController.swift
│   ├── UIStackViewExtensions.swift
│   ├── UIViewController+ErrorPresentation.swift
│   └── ViewControllerContainment.swift
├── 05-architecture-mvvm
│   └── final
│   ├── KooberApp
│   │   ├── Cartfile
│   │   ├── Cartfile.resolved
│   │   ├── Carthage
│   │   │   └── Checkouts
│   │   │   ├── Kingfisher
│   │   │   │   ├── CHANGELOG.md
│   │   │   │   ├── codecov.yml
│   │   │   │   ├── CONTRIBUTING.md
│   │   │   │   ├── Demo
│   │   │   │   │   ├── Demo
│   │   │   │   │   │   ├── Kingfisher-Demo
│   │   │   │   │   │   │   ├── AppDelegate.swift
│   │   │   │   │   │   │   ├── Base.lproj
│   │   │   │   │   │   │   │   ├── LaunchScreen.xib
│   │   │   │   │   │   │   │   └── Main.storyboard
│   │   │   │   │   │   │   ├── CollectionViewCell.swift
│   │   │   │   │   │   │   ├── Images.xcassets
│   │   │   │   │   │   │   │   └── AppIcon.appiconset
│   │   │   │   │   │   │   │   └── Contents.json
│   │   │   │   │   │   │   ├── Info.plist
│   │   │   │   │   │   │   ├── loader.gif
│   │   │   │   │   │   │   └── ViewController.swift
│   │   │   │   │   │   ├── Kingfisher-macOS-Demo
│   │   │   │   │   │   │   ├── AppDelegate.swift
│   │   │   │   │   │   │   ├── Assets.xcassets
│   │   │   │   │   │   │   │   └── AppIcon.appiconset
│   │   │   │   │   │   │   │   └── Contents.json
│   │   │   │   │   │   │   ├── Base.lproj
│   │   │   │   │   │   │   │   └── Main.storyboard
│   │   │   │   │   │   │   ├── Cell.xib
│   │   │   │   │   │   │   ├── Info.plist
│   │   │   │   │   │   │   └── ViewController.swift
│   │   │   │   │   │   ├── Kingfisher-tvOS-Demo
│   │   │   │   │   │   │   ├── AppDelegate.swift
│   │   │   │   │   │   │   ├── Assets.xcassets
│   │   │   │   │   │   │   │   ├── App Icon & Top Shelf Image.brandassets
│   │   │   │   │   │   │   │   │   ├── App Icon - Large.imagestack
│   │   │   │   │   │   │   │   │   │   ├── Back.imagestacklayer
│   │   │   │   │   │   │   │   │   │   │   ├── Content.imageset
│   │   │   │   │   │   │   │   │   │   │   │   └── Contents.json
│   │   │   │   │   │   │   │   │   │   │   └── Contents.json
│   │   │   │   │   │   │   │   │   │   ├── Contents.json
│   │   │   │   │   │   │   │   │   │   ├── Front.imagestacklayer
│   │   │   │   │   │   │   │   │   │   │   ├── Content.imageset
│   │   │   │   │   │   │   │   │   │   │   │   └── Contents.json
│   │   │   │   │   │   │   │   │   │   │   └── Contents.json
│   │   │   │   │   │   │   │   │   │   └── Middle.imagestacklayer
│   │   │   │   │   │   │   │   │   │   ├── Content.imageset
│   │   │   │   │   │   │   │   │   │   │   └── Contents.json
│   │   │   │   │   │   │   │   │   │   └── Contents.json
│   │   │   │   │   │   │   │   │   ├── App Icon - Small.imagestack
│   │   │   │   │   │   │   │   │   │   ├── Back.imagestacklayer
│   │   │   │   │   │   │   │   │   │   │   ├── Content.imageset
│   │   │   │   │   │   │   │   │   │   │   │   └── Contents.json
│   │   │   │   │   │   │   │   │   │   │   └── Contents.json
│   │   │   │   │   │   │   │   │   │   ├── Contents.json
│   │   │   │   │   │   │   │   │   │   ├── Front.imagestacklayer
│   │   │   │   │   │   │   │   │   │   │   ├── Content.imageset
│   │   │   │   │   │   │   │   │   │   │   │   └── Contents.json
│   │   │   │   │   │   │   │   │   │   │   └── Contents.json
│   │   │   │   │   │   │   │   │   │   └── Middle.imagestacklayer
│   │   │   │   │   │   │   │   │   │   ├── Content.imageset
│   │   │   │   │   │   │   │   │   │   │   └── Contents.json
│   │   │   │   │   │   │   │   │   │   └── Contents.json
│   │   │   │   │   │   │   │   │   ├── Contents.json
│   │   │   │   │   │   │   │   │   └── Top Shelf Image.imageset
│   │   │   │   │   │   │   │   │   └── Contents.json
│   │   │   │   │   │   │   │   ├── Contents.json
│   │   │   │   │   │   │   │   └── LaunchImage.launchimage
│   │   │   │   │   │   │   │   └── Contents.json
│   │   │   │   │   │   │   ├── Base.lproj
│   │   │   │   │   │   │   │   └── Main.storyboard
│   │   │   │   │   │   │   └── Info.plist
│   │   │   │   │   │   ├── Kingfisher-watchOS-Demo
│   │   │   │   │   │   │   ├── Assets.xcassets
│   │   │   │   │   │   │   │   └── AppIcon.appiconset
│   │   │   │   │   │   │   │   └── Contents.json
│   │   │   │   │   │   │   ├── Base.lproj
│   │   │   │   │   │   │   │   └── Interface.storyboard
│   │   │   │   │   │   │   └── Info.plist
│   │   │   │   │   │   └── Kingfisher-watchOS-Demo Extension
│   │   │   │   │   │   ├── Assets.xcassets
│   │   │   │   │   │   │   └── README__ignoredByTemplate__
│   │   │   │   │   │   ├── ExtensionDelegate.swift
│   │   │   │   │   │   ├── Info.plist
│   │   │   │   │   │   └── InterfaceController.swift
│   │   │   │   │   └── Kingfisher-Demo.xcodeproj
│   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   └── project.xcworkspace
│   │   │   │   │   └── contents.xcworkspacedata
│   │   │   │   ├── docs
│   │   │   │   │   ├── badge.svg
│   │   │   │   │   ├── Classes
│   │   │   │   │   │   ├── AnimatedImageView
│   │   │   │   │   │   │   └── RepeatCount.html
│   │   │   │   │   │   ├── AnimatedImageView.html
│   │   │   │   │   │   ├── ImageCache
│   │   │   │   │   │   │   └── CacheCheckResult.html
│   │   │   │   │   │   ├── ImageCache.html
│   │   │   │   │   │   ├── ImageDownloader.html
│   │   │   │   │   │   ├── ImagePrefetcher.html
│   │   │   │   │   │   ├── Kingfisher.html
│   │   │   │   │   │   ├── KingfisherManager.html
│   │   │   │   │   │   └── RetrieveImageTask.html
│   │   │   │   │   ├── Classes.html
│   │   │   │   │   ├── css
│   │   │   │   │   │   ├── highlight.css
│   │   │   │   │   │   └── jazzy.css
│   │   │   │   │   ├── docsets
│   │   │   │   │   │   ├── Kingfisher.docset
│   │   │   │   │   │   │   └── Contents
│   │   │   │   │   │   │   ├── Info.plist
│   │   │   │   │   │   │   └── Resources
│   │   │   │   │   │   │   ├── docSet.dsidx
│   │   │   │   │   │   │   └── Documents
│   │   │   │   │   │   │   ├── Classes
│   │   │   │   │   │   │   │   ├── AnimatedImageView
│   │   │   │   │   │   │   │   │   └── RepeatCount.html
│   │   │   │   │   │   │   │   ├── AnimatedImageView.html
│   │   │   │   │   │   │   │   ├── ImageCache
│   │   │   │   │   │   │   │   │   └── CacheCheckResult.html
│   │   │   │   │   │   │   │   ├── ImageCache.html
│   │   │   │   │   │   │   │   ├── ImageDownloader.html
│   │   │   │   │   │   │   │   ├── ImagePrefetcher.html
│   │   │   │   │   │   │   │   ├── Kingfisher.html
│   │   │   │   │   │   │   │   ├── KingfisherManager.html
│   │   │   │   │   │   │   │   └── RetrieveImageTask.html
│   │   │   │   │   │   │   ├── Classes.html
│   │   │   │   │   │   │   ├── css
│   │   │   │   │   │   │   │   ├── highlight.css
│   │   │   │   │   │   │   │   └── jazzy.css
│   │   │   │   │   │   │   ├── Enums
│   │   │   │   │   │   │   │   ├── CacheType.html
│   │   │   │   │   │   │   │   ├── ContentMode.html
│   │   │   │   │   │   │   │   ├── ImageFormat.html
│   │   │   │   │   │   │   │   ├── ImageProcessItem.html
│   │   │   │   │   │   │   │   ├── ImageTransition.html
│   │   │   │   │   │   │   │   ├── IndicatorType.html
│   │   │   │   │   │   │   │   ├── KingfisherError.html
│   │   │   │   │   │   │   │   └── KingfisherOptionsInfoItem.html
│   │   │   │   │   │   │   ├── Enums.html
│   │   │   │   │   │   │   ├── Extensions
│   │   │   │   │   │   │   │   ├── CGSize.html
│   │   │   │   │   │   │   │   ├── Collection.html
│   │   │   │   │   │   │   │   ├── Data.html
│   │   │   │   │   │   │   │   ├── Notification
│   │   │   │   │   │   │   │   │   └── Name.html
│   │   │   │   │   │   │   │   ├── Notification.html
│   │   │   │   │   │   │   │   └── URL.html
│   │   │   │   │   │   │   ├── Extensions.html
│   │   │   │   │   │   │   ├── Functions.html
│   │   │   │   │   │   │   ├── Global Variables.html
│   │   │   │   │   │   │   ├── img
│   │   │   │   │   │   │   │   ├── carat.png
│   │   │   │   │   │   │   │   ├── dash.png
│   │   │   │   │   │   │   │   └── gh.png
│   │   │   │   │   │   │   ├── index.html
│   │   │   │   │   │   │   ├── js
│   │   │   │   │   │   │   │   ├── jazzy.js
│   │   │   │   │   │   │   │   └── jquery.min.js
│   │   │   │   │   │   │   ├── Protocols
│   │   │   │   │   │   │   │   ├── AnimatedImageViewDelegate.html
│   │   │   │   │   │   │   │   ├── AuthenticationChallengeResponsable.html
│   │   │   │   │   │   │   │   ├── CacheSerializer.html
│   │   │   │   │   │   │   │   ├── CIImageProcessor.html
│   │   │   │   │   │   │   │   ├── ImageDownloaderDelegate.html
│   │   │   │   │   │   │   │   ├── ImageDownloadRequestModifier.html
│   │   │   │   │   │   │   │   ├── ImageModifier.html
│   │   │   │   │   │   │   │   ├── ImageProcessor.html
│   │   │   │   │   │   │   │   ├── Indicator.html
│   │   │   │   │   │   │   │   ├── KingfisherCompatible.html
│   │   │   │   │   │   │   │   ├── Placeholder.html
│   │   │   │   │   │   │   │   └── Resource.html
│   │   │   │   │   │   │   ├── Protocols.html
│   │   │   │   │   │   │   ├── search.json
│   │   │   │   │   │   │   ├── Structs
│   │   │   │   │   │   │   │   ├── AlignmentRectInsetsImageModifier.html
│   │   │   │   │   │   │   │   ├── AnyImageModifier.html
│   │   │   │   │   │   │   │   ├── AnyModifier.html
│   │   │   │   │   │   │   │   ├── BlackWhiteProcessor.html
│   │   │   │   │   │   │   │   ├── BlendImageProcessor.html
│   │   │   │   │   │   │   │   ├── BlurImageProcessor.html
│   │   │   │   │   │   │   │   ├── CGSizeProxy.html
│   │   │   │   │   │   │   │   ├── ColorControlsProcessor.html
│   │   │   │   │   │   │   │   ├── CompositingImageProcessor.html
│   │   │   │   │   │   │   │   ├── CroppingImageProcessor.html
│   │   │   │   │   │   │   │   ├── DataProxy.html
│   │   │   │   │   │   │   │   ├── DefaultCacheSerializer.html
│   │   │   │   │   │   │   │   ├── DefaultImageModifier.html
│   │   │   │   │   │   │   │   ├── DefaultImageProcessor.html
│   │   │   │   │   │   │   │   ├── Filter.html
│   │   │   │   │   │   │   │   ├── FlipsForRightToLeftLayoutDirectionImageModifier.html
│   │   │   │   │   │   │   │   ├── FormatIndicatedCacheSerializer.html
│   │   │   │   │   │   │   │   ├── ImageResource.html
│   │   │   │   │   │   │   │   ├── OverlayImageProcessor.html
│   │   │   │   │   │   │   │   ├── RectCorner.html
│   │   │   │   │   │   │   │   ├── RenderingModeImageModifier.html
│   │   │   │   │   │   │   │   ├── ResizingImageProcessor.html
│   │   │   │   │   │   │   │   ├── RetrieveImageDownloadTask.html
│   │   │   │   │   │   │   │   ├── RoundCornerImageProcessor.html
│   │   │   │   │   │   │   │   └── TintImageProcessor.html
│   │   │   │   │   │   │   ├── Structs.html
│   │   │   │   │   │   │   └── Typealiases.html
│   │   │   │   │   │   ├── Kingfisher.tgz
│   │   │   │   │   │   └── Kingfisher.xml
│   │   │   │   │   ├── Enums
│   │   │   │   │   │   ├── CacheType.html
│   │   │   │   │   │   ├── ContentMode.html
│   │   │   │   │   │   ├── ImageFormat.html
│   │   │   │   │   │   ├── ImageProcessItem.html
│   │   │   │   │   │   ├── ImageTransition.html
│   │   │   │   │   │   ├── IndicatorType.html
│   │   │   │   │   │   ├── KingfisherError.html
│   │   │   │   │   │   └── KingfisherOptionsInfoItem.html
│   │   │   │   │   ├── Enums.html
│   │   │   │   │   ├── Extensions
│   │   │   │   │   │   ├── CGSize.html
│   │   │   │   │   │   ├── Collection.html
│   │   │   │   │   │   ├── Data.html
│   │   │   │   │   │   ├── Notification
│   │   │   │   │   │   │   └── Name.html
│   │   │   │   │   │   ├── Notification.html
│   │   │   │   │   │   └── URL.html
│   │   │   │   │   ├── Extensions.html
│   │   │   │   │   ├── Functions.html
│   │   │   │   │   ├── Global Variables.html
│   │   │   │   │   ├── img
│   │   │   │   │   │   ├── carat.png
│   │   │   │   │   │   ├── dash.png
│   │   │   │   │   │   └── gh.png
│   │   │   │   │   ├── index.html
│   │   │   │   │   ├── js
│   │   │   │   │   │   ├── jazzy.js
│   │   │   │   │   │   └── jquery.min.js
│   │   │   │   │   ├── Protocols
│   │   │   │   │   │   ├── AnimatedImageViewDelegate.html
│   │   │   │   │   │   ├── AuthenticationChallengeResponsable.html
│   │   │   │   │   │   ├── CacheSerializer.html
│   │   │   │   │   │   ├── CIImageProcessor.html
│   │   │   │   │   │   ├── ImageDownloaderDelegate.html
│   │   │   │   │   │   ├── ImageDownloadRequestModifier.html
│   │   │   │   │   │   ├── ImageModifier.html
│   │   │   │   │   │   ├── ImageProcessor.html
│   │   │   │   │   │   ├── Indicator.html
│   │   │   │   │   │   ├── KingfisherCompatible.html
│   │   │   │   │   │   ├── Placeholder.html
│   │   │   │   │   │   └── Resource.html
│   │   │   │   │   ├── Protocols.html
│   │   │   │   │   ├── search.json
│   │   │   │   │   ├── Structs
│   │   │   │   │   │   ├── AlignmentRectInsetsImageModifier.html
│   │   │   │   │   │   ├── AnyImageModifier.html
│   │   │   │   │   │   ├── AnyModifier.html
│   │   │   │   │   │   ├── BlackWhiteProcessor.html
│   │   │   │   │   │   ├── BlendImageProcessor.html
│   │   │   │   │   │   ├── BlurImageProcessor.html
│   │   │   │   │   │   ├── CGSizeProxy.html
│   │   │   │   │   │   ├── ColorControlsProcessor.html
│   │   │   │   │   │   ├── CompositingImageProcessor.html
│   │   │   │   │   │   ├── CroppingImageProcessor.html
│   │   │   │   │   │   ├── DataProxy.html
│   │   │   │   │   │   ├── DefaultCacheSerializer.html
│   │   │   │   │   │   ├── DefaultImageModifier.html
│   │   │   │   │   │   ├── DefaultImageProcessor.html
│   │   │   │   │   │   ├── Filter.html
│   │   │   │   │   │   ├── FlipsForRightToLeftLayoutDirectionImageModifier.html
│   │   │   │   │   │   ├── FormatIndicatedCacheSerializer.html
│   │   │   │   │   │   ├── ImageResource.html
│   │   │   │   │   │   ├── OverlayImageProcessor.html
│   │   │   │   │   │   ├── RectCorner.html
│   │   │   │   │   │   ├── RenderingModeImageModifier.html
│   │   │   │   │   │   ├── ResizingImageProcessor.html
│   │   │   │   │   │   ├── RetrieveImageDownloadTask.html
│   │   │   │   │   │   ├── RoundCornerImageProcessor.html
│   │   │   │   │   │   └── TintImageProcessor.html
│   │   │   │   │   ├── Structs.html
│   │   │   │   │   ├── Typealiases.html
│   │   │   │   │   └── undocumented.json
│   │   │   │   ├── fastlane
│   │   │   │   │   ├── actions
│   │   │   │   │   │   ├── extract_current_change_log.rb
│   │   │   │   │   │   ├── git_commit_all.rb
│   │   │   │   │   │   ├── sync_build_number_to_git.rb
│   │   │   │   │   │   └── update_change_log.rb
│   │   │   │   │   └── Fastfile
│   │   │   │   ├── Gemfile
│   │   │   │   ├── Gemfile.lock
│   │   │   │   ├── images
│   │   │   │   │   ├── kingfisher-10.jpg
│   │   │   │   │   ├── kingfisher-1.jpg
│   │   │   │   │   ├── kingfisher-2.jpg
│   │   │   │   │   ├── kingfisher-3.jpg
│   │   │   │   │   ├── kingfisher-4.jpg
│   │   │   │   │   ├── kingfisher-5.jpg
│   │   │   │   │   ├── kingfisher-6.jpg
│   │   │   │   │   ├── kingfisher-7.jpg
│   │   │   │   │   ├── kingfisher-8.jpg
│   │   │   │   │   ├── kingfisher-9.jpg
│   │   │   │   │   └── logo.png
│   │   │   │   ├── Kingfisher.podspec
│   │   │   │   ├── Kingfisher.xcodeproj
│   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   └── contents.xcworkspacedata
│   │   │   │   │   └── xcshareddata
│   │   │   │   │   ├── xcbaselines
│   │   │   │   │   │   └── D1ED2D3E1AD2D09F00CFC3EB.xcbaseline
│   │   │   │   │   │   ├── 74237B0B-7981-4A24-B6C4-95F4A5E7727F.plist
│   │   │   │   │   │   └── Info.plist
│   │   │   │   │   └── xcschemes
│   │   │   │   │   ├── Kingfisher-macOS.xcscheme
│   │   │   │   │   ├── Kingfisher-tvOS.xcscheme
│   │   │   │   │   ├── Kingfisher-watchOS.xcscheme
│   │   │   │   │   └── Kingfisher.xcscheme
│   │   │   │   ├── Kingfisher.xcworkspace
│   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   └── xcshareddata
│   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   ├── Kingfisher.xcscmblueprint
│   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   ├── LICENSE
│   │   │   │   ├── Package.swift
│   │   │   │   ├── Podfile
│   │   │   │   ├── Podfile.lock
│   │   │   │   ├── Pods
│   │   │   │   │   ├── Headers
│   │   │   │   │   │   ├── Private
│   │   │   │   │   │   │   └── Nocilla
│   │   │   │   │   │   │   ├── asihttprequeststub.h
│   │   │   │   │   │   │   ├── LSASIHTTPRequestAdapter.h
│   │   │   │   │   │   │   ├── LSASIHTTPRequestHook.h
│   │   │   │   │   │   │   ├── LSDataMatcher.h
│   │   │   │   │   │   │   ├── LSHTTPBody.h
│   │   │   │   │   │   │   ├── LSHTTPClientHook.h
│   │   │   │   │   │   │   ├── LSHTTPRequestDiff.h
│   │   │   │   │   │   │   ├── LSHTTPRequestDSLRepresentation.h
│   │   │   │   │   │   │   ├── LSHTTPRequest.h
│   │   │   │   │   │   │   ├── LSHTTPResponse.h
│   │   │   │   │   │   │   ├── LSHTTPStubURLProtocol.h
│   │   │   │   │   │   │   ├── LSMatcheable.h
│   │   │   │   │   │   │   ├── LSMatcher.h
│   │   │   │   │   │   │   ├── LSNocilla.h
│   │   │   │   │   │   │   ├── LSNSURLHook.h
│   │   │   │   │   │   │   ├── LSNSURLSessionHook.h
│   │   │   │   │   │   │   ├── LSRegexMatcher.h
│   │   │   │   │   │   │   ├── LSStringMatcher.h
│   │   │   │   │   │   │   ├── LSStubRequestDSL.h
│   │   │   │   │   │   │   ├── LSStubRequest.h
│   │   │   │   │   │   │   ├── LSStubResponseDSL.h
│   │   │   │   │   │   │   ├── LSStubResponse.h
│   │   │   │   │   │   │   ├── Nocilla.h
│   │   │   │   │   │   │   ├── NSData+Matcheable.h
│   │   │   │   │   │   │   ├── NSData+Nocilla.h
│   │   │   │   │   │   │   ├── NSRegularExpression+Matcheable.h
│   │   │   │   │   │   │   ├── NSString+Matcheable.h
│   │   │   │   │   │   │   ├── NSString+Nocilla.h
│   │   │   │   │   │   │   ├── NSURLRequest+DSL.h
│   │   │   │   │   │   │   └── NSURLRequest+LSHTTPRequest.h
│   │   │   │   │   │   └── Public
│   │   │   │   │   │   └── Nocilla
│   │   │   │   │   │   ├── LSHTTPBody.h
│   │   │   │   │   │   ├── LSMatcheable.h
│   │   │   │   │   │   ├── LSNocilla.h
│   │   │   │   │   │   ├── LSStubRequestDSL.h
│   │   │   │   │   │   ├── LSStubResponseDSL.h
│   │   │   │   │   │   ├── Nocilla.h
│   │   │   │   │   │   ├── NSData+Matcheable.h
│   │   │   │   │   │   ├── NSData+Nocilla.h
│   │   │   │   │   │   ├── NSRegularExpression+Matcheable.h
│   │   │   │   │   │   ├── NSString+Matcheable.h
│   │   │   │   │   │   └── NSString+Nocilla.h
│   │   │   │   │   ├── Local Podspecs
│   │   │   │   │   │   └── Nocilla.podspec.json
│   │   │   │   │   ├── Manifest.lock
│   │   │   │   │   ├── Nocilla
│   │   │   │   │   │   ├── LICENSE
│   │   │   │   │   │   ├── Nocilla
│   │   │   │   │   │   │   ├── Categories
│   │   │   │   │   │   │   │   ├── NSData+Nocilla.h
│   │   │   │   │   │   │   │   ├── NSData+Nocilla.m
│   │   │   │   │   │   │   │   ├── NSString+Nocilla.h
│   │   │   │   │   │   │   │   └── NSString+Nocilla.m
│   │   │   │   │   │   │   ├── Diff
│   │   │   │   │   │   │   │   ├── LSHTTPRequestDiff.h
│   │   │   │   │   │   │   │   └── LSHTTPRequestDiff.m
│   │   │   │   │   │   │   ├── DSL
│   │   │   │   │   │   │   │   ├── LSHTTPRequestDSLRepresentation.h
│   │   │   │   │   │   │   │   ├── LSHTTPRequestDSLRepresentation.m
│   │   │   │   │   │   │   │   ├── LSStubRequestDSL.h
│   │   │   │   │   │   │   │   ├── LSStubRequestDSL.m
│   │   │   │   │   │   │   │   ├── LSStubResponseDSL.h
│   │   │   │   │   │   │   │   └── LSStubResponseDSL.m
│   │   │   │   │   │   │   ├── Hooks
│   │   │   │   │   │   │   │   ├── ASIHTTPRequest
│   │   │   │   │   │   │   │   │   ├── ASIHTTPRequestStub.h
│   │   │   │   │   │   │   │   │   ├── ASIHTTPRequestStub.m
│   │   │   │   │   │   │   │   │   ├── LSASIHTTPRequestAdapter.h
│   │   │   │   │   │   │   │   │   ├── LSASIHTTPRequestAdapter.m
│   │   │   │   │   │   │   │   │   ├── LSASIHTTPRequestHook.h
│   │   │   │   │   │   │   │   │   └── LSASIHTTPRequestHook.m
│   │   │   │   │   │   │   │   ├── LSHTTPClientHook.h
│   │   │   │   │   │   │   │   ├── LSHTTPClientHook.m
│   │   │   │   │   │   │   │   ├── NSURLRequest
│   │   │   │   │   │   │   │   │   ├── LSHTTPStubURLProtocol.h
│   │   │   │   │   │   │   │   │   ├── LSHTTPStubURLProtocol.m
│   │   │   │   │   │   │   │   │   ├── LSNSURLHook.h
│   │   │   │   │   │   │   │   │   ├── LSNSURLHook.m
│   │   │   │   │   │   │   │   │   ├── NSURLRequest+DSL.h
│   │   │   │   │   │   │   │   │   ├── NSURLRequest+DSL.m
│   │   │   │   │   │   │   │   │   ├── NSURLRequest+LSHTTPRequest.h
│   │   │   │   │   │   │   │   │   └── NSURLRequest+LSHTTPRequest.m
│   │   │   │   │   │   │   │   └── NSURLSession
│   │   │   │   │   │   │   │   ├── LSNSURLSessionHook.h
│   │   │   │   │   │   │   │   └── LSNSURLSessionHook.m
│   │   │   │   │   │   │   ├── LSNocilla.h
│   │   │   │   │   │   │   ├── LSNocilla.m
│   │   │   │   │   │   │   ├── Matchers
│   │   │   │   │   │   │   │   ├── LSDataMatcher.h
│   │   │   │   │   │   │   │   ├── LSDataMatcher.m
│   │   │   │   │   │   │   │   ├── LSMatcheable.h
│   │   │   │   │   │   │   │   ├── LSMatcher.h
│   │   │   │   │   │   │   │   ├── LSMatcher.m
│   │   │   │   │   │   │   │   ├── LSRegexMatcher.h
│   │   │   │   │   │   │   │   ├── LSRegexMatcher.m
│   │   │   │   │   │   │   │   ├── LSStringMatcher.h
│   │   │   │   │   │   │   │   ├── LSStringMatcher.m
│   │   │   │   │   │   │   │   ├── NSData+Matcheable.h
│   │   │   │   │   │   │   │   ├── NSData+Matcheable.m
│   │   │   │   │   │   │   │   ├── NSRegularExpression+Matcheable.h
│   │   │   │   │   │   │   │   ├── NSRegularExpression+Matcheable.m
│   │   │   │   │   │   │   │   ├── NSString+Matcheable.h
│   │   │   │   │   │   │   │   └── NSString+Matcheable.m
│   │   │   │   │   │   │   ├── Model
│   │   │   │   │   │   │   │   ├── LSHTTPBody.h
│   │   │   │   │   │   │   │   ├── LSHTTPRequest.h
│   │   │   │   │   │   │   │   └── LSHTTPResponse.h
│   │   │   │   │   │   │   ├── Nocilla.h
│   │   │   │   │   │   │   └── Stubs
│   │   │   │   │   │   │   ├── LSStubRequest.h
│   │   │   │   │   │   │   ├── LSStubRequest.m
│   │   │   │   │   │   │   ├── LSStubResponse.h
│   │   │   │   │   │   │   └── LSStubResponse.m
│   │   │   │   │   │   └── README.md
│   │   │   │   │   ├── Pods.xcodeproj
│   │   │   │   │   │   └── project.pbxproj
│   │   │   │   │   └── Target Support Files
│   │   │   │   │   ├── Nocilla-iOS
│   │   │   │   │   │   ├── Nocilla-iOS-dummy.m
│   │   │   │   │   │   ├── Nocilla-iOS-prefix.pch
│   │   │   │   │   │   └── Nocilla-iOS.xcconfig
│   │   │   │   │   ├── Nocilla-macOS
│   │   │   │   │   │   ├── Nocilla-macOS-dummy.m
│   │   │   │   │   │   ├── Nocilla-macOS-prefix.pch
│   │   │   │   │   │   └── Nocilla-macOS.xcconfig
│   │   │   │   │   ├── Nocilla-tvOS
│   │   │   │   │   │   ├── Nocilla-tvOS-dummy.m
│   │   │   │   │   │   ├── Nocilla-tvOS-prefix.pch
│   │   │   │   │   │   └── Nocilla-tvOS.xcconfig
│   │   │   │   │   ├── Pods-KingfisherTests
│   │   │   │   │   │   ├── Pods-KingfisherTests-acknowledgements.markdown
│   │   │   │   │   │   ├── Pods-KingfisherTests-acknowledgements.plist
│   │   │   │   │   │   ├── Pods-KingfisherTests.debug.xcconfig
│   │   │   │   │   │   ├── Pods-KingfisherTests-dummy.m
│   │   │   │   │   │   ├── Pods-KingfisherTests-frameworks.sh
│   │   │   │   │   │   ├── Pods-KingfisherTests.release.xcconfig
│   │   │   │   │   │   └── Pods-KingfisherTests-resources.sh
│   │   │   │   │   ├── Pods-KingfisherTests-macOS
│   │   │   │   │   │   ├── Pods-KingfisherTests-macOS-acknowledgements.markdown
│   │   │   │   │   │   ├── Pods-KingfisherTests-macOS-acknowledgements.plist
│   │   │   │   │   │   ├── Pods-KingfisherTests-macOS.debug.xcconfig
│   │   │   │   │   │   ├── Pods-KingfisherTests-macOS-dummy.m
│   │   │   │   │   │   ├── Pods-KingfisherTests-macOS-frameworks.sh
│   │   │   │   │   │   ├── Pods-KingfisherTests-macOS.release.xcconfig
│   │   │   │   │   │   └── Pods-KingfisherTests-macOS-resources.sh
│   │   │   │   │   └── Pods-KingfisherTests-tvOS
│   │   │   │   │   ├── Pods-KingfisherTests-tvOS-acknowledgements.markdown
│   │   │   │   │   ├── Pods-KingfisherTests-tvOS-acknowledgements.plist
│   │   │   │   │   ├── Pods-KingfisherTests-tvOS.debug.xcconfig
│   │   │   │   │   ├── Pods-KingfisherTests-tvOS-dummy.m
│   │   │   │   │   ├── Pods-KingfisherTests-tvOS-frameworks.sh
│   │   │   │   │   ├── Pods-KingfisherTests-tvOS.release.xcconfig
│   │   │   │   │   └── Pods-KingfisherTests-tvOS-resources.sh
│   │   │   │   ├── README.md
│   │   │   │   ├── setup.sh
│   │   │   │   ├── Sources
│   │   │   │   │   ├── AnimatedImageView.swift
│   │   │   │   │   ├── Box.swift
│   │   │   │   │   ├── CacheSerializer.swift
│   │   │   │   │   ├── Filter.swift
│   │   │   │   │   ├── FormatIndicatedCacheSerializer.swift
│   │   │   │   │   ├── ImageCache.swift
│   │   │   │   │   ├── ImageDownloader.swift
│   │   │   │   │   ├── ImageModifier.swift
│   │   │   │   │   ├── ImagePrefetcher.swift
│   │   │   │   │   ├── ImageProcessor.swift
│   │   │   │   │   ├── Image.swift
│   │   │   │   │   ├── ImageTransition.swift
│   │   │   │   │   ├── ImageView+Kingfisher.swift
│   │   │   │   │   ├── Indicator.swift
│   │   │   │   │   ├── Info.plist
│   │   │   │   │   ├── Kingfisher.h
│   │   │   │   │   ├── KingfisherManager.swift
│   │   │   │   │   ├── KingfisherOptionsInfo.swift
│   │   │   │   │   ├── Kingfisher.swift
│   │   │   │   │   ├── NSButton+Kingfisher.swift
│   │   │   │   │   ├── Placeholder.swift
│   │   │   │   │   ├── RequestModifier.swift
│   │   │   │   │   ├── Resource.swift
│   │   │   │   │   ├── String+MD5.swift
│   │   │   │   │   ├── ThreadHelper.swift
│   │   │   │   │   ├── UIButton+Kingfisher.swift
│   │   │   │   │   └── WKInterfaceImage+Kingfisher.swift
│   │   │   │   └── Tests
│   │   │   │   ├── KingfisherTests
│   │   │   │   │   ├── dancing-banana.gif
│   │   │   │   │   ├── ImageCacheTests.swift
│   │   │   │   │   ├── ImageDownloaderTests.swift
│   │   │   │   │   ├── ImageExtensionTests.swift
│   │   │   │   │   ├── ImageModifierTests.swift
│   │   │   │   │   ├── ImagePrefetcherTests.swift
│   │   │   │   │   ├── ImageProcessorTests.swift
│   │   │   │   │   ├── ImageViewExtensionTests.swift
│   │   │   │   │   ├── Info.plist
│   │   │   │   │   ├── KingfisherManagerTests.swift
│   │   │   │   │   ├── KingfisherOptionsInfoTests.swift
│   │   │   │   │   ├── KingfisherTestHelper.swift
│   │   │   │   │   ├── KingfisherTests-Bridging-Header.h
│   │   │   │   │   ├── NSButtonExtensionTests.swift
│   │   │   │   │   ├── single-frame.gif
│   │   │   │   │   ├── StringExtensionTests.swift
│   │   │   │   │   └── UIButtonExtensionTests.swift
│   │   │   │   ├── KingfisherTests-macOS
│   │   │   │   │   └── Info.plist
│   │   │   │   └── KingfisherTests-tvOS
│   │   │   │   └── Info.plist
│   │   │   ├── PromiseKit
│   │   │   │   ├── docker-compose.yml
│   │   │   │   ├── Documentation
│   │   │   │   │   ├── Appendix.md
│   │   │   │   │   ├── CommonPatterns.md
│   │   │   │   │   ├── Examples
│   │   │   │   │   │   ├── ImageCache.md
│   │   │   │   │   │   └── URLSession+BadResponseErrors.swift
│   │   │   │   │   ├── FAQ.md
│   │   │   │   │   ├── GettingStarted.md
│   │   │   │   │   ├── Installation.md
│   │   │   │   │   ├── ObjectiveC.md
│   │   │   │   │   ├── README.md
│   │   │   │   │   └── Troubleshooting.md
│   │   │   │   ├── Extensions
│   │   │   │   │   ├── Accounts
│   │   │   │   │   │   ├── Cartfile
│   │   │   │   │   │   ├── Cartfile.resolved
│   │   │   │   │   │   ├── Carthage.xcconfig
│   │   │   │   │   │   ├── Info.plist
│   │   │   │   │   │   ├── PMKAccounts.xcodeproj
│   │   │   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   └── xcschemes
│   │   │   │   │   │   │   └── PMKAccounts.xcscheme
│   │   │   │   │   │   ├── README.markdown
│   │   │   │   │   │   ├── Sources
│   │   │   │   │   │   │   ├── ACAccountStore+AnyPromise.h
│   │   │   │   │   │   │   ├── ACAccountStore+AnyPromise.m
│   │   │   │   │   │   │   └── ACAccountStore+Promise.swift
│   │   │   │   │   │   └── Tests
│   │   │   │   │   │   └── TestAccounts.swift
│   │   │   │   │   ├── AddressBook
│   │   │   │   │   │   ├── Cartfile
│   │   │   │   │   │   ├── Cartfile.resolved
│   │   │   │   │   │   ├── Carthage.xcconfig
│   │   │   │   │   │   ├── Info.plist
│   │   │   │   │   │   ├── PMKAddressBook.xcodeproj
│   │   │   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   └── xcschemes
│   │   │   │   │   │   │   └── PMKAddressBook.xcscheme
│   │   │   │   │   │   ├── README.markdown
│   │   │   │   │   │   ├── Sources
│   │   │   │   │   │   │   └── ABAddressBookRequestAccess+Promise.swift
│   │   │   │   │   │   └── Tests
│   │   │   │   │   │   └── TestAddressBook.swift
│   │   │   │   │   ├── Alamofire
│   │   │   │   │   │   ├── Cartfile
│   │   │   │   │   │   ├── Cartfile.private
│   │   │   │   │   │   ├── Cartfile.resolved
│   │   │   │   │   │   ├── Carthage.xcconfig
│   │   │   │   │   │   ├── Info.plist
│   │   │   │   │   │   ├── Package.swift
│   │   │   │   │   │   ├── PMKAlamofire.xcodeproj
│   │   │   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   └── xcschemes
│   │   │   │   │   │   │   └── PMKAlamofire.xcscheme
│   │   │   │   │   │   ├── README.markdown
│   │   │   │   │   │   ├── Sources
│   │   │   │   │   │   │   └── Alamofire+Promise.swift
│   │   │   │   │   │   └── Tests
│   │   │   │   │   │   └── TestAlamofire.swift
│   │   │   │   │   ├── AssetsLibrary
│   │   │   │   │   │   ├── Cartfile
│   │   │   │   │   │   ├── Cartfile.resolved
│   │   │   │   │   │   ├── Carthage.xcconfig
│   │   │   │   │   │   ├── Info.plist
│   │   │   │   │   │   ├── PMKAssetsLibrary.xcodeproj
│   │   │   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   └── xcschemes
│   │   │   │   │   │   │   └── PMKAssetsLibrary.xcscheme
│   │   │   │   │   │   ├── README.markdown
│   │   │   │   │   │   ├── Sources
│   │   │   │   │   │   │   └── ALAssetsLibrary+Promise.swift
│   │   │   │   │   │   └── Tests
│   │   │   │   │   │   ├── app.swift
│   │   │   │   │   │   ├── Default-568h@2x.png
│   │   │   │   │   │   ├── Entitlements.plist
│   │   │   │   │   │   └── TestUIImagePickerController.swift
│   │   │   │   │   ├── AVFoundation
│   │   │   │   │   │   ├── Cartfile
│   │   │   │   │   │   ├── Cartfile.resolved
│   │   │   │   │   │   ├── Carthage.xcconfig
│   │   │   │   │   │   ├── Info.plist
│   │   │   │   │   │   ├── PMKAVFoundation.xcodeproj
│   │   │   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   └── xcschemes
│   │   │   │   │   │   │   └── PMKAVFoundation.xcscheme
│   │   │   │   │   │   ├── README.markdown
│   │   │   │   │   │   ├── Sources
│   │   │   │   │   │   │   ├── AVAudioSession+AnyPromise.h
│   │   │   │   │   │   │   ├── AVAudioSession+AnyPromise.m
│   │   │   │   │   │   │   └── AVAudioSession+Promise.swift
│   │   │   │   │   │   └── Tests
│   │   │   │   │   │   ├── TestAVFoundation.m
│   │   │   │   │   │   └── TestAVFoundation.swift
│   │   │   │   │   ├── Bolts
│   │   │   │   │   │   ├── Cartfile
│   │   │   │   │   │   ├── Cartfile.resolved
│   │   │   │   │   │   ├── Carthage.xcconfig
│   │   │   │   │   │   ├── Info.plist
│   │   │   │   │   │   ├── PMKBolts.xcodeproj
│   │   │   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   └── xcschemes
│   │   │   │   │   │   │   └── PMKBolts.xcscheme
│   │   │   │   │   │   ├── README.markdown
│   │   │   │   │   │   ├── Sources
│   │   │   │   │   │   │   └── BFTask+Promise.swift
│   │   │   │   │   │   └── Tests
│   │   │   │   │   │   └── TestBolts.swift
│   │   │   │   │   ├── CloudKit
│   │   │   │   │   │   ├── Cartfile
│   │   │   │   │   │   ├── Cartfile.resolved
│   │   │   │   │   │   ├── Carthage.xcconfig
│   │   │   │   │   │   ├── Info.plist
│   │   │   │   │   │   ├── Package.swift
│   │   │   │   │   │   ├── PMKCloudKit.xcodeproj
│   │   │   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   └── xcschemes
│   │   │   │   │   │   │   └── PMKCloudKit.xcscheme
│   │   │   │   │   │   ├── README.markdown
│   │   │   │   │   │   ├── Sources
│   │   │   │   │   │   │   ├── CKContainer+AnyPromise.h
│   │   │   │   │   │   │   ├── CKContainer+AnyPromise.m
│   │   │   │   │   │   │   ├── CKContainer+Promise.swift
│   │   │   │   │   │   │   ├── CKDatabase+AnyPromise.h
│   │   │   │   │   │   │   ├── CKDatabase+AnyPromise.m
│   │   │   │   │   │   │   ├── CKDatabase+Promise.swift
│   │   │   │   │   │   │   └── PMKCloudKit.h
│   │   │   │   │   │   └── Tests
│   │   │   │   │   │   ├── infrastructure.h
│   │   │   │   │   │   ├── infrastructure.m
│   │   │   │   │   │   └── TestCloudKit.swift
│   │   │   │   │   ├── CoreBluetooth
│   │   │   │   │   │   ├── Cartfile
│   │   │   │   │   │   ├── Cartfile.resolved
│   │   │   │   │   │   ├── Carthage.xcconfig
│   │   │   │   │   │   ├── Info.plist
│   │   │   │   │   │   ├── PMKCoreBluetooth.xcodeproj
│   │   │   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   └── xcschemes
│   │   │   │   │   │   │   └── PMKCoreBluetooth.xcscheme
│   │   │   │   │   │   ├── README.markdown
│   │   │   │   │   │   ├── Sources
│   │   │   │   │   │   │   └── CBCentralManager+Promise.swift
│   │   │   │   │   │   └── Tests
│   │   │   │   │   │   └── CBTests.swift
│   │   │   │   │   ├── CoreLocation
│   │   │   │   │   │   ├── Cartfile
│   │   │   │   │   │   ├── Cartfile.resolved
│   │   │   │   │   │   ├── Carthage.xcconfig
│   │   │   │   │   │   ├── Info.plist
│   │   │   │   │   │   ├── PMKCoreLocation.xcodeproj
│   │   │   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   └── xcschemes
│   │   │   │   │   │   │   └── PMKCoreLocation.xcscheme
│   │   │   │   │   │   ├── README.markdown
│   │   │   │   │   │   ├── Sources
│   │   │   │   │   │   │   ├── CLGeocoder+AnyPromise.h
│   │   │   │   │   │   │   ├── CLGeocoder+AnyPromise.m
│   │   │   │   │   │   │   ├── CLGeocoder+Promise.swift
│   │   │   │   │   │   │   ├── CLLocationManager+AnyPromise.h
│   │   │   │   │   │   │   ├── CLLocationManager+AnyPromise.m
│   │   │   │   │   │   │   ├── CLLocationManager+Promise.swift
│   │   │   │   │   │   │   └── PMKCoreLocation.h
│   │   │   │   │   │   └── Tests
│   │   │   │   │   │   ├── CLGeocoderTests.swift
│   │   │   │   │   │   ├── CLLocationManagerTests.swift
│   │   │   │   │   │   └── Entitlements.plist
│   │   │   │   │   ├── EventKit
│   │   │   │   │   │   ├── Cartfile
│   │   │   │   │   │   ├── Cartfile.resolved
│   │   │   │   │   │   ├── Carthage.xcconfig
│   │   │   │   │   │   ├── Info.plist
│   │   │   │   │   │   ├── PMKEventKit.xcodeproj
│   │   │   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   └── xcschemes
│   │   │   │   │   │   │   └── PMKEventKit.xcscheme
│   │   │   │   │   │   ├── README.markdown
│   │   │   │   │   │   ├── Sources
│   │   │   │   │   │   │   └── EKEventStore+Promise.swift
│   │   │   │   │   │   └── Tests
│   │   │   │   │   │   ├── Entitlements.plist
│   │   │   │   │   │   └── TestEventKit.swift
│   │   │   │   │   ├── Foundation
│   │   │   │   │   │   ├── Cartfile
│   │   │   │   │   │   ├── Cartfile.private
│   │   │   │   │   │   ├── Cartfile.resolved
│   │   │   │   │   │   ├── Carthage.xcconfig
│   │   │   │   │   │   ├── Info.plist
│   │   │   │   │   │   ├── LICENSE
│   │   │   │   │   │   ├── Package.swift
│   │   │   │   │   │   ├── PMKFoundation.xcodeproj
│   │   │   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   └── xcschemes
│   │   │   │   │   │   │   └── PMKFoundation.xcscheme
│   │   │   │   │   │   ├── README.markdown
│   │   │   │   │   │   ├── Sources
│   │   │   │   │   │   │   ├── afterlife.swift
│   │   │   │   │   │   │   ├── NSNotificationCenter+AnyPromise.h
│   │   │   │   │   │   │   ├── NSNotificationCenter+AnyPromise.m
│   │   │   │   │   │   │   ├── NSNotificationCenter+Promise.swift
│   │   │   │   │   │   │   ├── NSObject+Promise.swift
│   │   │   │   │   │   │   ├── NSTask+AnyPromise.h
│   │   │   │   │   │   │   ├── NSTask+AnyPromise.m
│   │   │   │   │   │   │   ├── NSURLSession+AnyPromise.h
│   │   │   │   │   │   │   ├── NSURLSession+AnyPromise.m
│   │   │   │   │   │   │   ├── NSURLSession+Promise.swift
│   │   │   │   │   │   │   ├── PMKFoundation.h
│   │   │   │   │   │   │   └── Process+Promise.swift
│   │   │   │   │   │   └── Tests
│   │   │   │   │   │   ├── TestNSNotificationCenter.swift
│   │   │   │   │   │   ├── TestNSObject.swift
│   │   │   │   │   │   ├── TestNSTask.swift
│   │   │   │   │   │   ├── TestNSURLSession.m
│   │   │   │   │   │   └── TestNSURLSession.swift
│   │   │   │   │   ├── HomeKit
│   │   │   │   │   │   ├── Cartfile
│   │   │   │   │   │   ├── Cartfile.resolved
│   │   │   │   │   │   ├── Carthage.xcconfig
│   │   │   │   │   │   ├── Info.plist
│   │   │   │   │   │   ├── PMKHomeKit.xcodeproj
│   │   │   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   └── xcschemes
│   │   │   │   │   │   │   └── PMKHomeKit.xcscheme
│   │   │   │   │   │   ├── README.markdown
│   │   │   │   │   │   ├── Sources
│   │   │   │   │   │   │   ├── HMAcessoryBrowser+Promise.swift
│   │   │   │   │   │   │   ├── HMCharacteristic+Promise.swift
│   │   │   │   │   │   │   ├── HMHomeManager+Promise.swift
│   │   │   │   │   │   │   ├── HMHome+Promise.swift
│   │   │   │   │   │   │   └── Utils.swift
│   │   │   │   │   │   └── Tests
│   │   │   │   │   │   ├── Entitlements.plist
│   │   │   │   │   │   ├── HMAccessoryBrowserTests.swift
│   │   │   │   │   │   └── UtilsTests.swift
│   │   │   │   │   ├── MapKit
│   │   │   │   │   │   ├── Cartfile
│   │   │   │   │   │   ├── Cartfile.resolved
│   │   │   │   │   │   ├── Carthage.xcconfig
│   │   │   │   │   │   ├── Info.plist
│   │   │   │   │   │   ├── PMKMapKit.xcodeproj
│   │   │   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   └── xcschemes
│   │   │   │   │   │   │   └── PMKMapKit.xcscheme
│   │   │   │   │   │   ├── README.markdown
│   │   │   │   │   │   ├── Sources
│   │   │   │   │   │   │   ├── MKDirections+AnyPromise.h
│   │   │   │   │   │   │   ├── MKDirections+AnyPromise.m
│   │   │   │   │   │   │   ├── MKDirections+Promise.swift
│   │   │   │   │   │   │   ├── MKMapSnapshotter+AnyPromise.h
│   │   │   │   │   │   │   ├── MKMapSnapshotter+AnyPromise.m
│   │   │   │   │   │   │   ├── MKMapSnapshotter+Promise.swift
│   │   │   │   │   │   │   └── PMKMapKit.h
│   │   │   │   │   │   └── Tests
│   │   │   │   │   │   └── TestMapKit.swift
│   │   │   │   │   ├── MessagesUI
│   │   │   │   │   │   ├── Cartfile
│   │   │   │   │   │   ├── Cartfile.resolved
│   │   │   │   │   │   ├── Carthage.xcconfig
│   │   │   │   │   │   ├── Info.plist
│   │   │   │   │   │   ├── PMKMessagesUI.xcodeproj
│   │   │   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   └── xcschemes
│   │   │   │   │   │   │   └── PMKMessagesUI.xcscheme
│   │   │   │   │   │   ├── README.markdown
│   │   │   │   │   │   ├── Sources
│   │   │   │   │   │   │   ├── MFMailComposeViewController+Promise.swift
│   │   │   │   │   │   │   └── MFMessageComposeViewController+Promise.swift
│   │   │   │   │   │   └── Tests
│   │   │   │   │   │   └── TestMessageUI.swift
│   │   │   │   │   ├── OMGHTTPURLRQ
│   │   │   │   │   │   ├── Cartfile
│   │   │   │   │   │   ├── Cartfile.private
│   │   │   │   │   │   ├── Cartfile.resolved
│   │   │   │   │   │   ├── Carthage.xcconfig
│   │   │   │   │   │   ├── Info.plist
│   │   │   │   │   │   ├── PMKOMGHTTPURLRQ.xcodeproj
│   │   │   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   └── xcschemes
│   │   │   │   │   │   │   └── PMKOMGHTTPURLRQ.xcscheme
│   │   │   │   │   │   ├── README.markdown
│   │   │   │   │   │   ├── Sources
│   │   │   │   │   │   │   ├── NSURLSession+OMG+AnyPromise.m
│   │   │   │   │   │   │   ├── NSURLSession+OMG+Promise.swift
│   │   │   │   │   │   │   └── PMKOMGHTTPURLRQ.h
│   │   │   │   │   │   └── Tests
│   │   │   │   │   │   ├── TestNSURLSession.m
│   │   │   │   │   │   └── TestNSURLSession.swift
│   │   │   │   │   ├── Photos
│   │   │   │   │   │   ├── Cartfile
│   │   │   │   │   │   ├── Cartfile.resolved
│   │   │   │   │   │   ├── Carthage.xcconfig
│   │   │   │   │   │   ├── Info.plist
│   │   │   │   │   │   ├── PMKPhotos.xcodeproj
│   │   │   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   └── xcschemes
│   │   │   │   │   │   │   └── PMKPhotos.xcscheme
│   │   │   │   │   │   ├── README.markdown
│   │   │   │   │   │   ├── Sources
│   │   │   │   │   │   │   └── PHPhotoLibrary+Promise.swift
│   │   │   │   │   │   └── Tests
│   │   │   │   │   │   └── PHPhototLibraryTests.swift
│   │   │   │   │   ├── QuartzCore
│   │   │   │   │   │   ├── Cartfile
│   │   │   │   │   │   ├── Cartfile.resolved
│   │   │   │   │   │   ├── Carthage.xcconfig
│   │   │   │   │   │   ├── Info.plist
│   │   │   │   │   │   ├── PMKQCTests
│   │   │   │   │   │   │   ├── Info.plist
│   │   │   │   │   │   │   └── PMKQCTests.swift
│   │   │   │   │   │   ├── PMKQuartzCore.xcodeproj
│   │   │   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   └── xcschemes
│   │   │   │   │   │   │   └── PMKQuartzCore.xcscheme
│   │   │   │   │   │   ├── README.markdown
│   │   │   │   │   │   ├── Sources
│   │   │   │   │   │   │   ├── CALayer+AnyPromise.h
│   │   │   │   │   │   │   ├── CALayer+AnyPromise.m
│   │   │   │   │   │   │   └── PMKQuartzCore.h
│   │   │   │   │   │   └── Tests
│   │   │   │   │   │   └── TestQuartzCore.m
│   │   │   │   │   ├── Social
│   │   │   │   │   │   ├── Cartfile
│   │   │   │   │   │   ├── Cartfile.resolved
│   │   │   │   │   │   ├── Carthage.xcconfig
│   │   │   │   │   │   ├── Info.plist
│   │   │   │   │   │   ├── PMKSocial.xcodeproj
│   │   │   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   └── xcschemes
│   │   │   │   │   │   │   └── PMKSocial.xcscheme
│   │   │   │   │   │   ├── README.markdown
│   │   │   │   │   │   ├── Sources
│   │   │   │   │   │   │   ├── PMKSocial.h
│   │   │   │   │   │   │   ├── SLComposeViewController+Promise.swift
│   │   │   │   │   │   │   ├── SLRequest+AnyPromise.h
│   │   │   │   │   │   │   ├── SLRequest+AnyPromise.m
│   │   │   │   │   │   │   └── SLRequest+Promise.swift
│   │   │   │   │   │   └── Tests
│   │   │   │   │   │   ├── TestSLComposeViewController.swift
│   │   │   │   │   │   ├── TestSocial.m
│   │   │   │   │   │   └── TestSocial.swift
│   │   │   │   │   ├── StoreKit
│   │   │   │   │   │   ├── Cartfile
│   │   │   │   │   │   ├── Cartfile.resolved
│   │   │   │   │   │   ├── Carthage.xcconfig
│   │   │   │   │   │   ├── Info.plist
│   │   │   │   │   │   ├── PMKStoreKit.xcodeproj
│   │   │   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   └── xcschemes
│   │   │   │   │   │   │   └── PMKStoreKit.xcscheme
│   │   │   │   │   │   ├── README.markdown
│   │   │   │   │   │   ├── Sources
│   │   │   │   │   │   │   ├── PMKStoreKit.h
│   │   │   │   │   │   │   ├── SKPayment+Promise.swift
│   │   │   │   │   │   │   ├── SKPaymentQueue+Promise.swift
│   │   │   │   │   │   │   ├── SKProductsRequest+Promise.swift
│   │   │   │   │   │   │   ├── SKReceiptRefreshRequest+Promise.swift
│   │   │   │   │   │   │   ├── SKRequest+AnyPromise.h
│   │   │   │   │   │   │   └── SKRequest+AnyPromise.m
│   │   │   │   │   │   └── Tests
│   │   │   │   │   │   ├── TestStoreKit.m
│   │   │   │   │   │   └── TestStoreKit.swift
│   │   │   │   │   ├── SystemConfiguration
│   │   │   │   │   │   ├── Cartfile
│   │   │   │   │   │   ├── Cartfile.resolved
│   │   │   │   │   │   ├── Carthage.xcconfig
│   │   │   │   │   │   ├── Info.plist
│   │   │   │   │   │   ├── PMKSystemConfiguration.xcodeproj
│   │   │   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   └── xcschemes
│   │   │   │   │   │   │   └── PMKSystemConfiguration.xcscheme
│   │   │   │   │   │   ├── README.markdown
│   │   │   │   │   │   ├── Sources
│   │   │   │   │   │   │   ├── PMKSystemConfiguration.h
│   │   │   │   │   │   │   ├── SCNetworkReachability+AnyPromise.h
│   │   │   │   │   │   │   ├── SCNetworkReachability+AnyPromise.m
│   │   │   │   │   │   │   └── SCNetworkReachability+Promise.swift
│   │   │   │   │   │   └── Tests
│   │   │   │   │   │   └── SCTests.swift
│   │   │   │   │   ├── UIKit
│   │   │   │   │   │   ├── Cartfile
│   │   │   │   │   │   ├── Cartfile.resolved
│   │   │   │   │   │   ├── Carthage.xcconfig
│   │   │   │   │   │   ├── Info.plist
│   │   │   │   │   │   ├── PMKUIKit.xcodeproj
│   │   │   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   └── xcschemes
│   │   │   │   │   │   │   └── PMKUIKit.xcscheme
│   │   │   │   │   │   ├── README.markdown
│   │   │   │   │   │   ├── Sources
│   │   │   │   │   │   │   ├── PMKUIKit.h
│   │   │   │   │   │   │   ├── UIImagePickerController+Promise.swift
│   │   │   │   │   │   │   ├── UIView+AnyPromise.h
│   │   │   │   │   │   │   ├── UIView+AnyPromise.m
│   │   │   │   │   │   │   ├── UIViewController+AnyPromise.h
│   │   │   │   │   │   │   ├── UIViewController+AnyPromise.m
│   │   │   │   │   │   │   ├── UIView+Promise.swift
│   │   │   │   │   │   │   └── UIViewPropertyAnimator+Promise.swift
│   │   │   │   │   │   ├── Tests
│   │   │   │   │   │   │   ├── infrastructure.swift
│   │   │   │   │   │   │   ├── TestUIImagePickerController.swift
│   │   │   │   │   │   │   ├── TestUIViewController.m
│   │   │   │   │   │   │   └── TestUIView.swift
│   │   │   │   │   │   └── UITests
│   │   │   │   │   │   ├── app.swift
│   │   │   │   │   │   ├── Default-568h@2x.png
│   │   │   │   │   │   ├── Entitlements.plist
│   │   │   │   │   │   └── TestUIImagePickerController.swift
│   │   │   │   │   └── WatchConnectivity
│   │   │   │   │   ├── Cartfile
│   │   │   │   │   ├── Cartfile.resolved
│   │   │   │   │   ├── Carthage.xcconfig
│   │   │   │   │   ├── Info.plist
│   │   │   │   │   ├── PMKWatchConnectivity.xcodeproj
│   │   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   └── xcschemes
│   │   │   │   │   │   └── PMKWatchConnectivity.xcscheme
│   │   │   │   │   ├── README.markdown
│   │   │   │   │   ├── Sources
│   │   │   │   │   │   └── WCSession+Promise.swift
│   │   │   │   │   └── Tests
│   │   │   │   │   └── TestWatchConnectivity.swift
│   │   │   │   ├── LICENSE
│   │   │   │   ├── Package.swift
│   │   │   │   ├── PromiseKit.playground
│   │   │   │   │   ├── Contents.swift
│   │   │   │   │   ├── contents.xcplayground
│   │   │   │   │   └── section-1.swift
│   │   │   │   ├── PromiseKit.xcodeproj
│   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   │   └── xcshareddata
│   │   │   │   │   └── xcschemes
│   │   │   │   │   └── PromiseKit.xcscheme
│   │   │   │   ├── README.md
│   │   │   │   ├── Sources
│   │   │   │   │   ├── after.m
│   │   │   │   │   ├── after.swift
│   │   │   │   │   ├── AnyPromise.h
│   │   │   │   │   ├── AnyPromise.m
│   │   │   │   │   ├── AnyPromise+Private.h
│   │   │   │   │   ├── AnyPromise.swift
│   │   │   │   │   ├── Box.swift
│   │   │   │   │   ├── Catchable.swift
│   │   │   │   │   ├── Configuration.swift
│   │   │   │   │   ├── CustomStringConvertible.swift
│   │   │   │   │   ├── Deprecations.swift
│   │   │   │   │   ├── dispatch_promise.m
│   │   │   │   │   ├── DispatchQueue+Promise.swift
│   │   │   │   │   ├── Error.swift
│   │   │   │   │   ├── firstly.swift
│   │   │   │   │   ├── fwd.h
│   │   │   │   │   ├── GlobalState.m
│   │   │   │   │   ├── Guarantee.swift
│   │   │   │   │   ├── hang.m
│   │   │   │   │   ├── hang.swift
│   │   │   │   │   ├── Info.plist
│   │   │   │   │   ├── join.m
│   │   │   │   │   ├── join.swift
│   │   │   │   │   ├── NSMethodSignatureForBlock.m
│   │   │   │   │   ├── PMKCallVariadicBlock.m
│   │   │   │   │   ├── Promise+AnyPromise.swift
│   │   │   │   │   ├── PromiseKit.h
│   │   │   │   │   ├── Promise+Properties.swift
│   │   │   │   │   ├── Promise.swift
│   │   │   │   │   ├── race.m
│   │   │   │   │   ├── race.swift
│   │   │   │   │   ├── Resolver.swift
│   │   │   │   │   ├── State.swift
│   │   │   │   │   ├── SwiftPM.swift
│   │   │   │   │   ├── Thenable.swift
│   │   │   │   │   ├── when.m
│   │   │   │   │   ├── when.swift
│   │   │   │   │   ├── wrap.swift
│   │   │   │   │   └── Zalgo.swift
│   │   │   │   └── Tests
│   │   │   │   ├── A+
│   │   │   │   │   ├── 0.0.0.swift
│   │   │   │   │   ├── 2.1.2.swift
│   │   │   │   │   ├── 2.1.3.swift
│   │   │   │   │   ├── 2.2.2.swift
│   │   │   │   │   ├── 2.2.3.swift
│   │   │   │   │   ├── 2.2.4.swift
│   │   │   │   │   ├── 2.2.6.swift
│   │   │   │   │   ├── 2.2.7.swift
│   │   │   │   │   ├── 2.3.1.swift
│   │   │   │   │   ├── 2.3.2.swift
│   │   │   │   │   ├── 2.3.4.swift
│   │   │   │   │   └── README.md
│   │   │   │   ├── Bridging
│   │   │   │   │   ├── BridgingTests.m
│   │   │   │   │   ├── BridgingTests.swift
│   │   │   │   │   ├── Infrastructure.h
│   │   │   │   │   ├── Infrastructure.m
│   │   │   │   │   └── Infrastructure.swift
│   │   │   │   ├── CoreObjC
│   │   │   │   │   ├── AnyPromiseTests.m
│   │   │   │   │   ├── AnyPromiseTests.swift
│   │   │   │   │   ├── HangTests.m
│   │   │   │   │   ├── JoinTests.m
│   │   │   │   │   ├── PMKManifoldTests.m
│   │   │   │   │   └── WhenTests.m
│   │   │   │   ├── CorePromise
│   │   │   │   │   ├── 01_AnyPromiseTests.m
│   │   │   │   │   ├── 01_PromiseTests.swift
│   │   │   │   │   ├── 02_CancellationTests.swift
│   │   │   │   │   ├── 02_DefaultDispatchQueueTests.swift
│   │   │   │   │   ├── 02_ErrorUnhandlerTests.m
│   │   │   │   │   ├── 02_ErrorUnhandlerTests.swift
│   │   │   │   │   ├── 02_PMKManifoldTests.m
│   │   │   │   │   ├── 02_ZalgoTests.swift
│   │   │   │   │   ├── 03_AfterTests.swift
│   │   │   │   │   ├── 03_HangTests.m
│   │   │   │   │   ├── 03_JoinTests.m
│   │   │   │   │   ├── 03_JoinTests.swift
│   │   │   │   │   ├── 03_JointTests.swift
│   │   │   │   │   ├── 03_RaceTests.swift
│   │   │   │   │   ├── 03_WhenConcurrentTests.swift
│   │   │   │   │   ├── 03_WhenTests.m
│   │   │   │   │   ├── 03_WhenTests.swift
│   │   │   │   │   ├── 03_WrapTests.swift
│   │   │   │   │   ├── 04_VerifySubclassing.swift
│   │   │   │   │   ├── 05_PromiseTupleTests.swift
│   │   │   │   │   ├── 98_StressTests.swift
│   │   │   │   │   ├── 99_RegressionTests.swift
│   │   │   │   │   ├── AfterTests.swift
│   │   │   │   │   ├── CancellableErrorTests.swift
│   │   │   │   │   ├── CatchableTests.swift
│   │   │   │   │   ├── DefaultDispatchQueueTests.swift
│   │   │   │   │   ├── ErrorTests.swift
│   │   │   │   │   ├── GuaranteeTests.swift
│   │   │   │   │   ├── HangTests.swift
│   │   │   │   │   ├── Infrastructure.h
│   │   │   │   │   ├── Infrastructure.m
│   │   │   │   │   ├── Infrastructure.swift
│   │   │   │   │   ├── PMKDefaultDispatchQueueTest.swift
│   │   │   │   │   ├── PromiseTests.swift
│   │   │   │   │   ├── RaceTests.swift
│   │   │   │   │   ├── RegressionTests.swift
│   │   │   │   │   ├── ResolverTests.swift
│   │   │   │   │   ├── StressTests.swift
│   │   │   │   │   ├── ThenableTests.swift
│   │   │   │   │   ├── Utilities.swift
│   │   │   │   │   ├── WhenConcurrentTests.swift
│   │   │   │   │   ├── WhenResolvedTests.swift
│   │   │   │   │   ├── WhenTests.swift
│   │   │   │   │   └── ZalgoTests.swift
│   │   │   │   ├── DeprecationTests.swift
│   │   │   │   ├── JS-A+
│   │   │   │   │   ├── AllTests.swift
│   │   │   │   │   ├── index.js
│   │   │   │   │   ├── JSAdapter.swift
│   │   │   │   │   ├── JSPromise.swift
│   │   │   │   │   ├── JSUtils.swift
│   │   │   │   │   ├── MockNodeEnvironment.swift
│   │   │   │   │   ├── package.json
│   │   │   │   │   ├── package-lock.json
│   │   │   │   │   ├── README.md
│   │   │   │   │   └── webpack.config.js
│   │   │   │   └── LinuxMain.swift
│   │   │   └── RxSwift
│   │   │   ├── assets
│   │   │   │   ├── CNAME.txt
│   │   │   │   ├── LICENSE.txt
│   │   │   │   └── Rx_Logo_M.png
│   │   │   ├── CHANGELOG.md
│   │   │   ├── CODE_OF_CONDUCT.md
│   │   │   ├── CONTRIBUTING.md
│   │   │   ├── Dangerfile
│   │   │   ├── default.profraw
│   │   │   ├── Documentation
│   │   │   │   ├── ComparisonWithOtherLibraries.md
│   │   │   │   ├── DesignRationale.md
│   │   │   │   ├── ExampleApp.md
│   │   │   │   ├── Examples.md
│   │   │   │   ├── GettingStarted.md
│   │   │   │   ├── HotAndColdObservables.md
│   │   │   │   ├── MathBehindRx.md
│   │   │   │   ├── NewFeatureRequestTemplate.md
│   │   │   │   ├── Playgrounds.md
│   │   │   │   ├── Schedulers.md
│   │   │   │   ├── Subjects.md
│   │   │   │   ├── Tips.md
│   │   │   │   ├── Traits.md
│   │   │   │   ├── UnitTests.md
│   │   │   │   ├── Warnings.md
│   │   │   │   └── Why.md
│   │   │   ├── Gemfile
│   │   │   ├── Gemfile.lock
│   │   │   ├── LICENSE.md
│   │   │   ├── Package.swift
│   │   │   ├── Platform
│   │   │   │   ├── DataStructures
│   │   │   │   │   ├── Bag.swift
│   │   │   │   │   ├── InfiniteSequence.swift
│   │   │   │   │   ├── PriorityQueue.swift
│   │   │   │   │   └── Queue.swift
│   │   │   │   ├── DeprecationWarner.swift
│   │   │   │   ├── DispatchQueue+Extensions.swift
│   │   │   │   ├── Platform.Darwin.swift
│   │   │   │   ├── Platform.Linux.swift
│   │   │   │   └── RecursiveLock.swift
│   │   │   ├── Preprocessor
│   │   │   │   ├── Preprocessor
│   │   │   │   │   └── main.swift
│   │   │   │   ├── Preprocessor.xcodeproj
│   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   └── project.xcworkspace
│   │   │   │   │   └── contents.xcworkspacedata
│   │   │   │   └── README.md
│   │   │   ├── README.md
│   │   │   ├── RxBlocking
│   │   │   │   ├── BlockingObservable+Operators.swift
│   │   │   │   ├── BlockingObservable.swift
│   │   │   │   ├── Info.plist
│   │   │   │   ├── ObservableConvertibleType+Blocking.swift
│   │   │   │   ├── Platform
│   │   │   │   │   ├── Platform.Darwin.swift
│   │   │   │   │   ├── Platform.Linux.swift
│   │   │   │   │   └── RecursiveLock.swift
│   │   │   │   ├── README.md
│   │   │   │   ├── Resources.swift
│   │   │   │   └── RunLoopLock.swift
│   │   │   ├── RxBlocking.podspec
│   │   │   ├── RxCocoa
│   │   │   │   ├── Common
│   │   │   │   │   ├── Binder.swift
│   │   │   │   │   ├── ControlTarget.swift
│   │   │   │   │   ├── DelegateProxy.swift
│   │   │   │   │   ├── DelegateProxyType.swift
│   │   │   │   │   ├── KeyPathBinder.swift
│   │   │   │   │   ├── NSLayoutConstraint+Rx.swift
│   │   │   │   │   ├── Observable+Bind.swift
│   │   │   │   │   ├── RxCocoaObjCRuntimeError+Extensions.swift
│   │   │   │   │   ├── RxTarget.swift
│   │   │   │   │   ├── SectionedViewDataSourceType.swift
│   │   │   │   │   └── TextInput.swift
│   │   │   │   ├── Deprecated.swift
│   │   │   │   ├── Foundation
│   │   │   │   │   ├── KVORepresentable+CoreGraphics.swift
│   │   │   │   │   ├── KVORepresentable.swift
│   │   │   │   │   ├── KVORepresentable+Swift.swift
│   │   │   │   │   ├── Logging.swift
│   │   │   │   │   ├── NotificationCenter+Rx.swift
│   │   │   │   │   ├── NSObject+Rx+KVORepresentable.swift
│   │   │   │   │   ├── NSObject+Rx+RawRepresentable.swift
│   │   │   │   │   ├── NSObject+Rx.swift
│   │   │   │   │   └── URLSession+Rx.swift
│   │   │   │   ├── Info.plist
│   │   │   │   ├── iOS
│   │   │   │   │   ├── DataSources
│   │   │   │   │   │   ├── RxCollectionViewReactiveArrayDataSource.swift
│   │   │   │   │   │   ├── RxPickerViewAdapter.swift
│   │   │   │   │   │   └── RxTableViewReactiveArrayDataSource.swift
│   │   │   │   │   ├── Events
│   │   │   │   │   │   └── ItemEvents.swift
│   │   │   │   │   ├── NSTextStorage+Rx.swift
│   │   │   │   │   ├── Protocols
│   │   │   │   │   │   ├── RxCollectionViewDataSourceType.swift
│   │   │   │   │   │   ├── RxPickerViewDataSourceType.swift
│   │   │   │   │   │   └── RxTableViewDataSourceType.swift
│   │   │   │   │   ├── Proxies
│   │   │   │   │   │   ├── RxCollectionViewDataSourcePrefetchingProxy.swift
│   │   │   │   │   │   ├── RxCollectionViewDataSourceProxy.swift
│   │   │   │   │   │   ├── RxCollectionViewDelegateProxy.swift
│   │   │   │   │   │   ├── RxNavigationControllerDelegateProxy.swift
│   │   │   │   │   │   ├── RxPickerViewDataSourceProxy.swift
│   │   │   │   │   │   ├── RxPickerViewDelegateProxy.swift
│   │   │   │   │   │   ├── RxScrollViewDelegateProxy.swift
│   │   │   │   │   │   ├── RxSearchBarDelegateProxy.swift
│   │   │   │   │   │   ├── RxSearchControllerDelegateProxy.swift
│   │   │   │   │   │   ├── RxTabBarControllerDelegateProxy.swift
│   │   │   │   │   │   ├── RxTabBarDelegateProxy.swift
│   │   │   │   │   │   ├── RxTableViewDataSourcePrefetchingProxy.swift
│   │   │   │   │   │   ├── RxTableViewDataSourceProxy.swift
│   │   │   │   │   │   ├── RxTableViewDelegateProxy.swift
│   │   │   │   │   │   ├── RxTextStorageDelegateProxy.swift
│   │   │   │   │   │   ├── RxTextViewDelegateProxy.swift
│   │   │   │   │   │   └── RxWebViewDelegateProxy.swift
│   │   │   │   │   ├── UIActivityIndicatorView+Rx.swift
│   │   │   │   │   ├── UIAlertAction+Rx.swift
│   │   │   │   │   ├── UIApplication+Rx.swift
│   │   │   │   │   ├── UIBarButtonItem+Rx.swift
│   │   │   │   │   ├── UIButton+Rx.swift
│   │   │   │   │   ├── UICollectionView+Rx.swift
│   │   │   │   │   ├── UIControl+Rx.swift
│   │   │   │   │   ├── UIDatePicker+Rx.swift
│   │   │   │   │   ├── UIGestureRecognizer+Rx.swift
│   │   │   │   │   ├── UIImageView+Rx.swift
│   │   │   │   │   ├── UILabel+Rx.swift
│   │   │   │   │   ├── UINavigationController+Rx.swift
│   │   │   │   │   ├── UINavigationItem+Rx.swift
│   │   │   │   │   ├── UIPageControl+Rx.swift
│   │   │   │   │   ├── UIPickerView+Rx.swift
│   │   │   │   │   ├── UIProgressView+Rx.swift
│   │   │   │   │   ├── UIRefreshControl+Rx.swift
│   │   │   │   │   ├── UIScrollView+Rx.swift
│   │   │   │   │   ├── UISearchBar+Rx.swift
│   │   │   │   │   ├── UISearchController+Rx.swift
│   │   │   │   │   ├── UISegmentedControl+Rx.swift
│   │   │   │   │   ├── UISlider+Rx.swift
│   │   │   │   │   ├── UIStepper+Rx.swift
│   │   │   │   │   ├── UISwitch+Rx.swift
│   │   │   │   │   ├── UITabBarController+Rx.swift
│   │   │   │   │   ├── UITabBarItem+Rx.swift
│   │   │   │   │   ├── UITabBar+Rx.swift
│   │   │   │   │   ├── UITableView+Rx.swift
│   │   │   │   │   ├── UITextField+Rx.swift
│   │   │   │   │   ├── UITextView+Rx.swift
│   │   │   │   │   ├── UIViewController+Rx.swift
│   │   │   │   │   ├── UIView+Rx.swift
│   │   │   │   │   └── UIWebView+Rx.swift
│   │   │   │   ├── macOS
│   │   │   │   │   ├── NSButton+Rx.swift
│   │   │   │   │   ├── NSControl+Rx.swift
│   │   │   │   │   ├── NSImageView+Rx.swift
│   │   │   │   │   ├── NSSlider+Rx.swift
│   │   │   │   │   ├── NSTextField+Rx.swift
│   │   │   │   │   └── NSView+Rx.swift
│   │   │   │   ├── Platform
│   │   │   │   │   └── DispatchQueue+Extensions.swift
│   │   │   │   ├── Runtime
│   │   │   │   │   ├── include
│   │   │   │   │   │   ├── RxCocoaRuntime.h
│   │   │   │   │   │   ├── _RXDelegateProxy.h
│   │   │   │   │   │   ├── _RX.h
│   │   │   │   │   │   ├── _RXKVOObserver.h
│   │   │   │   │   │   └── _RXObjCRuntime.h
│   │   │   │   │   ├── _RXDelegateProxy.m
│   │   │   │   │   ├── _RXKVOObserver.m
│   │   │   │   │   ├── _RX.m
│   │   │   │   │   └── _RXObjCRuntime.m
│   │   │   │   ├── RxCocoa.h
│   │   │   │   ├── RxCocoa.swift
│   │   │   │   └── Traits
│   │   │   │   ├── BehaviorRelay.swift
│   │   │   │   ├── ControlEvent.swift
│   │   │   │   ├── ControlProperty.swift
│   │   │   │   ├── Driver
│   │   │   │   │   ├── BehaviorRelay+Driver.swift
│   │   │   │   │   ├── ControlEvent+Driver.swift
│   │   │   │   │   ├── ControlProperty+Driver.swift
│   │   │   │   │   ├── Driver+Subscription.swift
│   │   │   │   │   ├── Driver.swift
│   │   │   │   │   └── ObservableConvertibleType+Driver.swift
│   │   │   │   ├── PublishRelay.swift
│   │   │   │   ├── SharedSequence
│   │   │   │   │   ├── ObservableConvertibleType+SharedSequence.swift
│   │   │   │   │   ├── SchedulerType+SharedSequence.swift
│   │   │   │   │   ├── SharedSequence+Operators+arity.swift
│   │   │   │   │   ├── SharedSequence+Operators+arity.tt
│   │   │   │   │   ├── SharedSequence+Operators.swift
│   │   │   │   │   └── SharedSequence.swift
│   │   │   │   └── Signal
│   │   │   │   ├── ControlEvent+Signal.swift
│   │   │   │   ├── ObservableConvertibleType+Signal.swift
│   │   │   │   ├── PublishRelay+Signal.swift
│   │   │   │   ├── Signal+Subscription.swift
│   │   │   │   └── Signal.swift
│   │   │   ├── RxCocoa.podspec
│   │   │   ├── RxExample
│   │   │   │   ├── Extensions
│   │   │   │   │   ├── CLLocationManager+Rx.swift
│   │   │   │   │   ├── RxCLLocationManagerDelegateProxy.swift
│   │   │   │   │   ├── RxImagePickerDelegateProxy.swift
│   │   │   │   │   └── UIImagePickerController+Rx.swift
│   │   │   │   ├── RxDataSources
│   │   │   │   │   ├── Differentiator
│   │   │   │   │   │   ├── AnimatableSectionModel.swift
│   │   │   │   │   │   ├── AnimatableSectionModelType+ItemPath.swift
│   │   │   │   │   │   ├── AnimatableSectionModelType.swift
│   │   │   │   │   │   ├── Changeset.swift
│   │   │   │   │   │   ├── Differentiator.h
│   │   │   │   │   │   ├── Diff.swift
│   │   │   │   │   │   ├── IdentifiableType.swift
│   │   │   │   │   │   ├── IdentifiableValue.swift
│   │   │   │   │   │   ├── Info.plist
│   │   │   │   │   │   ├── ItemPath.swift
│   │   │   │   │   │   ├── Optional+Extensions.swift
│   │   │   │   │   │   ├── SectionModel.swift
│   │   │   │   │   │   ├── SectionModelType.swift
│   │   │   │   │   │   └── Utilities.swift
│   │   │   │   │   ├── README.md
│   │   │   │   │   └── RxDataSources
│   │   │   │   │   ├── AnimationConfiguration.swift
│   │   │   │   │   ├── Array+Extensions.swift
│   │   │   │   │   ├── CollectionViewSectionedDataSource.swift
│   │   │   │   │   ├── DataSources.swift
│   │   │   │   │   ├── Deprecated.swift
│   │   │   │   │   ├── FloatingPointType+IdentifiableType.swift
│   │   │   │   │   ├── Info.plist
│   │   │   │   │   ├── IntegerType+IdentifiableType.swift
│   │   │   │   │   ├── RxCollectionViewSectionedAnimatedDataSource.swift
│   │   │   │   │   ├── RxCollectionViewSectionedReloadDataSource.swift
│   │   │   │   │   ├── RxDataSources.h
│   │   │   │   │   ├── RxPickerViewAdapter.swift
│   │   │   │   │   ├── RxTableViewSectionedAnimatedDataSource.swift
│   │   │   │   │   ├── RxTableViewSectionedReloadDataSource.swift
│   │   │   │   │   ├── String+IdentifiableType.swift
│   │   │   │   │   ├── TableViewSectionedDataSource.swift
│   │   │   │   │   └── UI+SectionedViewType.swift
│   │   │   │   ├── RxExample
│   │   │   │   │   ├── Application+Extensions.swift
│   │   │   │   │   ├── Examples
│   │   │   │   │   │   ├── APIWrappers
│   │   │   │   │   │   │   ├── APIWrappers.storyboard
│   │   │   │   │   │   │   └── APIWrappersViewController.swift
│   │   │   │   │   │   ├── Calculator
│   │   │   │   │   │   │   ├── Calculator.storyboard
│   │   │   │   │   │   │   ├── Calculator.swift
│   │   │   │   │   │   │   └── CalculatorViewController.swift
│   │   │   │   │   │   ├── Dependencies.swift
│   │   │   │   │   │   ├── GeolocationExample
│   │   │   │   │   │   │   ├── Geolocation.storyboard
│   │   │   │   │   │   │   └── GeolocationViewController.swift
│   │   │   │   │   │   ├── GitHubSearchRepositories
│   │   │   │   │   │   │   ├── GitHubSearchRepositoriesAPI.swift
│   │   │   │   │   │   │   ├── GitHubSearchRepositories.storyboard
│   │   │   │   │   │   │   ├── GitHubSearchRepositories.swift
│   │   │   │   │   │   │   ├── GitHubSearchRepositoriesViewController.swift
│   │   │   │   │   │   │   └── UINavigationController+Extensions.swift
│   │   │   │   │   │   ├── GitHubSignup
│   │   │   │   │   │   │   ├── BindingExtensions.swift
│   │   │   │   │   │   │   ├── DefaultImplementations.swift
│   │   │   │   │   │   │   ├── GitHubSignup1.storyboard
│   │   │   │   │   │   │   ├── GitHubSignup2.storyboard
│   │   │   │   │   │   │   ├── Protocols.swift
│   │   │   │   │   │   │   ├── UsingDriver
│   │   │   │   │   │   │   │   ├── GitHubSignupViewController2.swift
│   │   │   │   │   │   │   │   └── GithubSignupViewModel2.swift
│   │   │   │   │   │   │   └── UsingVanillaObservables
│   │   │   │   │   │   │   ├── GitHubSignupViewController1.swift
│   │   │   │   │   │   │   └── GithubSignupViewModel1.swift
│   │   │   │   │   │   ├── ImagePicker
│   │   │   │   │   │   │   ├── ImagePickerController.swift
│   │   │   │   │   │   │   ├── ImagePicker.storyboard
│   │   │   │   │   │   │   └── UIImagePickerController+RxCreate.swift
│   │   │   │   │   │   ├── macOS simple example
│   │   │   │   │   │   │   └── IntroductionExampleViewController.swift
│   │   │   │   │   │   ├── Numbers
│   │   │   │   │   │   │   ├── Numbers.storyboard
│   │   │   │   │   │   │   └── NumbersViewController.swift
│   │   │   │   │   │   ├── SimpleTableViewExample
│   │   │   │   │   │   │   ├── SimpleTableViewExample.storyboard
│   │   │   │   │   │   │   └── SimpleTableViewExampleViewController.swift
│   │   │   │   │   │   ├── SimpleTableViewExampleSectioned
│   │   │   │   │   │   │   ├── SimpleTableViewExampleSectioned.storyboard
│   │   │   │   │   │   │   └── SimpleTableViewExampleSectionedViewController.swift
│   │   │   │   │   │   ├── SimpleValidation
│   │   │   │   │   │   │   ├── SimpleValidation.storyboard
│   │   │   │   │   │   │   └── SimpleValidationViewController.swift
│   │   │   │   │   │   ├── TableViewPartialUpdates
│   │   │   │   │   │   │   ├── NumberCell.swift
│   │   │   │   │   │   │   ├── NumberSectionView.swift
│   │   │   │   │   │   │   ├── PartialUpdates.storyboard
│   │   │   │   │   │   │   └── PartialUpdatesViewController.swift
│   │   │   │   │   │   ├── TableViewWithEditingCommands
│   │   │   │   │   │   │   ├── DetailViewController.swift
│   │   │   │   │   │   │   ├── RandomUserAPI.swift
│   │   │   │   │   │   │   ├── TableViewWithEditingCommands.storyboard
│   │   │   │   │   │   │   ├── TableViewWithEditingCommandsViewController.swift
│   │   │   │   │   │   │   ├── UIImageView+Extensions.swift
│   │   │   │   │   │   │   └── User.swift
│   │   │   │   │   │   ├── UIPickerViewExample
│   │   │   │   │   │   │   ├── CustomPickerViewAdapterExampleViewController.swift
│   │   │   │   │   │   │   ├── SimplePickerViewExampleViewController.swift
│   │   │   │   │   │   │   └── SimpleUIPickerViewExample.storyboard
│   │   │   │   │   │   └── WikipediaImageSearch
│   │   │   │   │   │   ├── ViewModels
│   │   │   │   │   │   │   └── SearchResultViewModel.swift
│   │   │   │   │   │   ├── Views
│   │   │   │   │   │   │   ├── CollectionViewImageCell.swift
│   │   │   │   │   │   │   ├── WikipediaImageCell.xib
│   │   │   │   │   │   │   ├── WikipediaSearchCell.swift
│   │   │   │   │   │   │   ├── WikipediaSearchCell.xib
│   │   │   │   │   │   │   └── WikipediaSearchViewController.swift
│   │   │   │   │   │   ├── WikipediaAPI
│   │   │   │   │   │   │   ├── WikipediaAPI.swift
│   │   │   │   │   │   │   ├── WikipediaPage.swift
│   │   │   │   │   │   │   └── WikipediaSearchResult.swift
│   │   │   │   │   │   └── WikipediaSearch.storyboard
│   │   │   │   │   ├── Example.swift
│   │   │   │   │   ├── Feedbacks.swift
│   │   │   │   │   ├── Images.xcassets
│   │   │   │   │   │   ├── AppIcon.appiconset
│   │   │   │   │   │   │   ├── Contents.json
│   │   │   │   │   │   │   ├── Icon-40@2x-1.png
│   │   │   │   │   │   │   ├── Icon-40@2x.png
│   │   │   │   │   │   │   ├── Icon-40.png
│   │   │   │   │   │   │   ├── Icon-60@2x-1.png
│   │   │   │   │   │   │   ├── Icon-60@2x.png
│   │   │   │   │   │   │   ├── Icon-60@3x.png
│   │   │   │   │   │   │   ├── Icon-76@2x.png
│   │   │   │   │   │   │   ├── Icon-76.png
│   │   │   │   │   │   │   ├── Icon-Small@2x-1.png
│   │   │   │   │   │   │   ├── Icon-Small@3x.png
│   │   │   │   │   │   │   ├── Icon-Small.png
│   │   │   │   │   │   │   ├── Rx_Logo-iPad.png
│   │   │   │   │   │   │   ├── Rx_Logo_L.png
│   │   │   │   │   │   │   └── Rx_Logo_M.png
│   │   │   │   │   │   └── ReactiveExtensionsLogo.imageset
│   │   │   │   │   │   ├── Contents.json
│   │   │   │   │   │   ├── ReactiveExtensionsLogo-2.png
│   │   │   │   │   │   └── ReactiveExtensionsLogo.png
│   │   │   │   │   ├── Info-iOS.plist
│   │   │   │   │   ├── Info-macOS.plist
│   │   │   │   │   ├── iOS
│   │   │   │   │   │   ├── AppDelegate.swift
│   │   │   │   │   │   ├── LaunchScreen.xib
│   │   │   │   │   │   ├── Main.storyboard
│   │   │   │   │   │   ├── RootViewController.swift
│   │   │   │   │   │   └── UITableView+Extensions.swift
│   │   │   │   │   ├── Lenses.swift
│   │   │   │   │   ├── macOS
│   │   │   │   │   │   ├── AppDelegate.swift
│   │   │   │   │   │   └── Main.storyboard
│   │   │   │   │   ├── Observable+Extensions.swift
│   │   │   │   │   ├── Operators.swift
│   │   │   │   │   ├── Result.swift
│   │   │   │   │   ├── RxExample.xcdatamodeld
│   │   │   │   │   │   └── RxExample.xcdatamodel
│   │   │   │   │   │   └── contents
│   │   │   │   │   ├── Services
│   │   │   │   │   │   ├── ActivityIndicator.swift
│   │   │   │   │   │   ├── DownloadableImage.swift
│   │   │   │   │   │   ├── GeolocationService.swift
│   │   │   │   │   │   ├── HtmlParsing.swift
│   │   │   │   │   │   ├── ImageService.swift
│   │   │   │   │   │   ├── PseudoRandomGenerator.swift
│   │   │   │   │   │   ├── Randomizer.swift
│   │   │   │   │   │   ├── ReachabilityService.swift
│   │   │   │   │   │   ├── Reachability.swift
│   │   │   │   │   │   ├── UIImage+Extensions.swift
│   │   │   │   │   │   ├── UIImageView+DownloadableImage.swift
│   │   │   │   │   │   └── Wireframe.swift
│   │   │   │   │   ├── String+URL.swift
│   │   │   │   │   ├── Version.swift
│   │   │   │   │   └── ViewController.swift
│   │   │   │   ├── RxExample-iOSTests
│   │   │   │   │   ├── CLLocationManager+RxTests.swift
│   │   │   │   │   ├── Info.plist
│   │   │   │   │   ├── Mocks
│   │   │   │   │   │   ├── MockGitHubAPI.swift
│   │   │   │   │   │   ├── MockWireframe.swift
│   │   │   │   │   │   ├── NotImplementedStubs.swift
│   │   │   │   │   │   └── ValidationResult+Equatable.swift
│   │   │   │   │   ├── RxExample_iOSTests.swift
│   │   │   │   │   ├── RxTest.swift
│   │   │   │   │   ├── TestScheduler+MarbleTests.swift
│   │   │   │   │   └── UIImagePickerController+RxTests.swift
│   │   │   │   ├── RxExample-iOSUITests
│   │   │   │   │   ├── FlowTests.swift
│   │   │   │   │   └── Info.plist
│   │   │   │   ├── RxExample-macOSUITests
│   │   │   │   │   ├── Info.plist
│   │   │   │   │   └── RxExample_macOSUITests.swift
│   │   │   │   └── RxExample.xcodeproj
│   │   │   │   ├── project.pbxproj
│   │   │   │   ├── project.xcworkspace
│   │   │   │   │   └── contents.xcworkspacedata
│   │   │   │   └── xcshareddata
│   │   │   │   └── xcschemes
│   │   │   │   ├── RxExample-iOSTests.xcscheme
│   │   │   │   ├── RxExample-iOSUITests.xcscheme
│   │   │   │   ├── RxExample-iOS.xcscheme
│   │   │   │   ├── RxExample-macOSUITests.xcscheme
│   │   │   │   └── RxExample-macOS.xcscheme
│   │   │   ├── Rx.playground
│   │   │   │   ├── contents.xcplayground
│   │   │   │   ├── Pages
│   │   │   │   │   ├── Combining_Operators.xcplaygroundpage
│   │   │   │   │   │   └── Contents.swift
│   │   │   │   │   ├── Connectable_Operators.xcplaygroundpage
│   │   │   │   │   │   └── Contents.swift
│   │   │   │   │   ├── Creating_and_Subscribing_to_Observables.xcplaygroundpage
│   │   │   │   │   │   └── Contents.swift
│   │   │   │   │   ├── Debugging_Operators.xcplaygroundpage
│   │   │   │   │   │   └── Contents.swift
│   │   │   │   │   ├── Enable_RxSwift.Resources.total.xcplaygroundpage
│   │   │   │   │   │   └── Contents.swift
│   │   │   │   │   ├── Error_Handling_Operators.xcplaygroundpage
│   │   │   │   │   │   └── Contents.swift
│   │   │   │   │   ├── Filtering_and_Conditional_Operators.xcplaygroundpage
│   │   │   │   │   │   └── Contents.swift
│   │   │   │   │   ├── Introduction.xcplaygroundpage
│   │   │   │   │   │   └── Contents.swift
│   │   │   │   │   ├── Mathematical_and_Aggregate_Operators.xcplaygroundpage
│   │   │   │   │   │   └── Contents.swift
│   │   │   │   │   ├── Table_of_Contents.xcplaygroundpage
│   │   │   │   │   │   └── Contents.swift
│   │   │   │   │   ├── Transforming_Operators.xcplaygroundpage
│   │   │   │   │   │   └── Contents.swift
│   │   │   │   │   ├── TryYourself.xcplaygroundpage
│   │   │   │   │   │   └── Contents.swift
│   │   │   │   │   └── Working_with_Subjects.xcplaygroundpage
│   │   │   │   │   └── Contents.swift
│   │   │   │   ├── Sources
│   │   │   │   │   └── SupportCode.swift
│   │   │   │   └── SupportCode.remap
│   │   │   ├── RxSwift
│   │   │   │   ├── AnyObserver.swift
│   │   │   │   ├── Cancelable.swift
│   │   │   │   ├── Concurrency
│   │   │   │   │   ├── AsyncLock.swift
│   │   │   │   │   ├── LockOwnerType.swift
│   │   │   │   │   ├── Lock.swift
│   │   │   │   │   ├── SynchronizedDisposeType.swift
│   │   │   │   │   ├── SynchronizedOnType.swift
│   │   │   │   │   └── SynchronizedUnsubscribeType.swift
│   │   │   │   ├── ConnectableObservableType.swift
│   │   │   │   ├── Deprecated.swift
│   │   │   │   ├── Disposables
│   │   │   │   │   ├── AnonymousDisposable.swift
│   │   │   │   │   ├── BinaryDisposable.swift
│   │   │   │   │   ├── BooleanDisposable.swift
│   │   │   │   │   ├── CompositeDisposable.swift
│   │   │   │   │   ├── Disposables.swift
│   │   │   │   │   ├── DisposeBag.swift
│   │   │   │   │   ├── DisposeBase.swift
│   │   │   │   │   ├── NopDisposable.swift
│   │   │   │   │   ├── RefCountDisposable.swift
│   │   │   │   │   ├── ScheduledDisposable.swift
│   │   │   │   │   ├── SerialDisposable.swift
│   │   │   │   │   ├── SingleAssignmentDisposable.swift
│   │   │   │   │   └── SubscriptionDisposable.swift
│   │   │   │   ├── Disposable.swift
│   │   │   │   ├── Errors.swift
│   │   │   │   ├── Event.swift
│   │   │   │   ├── Extensions
│   │   │   │   │   ├── Bag+Rx.swift
│   │   │   │   │   └── String+Rx.swift
│   │   │   │   ├── GroupedObservable.swift
│   │   │   │   ├── ImmediateSchedulerType.swift
│   │   │   │   ├── Info.plist
│   │   │   │   ├── ObservableConvertibleType.swift
│   │   │   │   ├── Observables
│   │   │   │   │   ├── AddRef.swift
│   │   │   │   │   ├── Amb.swift
│   │   │   │   │   ├── AsMaybe.swift
│   │   │   │   │   ├── AsSingle.swift
│   │   │   │   │   ├── Buffer.swift
│   │   │   │   │   ├── Catch.swift
│   │   │   │   │   ├── CombineLatest+arity.swift
│   │   │   │   │   ├── CombineLatest+arity.tt
│   │   │   │   │   ├── CombineLatest+Collection.swift
│   │   │   │   │   ├── CombineLatest.swift
│   │   │   │   │   ├── Concat.swift
│   │   │   │   │   ├── Create.swift
│   │   │   │   │   ├── Debounce.swift
│   │   │   │   │   ├── Debug.swift
│   │   │   │   │   ├── DefaultIfEmpty.swift
│   │   │   │   │   ├── Deferred.swift
│   │   │   │   │   ├── DelaySubscription.swift
│   │   │   │   │   ├── Delay.swift
│   │   │   │   │   ├── Dematerialize.swift
│   │   │   │   │   ├── DistinctUntilChanged.swift
│   │   │   │   │   ├── Do.swift
│   │   │   │   │   ├── ElementAt.swift
│   │   │   │   │   ├── Empty.swift
│   │   │   │   │   ├── Enumerated.swift
│   │   │   │   │   ├── Error.swift
│   │   │   │   │   ├── Filter.swift
│   │   │   │   │   ├── First.swift
│   │   │   │   │   ├── Generate.swift
│   │   │   │   │   ├── GroupBy.swift
│   │   │   │   │   ├── Just.swift
│   │   │   │   │   ├── Map.swift
│   │   │   │   │   ├── Materialize.swift
│   │   │   │   │   ├── Merge.swift
│   │   │   │   │   ├── Multicast.swift
│   │   │   │   │   ├── Never.swift
│   │   │   │   │   ├── ObserveOn.swift
│   │   │   │   │   ├── Optional.swift
│   │   │   │   │   ├── Producer.swift
│   │   │   │   │   ├── Range.swift
│   │   │   │   │   ├── Reduce.swift
│   │   │   │   │   ├── Repeat.swift
│   │   │   │   │   ├── RetryWhen.swift
│   │   │   │   │   ├── Sample.swift
│   │   │   │   │   ├── Scan.swift
│   │   │   │   │   ├── Sequence.swift
│   │   │   │   │   ├── ShareReplayScope.swift
│   │   │   │   │   ├── SingleAsync.swift
│   │   │   │   │   ├── Sink.swift
│   │   │   │   │   ├── Skip.swift
│   │   │   │   │   ├── SkipUntil.swift
│   │   │   │   │   ├── SkipWhile.swift
│   │   │   │   │   ├── StartWith.swift
│   │   │   │   │   ├── SubscribeOn.swift
│   │   │   │   │   ├── SwitchIfEmpty.swift
│   │   │   │   │   ├── Switch.swift
│   │   │   │   │   ├── TakeLast.swift
│   │   │   │   │   ├── Take.swift
│   │   │   │   │   ├── TakeUntil.swift
│   │   │   │   │   ├── TakeWhile.swift
│   │   │   │   │   ├── Throttle.swift
│   │   │   │   │   ├── Timeout.swift
│   │   │   │   │   ├── Timer.swift
│   │   │   │   │   ├── ToArray.swift
│   │   │   │   │   ├── Using.swift
│   │   │   │   │   ├── Window.swift
│   │   │   │   │   ├── WithLatestFrom.swift
│   │   │   │   │   ├── Zip+arity.swift
│   │   │   │   │   ├── Zip+arity.tt
│   │   │   │   │   ├── Zip+Collection.swift
│   │   │   │   │   └── Zip.swift
│   │   │   │   ├── Observable.swift
│   │   │   │   ├── ObservableType+Extensions.swift
│   │   │   │   ├── ObservableType.swift
│   │   │   │   ├── Observers
│   │   │   │   │   ├── AnonymousObserver.swift
│   │   │   │   │   ├── ObserverBase.swift
│   │   │   │   │   └── TailRecursiveSink.swift
│   │   │   │   ├── ObserverType.swift
│   │   │   │   ├── Platform
│   │   │   │   │   ├── DataStructures
│   │   │   │   │   │   ├── Bag.swift
│   │   │   │   │   │   ├── InfiniteSequence.swift
│   │   │   │   │   │   ├── PriorityQueue.swift
│   │   │   │   │   │   └── Queue.swift
│   │   │   │   │   ├── DeprecationWarner.swift
│   │   │   │   │   ├── DispatchQueue+Extensions.swift
│   │   │   │   │   ├── Platform.Darwin.swift
│   │   │   │   │   ├── Platform.Linux.swift
│   │   │   │   │   └── RecursiveLock.swift
│   │   │   │   ├── Reactive.swift
│   │   │   │   ├── RxMutableBox.swift
│   │   │   │   ├── Rx.swift
│   │   │   │   ├── Schedulers
│   │   │   │   │   ├── ConcurrentDispatchQueueScheduler.swift
│   │   │   │   │   ├── ConcurrentMainScheduler.swift
│   │   │   │   │   ├── CurrentThreadScheduler.swift
│   │   │   │   │   ├── HistoricalScheduler.swift
│   │   │   │   │   ├── HistoricalSchedulerTimeConverter.swift
│   │   │   │   │   ├── Internal
│   │   │   │   │   │   ├── DispatchQueueConfiguration.swift
│   │   │   │   │   │   ├── InvocableScheduledItem.swift
│   │   │   │   │   │   ├── InvocableType.swift
│   │   │   │   │   │   ├── ScheduledItem.swift
│   │   │   │   │   │   └── ScheduledItemType.swift
│   │   │   │   │   ├── MainScheduler.swift
│   │   │   │   │   ├── OperationQueueScheduler.swift
│   │   │   │   │   ├── RecursiveScheduler.swift
│   │   │   │   │   ├── SchedulerServices+Emulation.swift
│   │   │   │   │   ├── SerialDispatchQueueScheduler.swift
│   │   │   │   │   ├── VirtualTimeConverterType.swift
│   │   │   │   │   └── VirtualTimeScheduler.swift
│   │   │   │   ├── SchedulerType.swift
│   │   │   │   ├── Subjects
│   │   │   │   │   ├── AsyncSubject.swift
│   │   │   │   │   ├── BehaviorSubject.swift
│   │   │   │   │   ├── PublishSubject.swift
│   │   │   │   │   ├── ReplaySubject.swift
│   │   │   │   │   └── SubjectType.swift
│   │   │   │   ├── SwiftSupport
│   │   │   │   │   └── SwiftSupport.swift
│   │   │   │   └── Traits
│   │   │   │   ├── Completable+AndThen.swift
│   │   │   │   ├── Completable.swift
│   │   │   │   ├── Maybe.swift
│   │   │   │   ├── ObservableType+PrimitiveSequence.swift
│   │   │   │   ├── PrimitiveSequence.swift
│   │   │   │   ├── PrimitiveSequence+Zip+arity.swift
│   │   │   │   ├── PrimitiveSequence+Zip+arity.tt
│   │   │   │   └── Single.swift
│   │   │   ├── RxSwift.podspec
│   │   │   ├── RxTest
│   │   │   │   ├── Any+Equatable.swift
│   │   │   │   ├── ColdObservable.swift
│   │   │   │   ├── Deprecated.swift
│   │   │   │   ├── Event+Equatable.swift
│   │   │   │   ├── HotObservable.swift
│   │   │   │   ├── Info.plist
│   │   │   │   ├── Platform
│   │   │   │   │   ├── DataStructures
│   │   │   │   │   │   └── Bag.swift
│   │   │   │   │   └── DeprecationWarner.swift
│   │   │   │   ├── Recorded+Event.swift
│   │   │   │   ├── Recorded.swift
│   │   │   │   ├── RxTest.swift
│   │   │   │   ├── Schedulers
│   │   │   │   │   ├── TestScheduler.swift
│   │   │   │   │   └── TestSchedulerVirtualTimeConverter.swift
│   │   │   │   ├── Subscription.swift
│   │   │   │   ├── TestableObservable.swift
│   │   │   │   ├── TestableObserver.swift
│   │   │   │   └── XCTest+Rx.swift
│   │   │   ├── RxTest.podspec
│   │   │   ├── Rx.xcodeproj
│   │   │   │   ├── project.pbxproj
│   │   │   │   ├── project.xcworkspace
│   │   │   │   │   └── contents.xcworkspacedata
│   │   │   │   └── xcshareddata
│   │   │   │   ├── xcbaselines
│   │   │   │   │   └── C8E8BA541E2C181A00A4AC2C.xcbaseline
│   │   │   │   │   ├── 91761072-433E-43DC-A058-545FB88C59EC.plist
│   │   │   │   │   ├── 996C445D-86F0-429E-92A9-44EBD3769290.plist
│   │   │   │   │   ├── B553A9F9-C6F1-4009-9BDC-AC42F9D31E38.plist
│   │   │   │   │   └── Info.plist
│   │   │   │   └── xcschemes
│   │   │   │   ├── RxBlocking-iOS.xcscheme
│   │   │   │   ├── RxBlocking-macOS.xcscheme
│   │   │   │   ├── RxBlocking-tvOS.xcscheme
│   │   │   │   ├── RxBlocking-watchOS.xcscheme
│   │   │   │   ├── RxCocoa-iOS.xcscheme
│   │   │   │   ├── RxCocoa-macOS.xcscheme
│   │   │   │   ├── RxCocoa-tvOS.xcscheme
│   │   │   │   ├── RxCocoa-watchOS.xcscheme
│   │   │   │   ├── RxSwift-iOS.xcscheme
│   │   │   │   ├── RxSwift-macOS.xcscheme
│   │   │   │   ├── RxSwift-tvOS.xcscheme
│   │   │   │   ├── RxSwift-watchOS.xcscheme
│   │   │   │   ├── RxTests-iOS.xcscheme
│   │   │   │   ├── RxTests-macOS.xcscheme
│   │   │   │   └── RxTests-tvOS.xcscheme
│   │   │   ├── Rx.xcworkspace
│   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   └── xcshareddata
│   │   │   │   └── IDEWorkspaceChecks.plist
│   │   │   ├── scripts
│   │   │   │   ├── all-tests.sh
│   │   │   │   ├── common.sh
│   │   │   │   ├── package-spm.swift
│   │   │   │   ├── profile-build-times.sh
│   │   │   │   ├── test-linux.sh
│   │   │   │   ├── update-jazzy-config.rb
│   │   │   │   ├── update-jazzy-docs.sh
│   │   │   │   ├── validate-headers.swift
│   │   │   │   ├── validate-markdown.sh
│   │   │   │   ├── validate-playgrounds.sh
│   │   │   │   └── validate-podspec.sh
│   │   │   ├── Sources
│   │   │   │   ├── AllTestz
│   │   │   │   │   ├── Anomalies.swift
│   │   │   │   │   ├── AssumptionsTest.swift
│   │   │   │   │   ├── AsyncSubjectTests.swift
│   │   │   │   │   ├── BackgroundThreadPrimitiveHotObservable.swift
│   │   │   │   │   ├── Bag.swift
│   │   │   │   │   ├── BehaviorSubjectTest.swift
│   │   │   │   │   ├── Completable+AndThen.swift
│   │   │   │   │   ├── CompletableTest.swift
│   │   │   │   │   ├── CurrentThreadSchedulerTest.swift
│   │   │   │   │   ├── DeprecationWarner.swift
│   │   │   │   │   ├── DispatchQueue+Extensions.swift
│   │   │   │   │   ├── DisposableTest.swift
│   │   │   │   │   ├── DisposeBagTest.swift
│   │   │   │   │   ├── Driver+Test.swift
│   │   │   │   │   ├── ElementIndexPair.swift
│   │   │   │   │   ├── EquatableArray.swift
│   │   │   │   │   ├── Event+Test.swift
│   │   │   │   │   ├── HistoricalSchedulerTest.swift
│   │   │   │   │   ├── InfiniteSequence.swift
│   │   │   │   │   ├── MainSchedulerTests.swift
│   │   │   │   │   ├── main.swift
│   │   │   │   │   ├── MainThreadPrimitiveHotObservable.swift
│   │   │   │   │   ├── MaybeTest.swift
│   │   │   │   │   ├── MockDisposable.swift
│   │   │   │   │   ├── MySubject.swift
│   │   │   │   │   ├── NotificationCenterTests.swift
│   │   │   │   │   ├── Observable+AmbTests.swift
│   │   │   │   │   ├── Observable+BlockingTest.swift
│   │   │   │   │   ├── Observable+BufferTests.swift
│   │   │   │   │   ├── Observable+CatchTests.swift
│   │   │   │   │   ├── Observable+CombineLatestTests+arity.swift
│   │   │   │   │   ├── Observable+CombineLatestTests.swift
│   │   │   │   │   ├── Observable+ConcatTests.swift
│   │   │   │   │   ├── Observable+DebugTests.swift
│   │   │   │   │   ├── Observable+DefaultIfEmpty.swift
│   │   │   │   │   ├── Observable+DelaySubscriptionTests.swift
│   │   │   │   │   ├── Observable+DelayTests.swift
│   │   │   │   │   ├── Observable+DematerializeTests.swift
│   │   │   │   │   ├── Observable+DistinctUntilChangedTests.swift
│   │   │   │   │   ├── Observable+DoOnTests.swift
│   │   │   │   │   ├── Observable+ElementAtTests.swift
│   │   │   │   │   ├── Observable+EnumeratedTests.swift
│   │   │   │   │   ├── Observable+Extensions.swift
│   │   │   │   │   ├── Observable.Extensions.swift
│   │   │   │   │   ├── Observable+FilterTests.swift
│   │   │   │   │   ├── Observable+GenerateTests.swift
│   │   │   │   │   ├── Observable+GroupByTests.swift
│   │   │   │   │   ├── Observable+JustTests.swift
│   │   │   │   │   ├── Observable+MapTests.swift
│   │   │   │   │   ├── Observable+MaterializeTests.swift
│   │   │   │   │   ├── Observable+MergeTests.swift
│   │   │   │   │   ├── Observable+MulticastTests.swift
│   │   │   │   │   ├── Observable+ObserveOnTests.swift
│   │   │   │   │   ├── Observable+OptionalTests.swift
│   │   │   │   │   ├── Observable+PrimitiveSequenceTest.swift
│   │   │   │   │   ├── Observable+RangeTests.swift
│   │   │   │   │   ├── Observable+ReduceTests.swift
│   │   │   │   │   ├── Observable+RepeatTests.swift
│   │   │   │   │   ├── Observable+RetryWhenTests.swift
│   │   │   │   │   ├── Observable+SampleTests.swift
│   │   │   │   │   ├── Observable+ScanTests.swift
│   │   │   │   │   ├── Observable+SequenceTests.swift
│   │   │   │   │   ├── Observable+ShareReplayScopeTests.swift
│   │   │   │   │   ├── Observable+SingleTests.swift
│   │   │   │   │   ├── Observable+SkipTests.swift
│   │   │   │   │   ├── Observable+SkipUntilTests.swift
│   │   │   │   │   ├── Observable+SkipWhileTests.swift
│   │   │   │   │   ├── Observable+SubscribeOnTests.swift
│   │   │   │   │   ├── Observable+SubscriptionTest.swift
│   │   │   │   │   ├── Observable+SwitchIfEmptyTests.swift
│   │   │   │   │   ├── Observable+SwitchTests.swift
│   │   │   │   │   ├── Observable+TakeLastTests.swift
│   │   │   │   │   ├── Observable+TakeTests.swift
│   │   │   │   │   ├── Observable+TakeUntilTests.swift
│   │   │   │   │   ├── Observable+TakeWhileTests.swift
│   │   │   │   │   ├── Observable+Tests.swift
│   │   │   │   │   ├── Observable+ThrottleTests.swift
│   │   │   │   │   ├── Observable+TimeoutTests.swift
│   │   │   │   │   ├── Observable+TimerTests.swift
│   │   │   │   │   ├── Observable+ToArrayTests.swift
│   │   │   │   │   ├── ObservableType+SubscriptionTests.swift
│   │   │   │   │   ├── Observable+UsingTests.swift
│   │   │   │   │   ├── Observable+WindowTests.swift
│   │   │   │   │   ├── Observable+WithLatestFromTests.swift
│   │   │   │   │   ├── Observable+ZipTests+arity.swift
│   │   │   │   │   ├── Observable+ZipTests.swift
│   │   │   │   │   ├── ObserverTests.swift
│   │   │   │   │   ├── Platform.Darwin.swift
│   │   │   │   │   ├── Platform.Linux.swift
│   │   │   │   │   ├── PrimitiveHotObservable.swift
│   │   │   │   │   ├── PrimitiveMockObserver.swift
│   │   │   │   │   ├── PrimitiveSequenceTest+zip+arity.swift
│   │   │   │   │   ├── PriorityQueue.swift
│   │   │   │   │   ├── PublishSubjectTest.swift
│   │   │   │   │   ├── Queue.swift
│   │   │   │   │   ├── Reactive+Tests.swift
│   │   │   │   │   ├── Recorded+Timeless.swift
│   │   │   │   │   ├── RecursiveLock.swift
│   │   │   │   │   ├── RecursiveLockTest.swift
│   │   │   │   │   ├── ReplaySubjectTest.swift
│   │   │   │   │   ├── RxMutableBox.swift
│   │   │   │   │   ├── RxTest.swift
│   │   │   │   │   ├── SchedulerTests.swift
│   │   │   │   │   ├── SharedSequence+Extensions.swift
│   │   │   │   │   ├── SharedSequence+OperatorTest.swift
│   │   │   │   │   ├── SharedSequence+Test.swift
│   │   │   │   │   ├── SharingSchedulerTests.swift
│   │   │   │   │   ├── Signal+Test.swift
│   │   │   │   │   ├── SingleTest.swift
│   │   │   │   │   ├── TestConnectableObservable.swift
│   │   │   │   │   ├── TestErrors.swift
│   │   │   │   │   ├── TestVirtualScheduler.swift
│   │   │   │   │   ├── VariableTest.swift
│   │   │   │   │   ├── VirtualSchedulerTest.swift
│   │   │   │   │   └── XCTest+AllTests.swift
│   │   │   │   ├── RxBlocking
│   │   │   │   │   ├── BlockingObservable+Operators.swift
│   │   │   │   │   ├── BlockingObservable.swift
│   │   │   │   │   ├── ObservableConvertibleType+Blocking.swift
│   │   │   │   │   ├── Platform.Darwin.swift
│   │   │   │   │   ├── Platform.Linux.swift
│   │   │   │   │   ├── RecursiveLock.swift
│   │   │   │   │   ├── Resources.swift
│   │   │   │   │   └── RunLoopLock.swift
│   │   │   │   ├── RxCocoa
│   │   │   │   │   ├── BehaviorRelay+Driver.swift
│   │   │   │   │   ├── BehaviorRelay.swift
│   │   │   │   │   ├── Binder.swift
│   │   │   │   │   ├── ControlEvent+Driver.swift
│   │   │   │   │   ├── ControlEvent+Signal.swift
│   │   │   │   │   ├── ControlEvent.swift
│   │   │   │   │   ├── ControlProperty+Driver.swift
│   │   │   │   │   ├── ControlProperty.swift
│   │   │   │   │   ├── ControlTarget.swift
│   │   │   │   │   ├── DelegateProxy.swift
│   │   │   │   │   ├── DelegateProxyType.swift
│   │   │   │   │   ├── Deprecated.swift
│   │   │   │   │   ├── DispatchQueue+Extensions.swift
│   │   │   │   │   ├── Driver+Subscription.swift
│   │   │   │   │   ├── Driver.swift
│   │   │   │   │   ├── ItemEvents.swift
│   │   │   │   │   ├── KeyPathBinder.swift
│   │   │   │   │   ├── KVORepresentable+CoreGraphics.swift
│   │   │   │   │   ├── KVORepresentable.swift
│   │   │   │   │   ├── KVORepresentable+Swift.swift
│   │   │   │   │   ├── Logging.swift
│   │   │   │   │   ├── NotificationCenter+Rx.swift
│   │   │   │   │   ├── NSButton+Rx.swift
│   │   │   │   │   ├── NSControl+Rx.swift
│   │   │   │   │   ├── NSImageView+Rx.swift
│   │   │   │   │   ├── NSLayoutConstraint+Rx.swift
│   │   │   │   │   ├── NSObject+Rx+KVORepresentable.swift
│   │   │   │   │   ├── NSObject+Rx+RawRepresentable.swift
│   │   │   │   │   ├── NSObject+Rx.swift
│   │   │   │   │   ├── NSSlider+Rx.swift
│   │   │   │   │   ├── NSTextField+Rx.swift
│   │   │   │   │   ├── NSTextStorage+Rx.swift
│   │   │   │   │   ├── NSView+Rx.swift
│   │   │   │   │   ├── Observable+Bind.swift
│   │   │   │   │   ├── ObservableConvertibleType+Driver.swift
│   │   │   │   │   ├── ObservableConvertibleType+SharedSequence.swift
│   │   │   │   │   ├── ObservableConvertibleType+Signal.swift
│   │   │   │   │   ├── PublishRelay+Signal.swift
│   │   │   │   │   ├── PublishRelay.swift
│   │   │   │   │   ├── RxCocoaObjCRuntimeError+Extensions.swift
│   │   │   │   │   ├── RxCocoa.swift
│   │   │   │   │   ├── RxCollectionViewDataSourcePrefetchingProxy.swift
│   │   │   │   │   ├── RxCollectionViewDataSourceProxy.swift
│   │   │   │   │   ├── RxCollectionViewDataSourceType.swift
│   │   │   │   │   ├── RxCollectionViewDelegateProxy.swift
│   │   │   │   │   ├── RxCollectionViewReactiveArrayDataSource.swift
│   │   │   │   │   ├── RxNavigationControllerDelegateProxy.swift
│   │   │   │   │   ├── RxPickerViewAdapter.swift
│   │   │   │   │   ├── RxPickerViewDataSourceProxy.swift
│   │   │   │   │   ├── RxPickerViewDataSourceType.swift
│   │   │   │   │   ├── RxPickerViewDelegateProxy.swift
│   │   │   │   │   ├── RxScrollViewDelegateProxy.swift
│   │   │   │   │   ├── RxSearchBarDelegateProxy.swift
│   │   │   │   │   ├── RxSearchControllerDelegateProxy.swift
│   │   │   │   │   ├── RxTabBarControllerDelegateProxy.swift
│   │   │   │   │   ├── RxTabBarDelegateProxy.swift
│   │   │   │   │   ├── RxTableViewDataSourcePrefetchingProxy.swift
│   │   │   │   │   ├── RxTableViewDataSourceProxy.swift
│   │   │   │   │   ├── RxTableViewDataSourceType.swift
│   │   │   │   │   ├── RxTableViewDelegateProxy.swift
│   │   │   │   │   ├── RxTableViewReactiveArrayDataSource.swift
│   │   │   │   │   ├── RxTarget.swift
│   │   │   │   │   ├── RxTextStorageDelegateProxy.swift
│   │   │   │   │   ├── RxTextViewDelegateProxy.swift
│   │   │   │   │   ├── RxWebViewDelegateProxy.swift
│   │   │   │   │   ├── SchedulerType+SharedSequence.swift
│   │   │   │   │   ├── SectionedViewDataSourceType.swift
│   │   │   │   │   ├── SharedSequence+Operators+arity.swift
│   │   │   │   │   ├── SharedSequence+Operators.swift
│   │   │   │   │   ├── SharedSequence.swift
│   │   │   │   │   ├── Signal+Subscription.swift
│   │   │   │   │   ├── Signal.swift
│   │   │   │   │   ├── TextInput.swift
│   │   │   │   │   ├── UIActivityIndicatorView+Rx.swift
│   │   │   │   │   ├── UIAlertAction+Rx.swift
│   │   │   │   │   ├── UIApplication+Rx.swift
│   │   │   │   │   ├── UIBarButtonItem+Rx.swift
│   │   │   │   │   ├── UIButton+Rx.swift
│   │   │   │   │   ├── UICollectionView+Rx.swift
│   │   │   │   │   ├── UIControl+Rx.swift
│   │   │   │   │   ├── UIDatePicker+Rx.swift
│   │   │   │   │   ├── UIGestureRecognizer+Rx.swift
│   │   │   │   │   ├── UIImageView+Rx.swift
│   │   │   │   │   ├── UILabel+Rx.swift
│   │   │   │   │   ├── UINavigationController+Rx.swift
│   │   │   │   │   ├── UINavigationItem+Rx.swift
│   │   │   │   │   ├── UIPageControl+Rx.swift
│   │   │   │   │   ├── UIPickerView+Rx.swift
│   │   │   │   │   ├── UIProgressView+Rx.swift
│   │   │   │   │   ├── UIRefreshControl+Rx.swift
│   │   │   │   │   ├── UIScrollView+Rx.swift
│   │   │   │   │   ├── UISearchBar+Rx.swift
│   │   │   │   │   ├── UISearchController+Rx.swift
│   │   │   │   │   ├── UISegmentedControl+Rx.swift
│   │   │   │   │   ├── UISlider+Rx.swift
│   │   │   │   │   ├── UIStepper+Rx.swift
│   │   │   │   │   ├── UISwitch+Rx.swift
│   │   │   │   │   ├── UITabBarController+Rx.swift
│   │   │   │   │   ├── UITabBarItem+Rx.swift
│   │   │   │   │   ├── UITabBar+Rx.swift
│   │   │   │   │   ├── UITableView+Rx.swift
│   │   │   │   │   ├── UITextField+Rx.swift
│   │   │   │   │   ├── UITextView+Rx.swift
│   │   │   │   │   ├── UIViewController+Rx.swift
│   │   │   │   │   ├── UIView+Rx.swift
│   │   │   │   │   ├── UIWebView+Rx.swift
│   │   │   │   │   └── URLSession+Rx.swift
│   │   │   │   ├── RxCocoaRuntime
│   │   │   │   │   ├── include
│   │   │   │   │   │   ├── RxCocoaRuntime.h
│   │   │   │   │   │   ├── _RXDelegateProxy.h
│   │   │   │   │   │   ├── _RX.h
│   │   │   │   │   │   ├── _RXKVOObserver.h
│   │   │   │   │   │   └── _RXObjCRuntime.h
│   │   │   │   │   ├── _RXDelegateProxy.m
│   │   │   │   │   ├── _RXKVOObserver.m
│   │   │   │   │   ├── _RX.m
│   │   │   │   │   └── _RXObjCRuntime.m
│   │   │   │   ├── RxSwift
│   │   │   │   │   ├── AddRef.swift
│   │   │   │   │   ├── Amb.swift
│   │   │   │   │   ├── AnonymousDisposable.swift
│   │   │   │   │   ├── AnonymousObserver.swift
│   │   │   │   │   ├── AnyObserver.swift
│   │   │   │   │   ├── AsMaybe.swift
│   │   │   │   │   ├── AsSingle.swift
│   │   │   │   │   ├── AsyncLock.swift
│   │   │   │   │   ├── AsyncSubject.swift
│   │   │   │   │   ├── Bag+Rx.swift
│   │   │   │   │   ├── Bag.swift
│   │   │   │   │   ├── BehaviorSubject.swift
│   │   │   │   │   ├── BinaryDisposable.swift
│   │   │   │   │   ├── BooleanDisposable.swift
│   │   │   │   │   ├── Buffer.swift
│   │   │   │   │   ├── Cancelable.swift
│   │   │   │   │   ├── Catch.swift
│   │   │   │   │   ├── CombineLatest+arity.swift
│   │   │   │   │   ├── CombineLatest+Collection.swift
│   │   │   │   │   ├── CombineLatest.swift
│   │   │   │   │   ├── Completable+AndThen.swift
│   │   │   │   │   ├── Completable.swift
│   │   │   │   │   ├── CompositeDisposable.swift
│   │   │   │   │   ├── Concat.swift
│   │   │   │   │   ├── ConcurrentDispatchQueueScheduler.swift
│   │   │   │   │   ├── ConcurrentMainScheduler.swift
│   │   │   │   │   ├── ConnectableObservableType.swift
│   │   │   │   │   ├── Create.swift
│   │   │   │   │   ├── CurrentThreadScheduler.swift
│   │   │   │   │   ├── Debounce.swift
│   │   │   │   │   ├── Debug.swift
│   │   │   │   │   ├── DefaultIfEmpty.swift
│   │   │   │   │   ├── Deferred.swift
│   │   │   │   │   ├── DelaySubscription.swift
│   │   │   │   │   ├── Delay.swift
│   │   │   │   │   ├── Dematerialize.swift
│   │   │   │   │   ├── Deprecated.swift
│   │   │   │   │   ├── DeprecationWarner.swift
│   │   │   │   │   ├── DispatchQueueConfiguration.swift
│   │   │   │   │   ├── DispatchQueue+Extensions.swift
│   │   │   │   │   ├── Disposables.swift
│   │   │   │   │   ├── Disposable.swift
│   │   │   │   │   ├── DisposeBag.swift
│   │   │   │   │   ├── DisposeBase.swift
│   │   │   │   │   ├── DistinctUntilChanged.swift
│   │   │   │   │   ├── Do.swift
│   │   │   │   │   ├── ElementAt.swift
│   │   │   │   │   ├── Empty.swift
│   │   │   │   │   ├── Enumerated.swift
│   │   │   │   │   ├── Errors.swift
│   │   │   │   │   ├── Error.swift
│   │   │   │   │   ├── Event.swift
│   │   │   │   │   ├── Filter.swift
│   │   │   │   │   ├── First.swift
│   │   │   │   │   ├── Generate.swift
│   │   │   │   │   ├── GroupBy.swift
│   │   │   │   │   ├── GroupedObservable.swift
│   │   │   │   │   ├── HistoricalScheduler.swift
│   │   │   │   │   ├── HistoricalSchedulerTimeConverter.swift
│   │   │   │   │   ├── ImmediateSchedulerType.swift
│   │   │   │   │   ├── InfiniteSequence.swift
│   │   │   │   │   ├── InvocableScheduledItem.swift
│   │   │   │   │   ├── InvocableType.swift
│   │   │   │   │   ├── Just.swift
│   │   │   │   │   ├── LockOwnerType.swift
│   │   │   │   │   ├── Lock.swift
│   │   │   │   │   ├── MainScheduler.swift
│   │   │   │   │   ├── Map.swift
│   │   │   │   │   ├── Materialize.swift
│   │   │   │   │   ├── Maybe.swift
│   │   │   │   │   ├── Merge.swift
│   │   │   │   │   ├── Multicast.swift
│   │   │   │   │   ├── Never.swift
│   │   │   │   │   ├── NopDisposable.swift
│   │   │   │   │   ├── ObservableConvertibleType.swift
│   │   │   │   │   ├── Observable.swift
│   │   │   │   │   ├── ObservableType+Extensions.swift
│   │   │   │   │   ├── ObservableType+PrimitiveSequence.swift
│   │   │   │   │   ├── ObservableType.swift
│   │   │   │   │   ├── ObserveOn.swift
│   │   │   │   │   ├── ObserverBase.swift
│   │   │   │   │   ├── ObserverType.swift
│   │   │   │   │   ├── OperationQueueScheduler.swift
│   │   │   │   │   ├── Optional.swift
│   │   │   │   │   ├── Platform.Darwin.swift
│   │   │   │   │   ├── Platform.Linux.swift
│   │   │   │   │   ├── PrimitiveSequence.swift
│   │   │   │   │   ├── PrimitiveSequence+Zip+arity.swift
│   │   │   │   │   ├── PriorityQueue.swift
│   │   │   │   │   ├── Producer.swift
│   │   │   │   │   ├── PublishSubject.swift
│   │   │   │   │   ├── Queue.swift
│   │   │   │   │   ├── Range.swift
│   │   │   │   │   ├── Reactive.swift
│   │   │   │   │   ├── RecursiveLock.swift
│   │   │   │   │   ├── RecursiveScheduler.swift
│   │   │   │   │   ├── Reduce.swift
│   │   │   │   │   ├── RefCountDisposable.swift
│   │   │   │   │   ├── Repeat.swift
│   │   │   │   │   ├── ReplaySubject.swift
│   │   │   │   │   ├── RetryWhen.swift
│   │   │   │   │   ├── RxMutableBox.swift
│   │   │   │   │   ├── Rx.swift
│   │   │   │   │   ├── Sample.swift
│   │   │   │   │   ├── Scan.swift
│   │   │   │   │   ├── ScheduledDisposable.swift
│   │   │   │   │   ├── ScheduledItem.swift
│   │   │   │   │   ├── ScheduledItemType.swift
│   │   │   │   │   ├── SchedulerServices+Emulation.swift
│   │   │   │   │   ├── SchedulerType.swift
│   │   │   │   │   ├── Sequence.swift
│   │   │   │   │   ├── SerialDispatchQueueScheduler.swift
│   │   │   │   │   ├── SerialDisposable.swift
│   │   │   │   │   ├── ShareReplayScope.swift
│   │   │   │   │   ├── SingleAssignmentDisposable.swift
│   │   │   │   │   ├── SingleAsync.swift
│   │   │   │   │   ├── Single.swift
│   │   │   │   │   ├── Sink.swift
│   │   │   │   │   ├── Skip.swift
│   │   │   │   │   ├── SkipUntil.swift
│   │   │   │   │   ├── SkipWhile.swift
│   │   │   │   │   ├── StartWith.swift
│   │   │   │   │   ├── String+Rx.swift
│   │   │   │   │   ├── SubjectType.swift
│   │   │   │   │   ├── SubscribeOn.swift
│   │   │   │   │   ├── SubscriptionDisposable.swift
│   │   │   │   │   ├── SwiftSupport.swift
│   │   │   │   │   ├── SwitchIfEmpty.swift
│   │   │   │   │   ├── Switch.swift
│   │   │   │   │   ├── SynchronizedDisposeType.swift
│   │   │   │   │   ├── SynchronizedOnType.swift
│   │   │   │   │   ├── SynchronizedUnsubscribeType.swift
│   │   │   │   │   ├── TailRecursiveSink.swift
│   │   │   │   │   ├── TakeLast.swift
│   │   │   │   │   ├── Take.swift
│   │   │   │   │   ├── TakeUntil.swift
│   │   │   │   │   ├── TakeWhile.swift
│   │   │   │   │   ├── Throttle.swift
│   │   │   │   │   ├── Timeout.swift
│   │   │   │   │   ├── Timer.swift
│   │   │   │   │   ├── ToArray.swift
│   │   │   │   │   ├── Using.swift
│   │   │   │   │   ├── VirtualTimeConverterType.swift
│   │   │   │   │   ├── VirtualTimeScheduler.swift
│   │   │   │   │   ├── Window.swift
│   │   │   │   │   ├── WithLatestFrom.swift
│   │   │   │   │   ├── Zip+arity.swift
│   │   │   │   │   ├── Zip+Collection.swift
│   │   │   │   │   └── Zip.swift
│   │   │   │   └── RxTest
│   │   │   │   ├── Any+Equatable.swift
│   │   │   │   ├── Bag.swift
│   │   │   │   ├── ColdObservable.swift
│   │   │   │   ├── Deprecated.swift
│   │   │   │   ├── DeprecationWarner.swift
│   │   │   │   ├── Event+Equatable.swift
│   │   │   │   ├── HotObservable.swift
│   │   │   │   ├── Recorded+Event.swift
│   │   │   │   ├── Recorded.swift
│   │   │   │   ├── RxTest.swift
│   │   │   │   ├── Subscription.swift
│   │   │   │   ├── TestableObservable.swift
│   │   │   │   ├── TestableObserver.swift
│   │   │   │   ├── TestScheduler.swift
│   │   │   │   ├── TestSchedulerVirtualTimeConverter.swift
│   │   │   │   └── XCTest+Rx.swift
│   │   │   └── Tests
│   │   │   ├── Benchmarks
│   │   │   │   ├── Benchmarks.swift
│   │   │   │   └── Info.plist
│   │   │   ├── Info.plist
│   │   │   ├── MessageProcessingStage.swift
│   │   │   ├── Microoptimizations
│   │   │   │   ├── Info.plist
│   │   │   │   ├── main.swift
│   │   │   │   └── PerformanceTools.swift
│   │   │   ├── Platform
│   │   │   │   ├── DispatchQueue+Extensions.swift
│   │   │   │   ├── Platform.Darwin.swift
│   │   │   │   ├── Platform.Linux.swift
│   │   │   │   └── RecursiveLock.swift
│   │   │   ├── Recorded+Timeless.swift
│   │   │   ├── Resources.swift
│   │   │   ├── RxBlockingTests
│   │   │   │   └── Observable+BlockingTest.swift
│   │   │   ├── RxCocoaTests
│   │   │   │   ├── Binder+Tests.swift
│   │   │   │   ├── ControlEventTests.swift
│   │   │   │   ├── ControlPropertyTests.swift
│   │   │   │   ├── DelegateProxyTest+Cocoa.swift
│   │   │   │   ├── DelegateProxyTest.swift
│   │   │   │   ├── DelegateProxyTest+UIKit.swift
│   │   │   │   ├── Driver+Test.swift
│   │   │   │   ├── ExampleTests.swift
│   │   │   │   ├── KeyPathBinder+RxTests.swift
│   │   │   │   ├── KVOObservableTests.swift
│   │   │   │   ├── NotificationCenterTests.swift
│   │   │   │   ├── NSButton+RxTests.swift
│   │   │   │   ├── NSControl+RxTests.swift
│   │   │   │   ├── NSLayoutConstraint+RxTests.swift
│   │   │   │   ├── NSObject+RxTests.swift
│   │   │   │   ├── NSSlider+RxTests.swift
│   │   │   │   ├── NSTextField+RxTests.swift
│   │   │   │   ├── NSView+RxTests.swift
│   │   │   │   ├── Observable+BindTests.swift
│   │   │   │   ├── ObservableConvertibleType+SharedSequence.swift
│   │   │   │   ├── RuntimeStateSnapshot.swift
│   │   │   │   ├── RxObjCRuntimeState.swift
│   │   │   │   ├── RXObjCRuntime+Testing.h
│   │   │   │   ├── RXObjCRuntime+Testing.m
│   │   │   │   ├── RxTest+Controls.swift
│   │   │   │   ├── RxTest-iOS-Bridging-Header.h
│   │   │   │   ├── RxTest-macOS-Bridging-Header.h
│   │   │   │   ├── RxTest-tvOS-Bridging-Header.h
│   │   │   │   ├── SentMessageTest.swift
│   │   │   │   ├── SharedSequence+Extensions.swift
│   │   │   │   ├── SharedSequence+OperatorTest.swift
│   │   │   │   ├── SharedSequence+Test.swift
│   │   │   │   ├── Signal+Test.swift
│   │   │   │   ├── TestImplementations
│   │   │   │   │   └── SectionedViewDataSourceMock.swift
│   │   │   │   ├── UIActivityIndicatorView+RxTests.swift
│   │   │   │   ├── UIAlertAction+RxTests.swift
│   │   │   │   ├── UIBarButtonItem+RxTests.swift
│   │   │   │   ├── UIButton+RxTests.swift
│   │   │   │   ├── UICollectionView+RxTests.swift
│   │   │   │   ├── UIControl+RxTests.swift
│   │   │   │   ├── UIDatePicker+RxTests.swift
│   │   │   │   ├── UIGestureRecognizer+RxTests.swift
│   │   │   │   ├── UILabel+RxTests.swift
│   │   │   │   ├── UINavigationController+RxTests.swift
│   │   │   │   ├── UINavigationItem+RxTests.swift.swift
│   │   │   │   ├── UIPageControl+RxTest.swift
│   │   │   │   ├── UIPickerView+RxTests.swift
│   │   │   │   ├── UIProgressView+RxTests.swift
│   │   │   │   ├── UIRefreshControl+RxTests.swift
│   │   │   │   ├── UIScrollView+RxTests.swift
│   │   │   │   ├── UISearchBar+RxTests.swift
│   │   │   │   ├── UISearchController+RxTests.swift
│   │   │   │   ├── UISegmentedControl+RxTests.swift
│   │   │   │   ├── UISlider+RxTests.swift
│   │   │   │   ├── UIStepper+RxTests.swift
│   │   │   │   ├── UISwitch+RxTests.swift
│   │   │   │   ├── UITabBarController+RxTests.swift
│   │   │   │   ├── UITabBarItem+RxTests.swift
│   │   │   │   ├── UITabBar+RxTests.swift
│   │   │   │   ├── UITableView+RxTests.swift
│   │   │   │   ├── UITextField+RxTests.swift
│   │   │   │   ├── UITextView+RxTests.swift
│   │   │   │   ├── UIViewController+RxTests.swift
│   │   │   │   ├── UIView+RxTests.swift
│   │   │   │   └── UIWebView+RxTests.swift
│   │   │   ├── RxSwiftTests
│   │   │   │   ├── Anomalies.swift
│   │   │   │   ├── AssumptionsTest.swift
│   │   │   │   ├── AsyncSubjectTests.swift
│   │   │   │   ├── BagTest.swift
│   │   │   │   ├── BehaviorSubjectTest.swift
│   │   │   │   ├── Completable+AndThen.swift
│   │   │   │   ├── CompletableTest.swift
│   │   │   │   ├── CurrentThreadSchedulerTest.swift
│   │   │   │   ├── DisposableTest.swift
│   │   │   │   ├── DisposeBagTest.swift
│   │   │   │   ├── Event+Test.swift
│   │   │   │   ├── HistoricalSchedulerTest.swift
│   │   │   │   ├── MainSchedulerTests.swift
│   │   │   │   ├── MaybeTest.swift
│   │   │   │   ├── Observable+AmbTests.swift
│   │   │   │   ├── Observable+BufferTests.swift
│   │   │   │   ├── Observable+CatchTests.swift
│   │   │   │   ├── Observable+CombineLatestTests+arity.swift
│   │   │   │   ├── Observable+CombineLatestTests+arity.tt
│   │   │   │   ├── Observable+CombineLatestTests.swift
│   │   │   │   ├── Observable+ConcatTests.swift
│   │   │   │   ├── Observable+DebugTests.swift
│   │   │   │   ├── Observable+DefaultIfEmpty.swift
│   │   │   │   ├── Observable+DelaySubscriptionTests.swift
│   │   │   │   ├── Observable+DelayTests.swift
│   │   │   │   ├── Observable+DematerializeTests.swift
│   │   │   │   ├── Observable+DistinctUntilChangedTests.swift
│   │   │   │   ├── Observable+DoOnTests.swift
│   │   │   │   ├── Observable+ElementAtTests.swift
│   │   │   │   ├── Observable+EnumeratedTests.swift
│   │   │   │   ├── Observable+FilterTests.swift
│   │   │   │   ├── Observable+GenerateTests.swift
│   │   │   │   ├── Observable+GroupByTests.swift
│   │   │   │   ├── Observable+JustTests.swift
│   │   │   │   ├── Observable+MapTests.swift
│   │   │   │   ├── Observable+MaterializeTests.swift
│   │   │   │   ├── Observable+MergeTests.swift
│   │   │   │   ├── Observable+MulticastTests.swift
│   │   │   │   ├── Observable+ObserveOnTests.swift
│   │   │   │   ├── Observable+OptionalTests.swift
│   │   │   │   ├── Observable+PrimitiveSequenceTest.swift
│   │   │   │   ├── Observable+RangeTests.swift
│   │   │   │   ├── Observable+ReduceTests.swift
│   │   │   │   ├── Observable+RepeatTests.swift
│   │   │   │   ├── Observable+RetryWhenTests.swift
│   │   │   │   ├── Observable+SampleTests.swift
│   │   │   │   ├── Observable+ScanTests.swift
│   │   │   │   ├── Observable+SequenceTests.swift
│   │   │   │   ├── Observable+ShareReplayScopeTests.swift
│   │   │   │   ├── Observable+SingleTests.swift
│   │   │   │   ├── Observable+SkipTests.swift
│   │   │   │   ├── Observable+SkipUntilTests.swift
│   │   │   │   ├── Observable+SkipWhileTests.swift
│   │   │   │   ├── Observable+SubscribeOnTests.swift
│   │   │   │   ├── Observable+SubscriptionTest.swift
│   │   │   │   ├── Observable+SwitchIfEmptyTests.swift
│   │   │   │   ├── Observable+SwitchTests.swift
│   │   │   │   ├── Observable+TakeLastTests.swift
│   │   │   │   ├── Observable+TakeTests.swift
│   │   │   │   ├── Observable+TakeUntilTests.swift
│   │   │   │   ├── Observable+TakeWhileTests.swift
│   │   │   │   ├── Observable+Tests.swift
│   │   │   │   ├── Observable+ThrottleTests.swift
│   │   │   │   ├── Observable+TimeoutTests.swift
│   │   │   │   ├── Observable+TimerTests.swift
│   │   │   │   ├── Observable+ToArrayTests.swift
│   │   │   │   ├── ObservableType+SubscriptionTests.swift
│   │   │   │   ├── Observable+UsingTests.swift
│   │   │   │   ├── Observable+WindowTests.swift
│   │   │   │   ├── Observable+WithLatestFromTests.swift
│   │   │   │   ├── Observable+ZipTests+arity.swift
│   │   │   │   ├── Observable+ZipTests+arity.tt
│   │   │   │   ├── Observable+ZipTests.swift
│   │   │   │   ├── ObserverTests.swift
│   │   │   │   ├── PrimitiveSequenceTest+zip+arity.swift
│   │   │   │   ├── PrimitiveSequenceTest+zip+arity.tt
│   │   │   │   ├── PublishSubjectTest.swift
│   │   │   │   ├── QueueTests.swift
│   │   │   │   ├── Reactive+Tests.swift
│   │   │   │   ├── RecursiveLockTest.swift
│   │   │   │   ├── ReplaySubjectTest.swift
│   │   │   │   ├── SchedulerTests.swift
│   │   │   │   ├── SharingSchedulerTests.swift
│   │   │   │   ├── SingleTest.swift
│   │   │   │   ├── SubjectConcurrencyTest.swift
│   │   │   │   ├── TestImplementations
│   │   │   │   │   ├── ElementIndexPair.swift
│   │   │   │   │   ├── EquatableArray.swift
│   │   │   │   │   ├── Mocks
│   │   │   │   │   │   ├── BackgroundThreadPrimitiveHotObservable.swift
│   │   │   │   │   │   ├── MainThreadPrimitiveHotObservable.swift
│   │   │   │   │   │   ├── MockDisposable.swift
│   │   │   │   │   │   ├── MySubject.swift
│   │   │   │   │   │   ├── Observable.Extensions.swift
│   │   │   │   │   │   ├── PrimitiveHotObservable.swift
│   │   │   │   │   │   ├── PrimitiveMockObserver.swift
│   │   │   │   │   │   └── TestConnectableObservable.swift
│   │   │   │   │   ├── Observable+Extensions.swift
│   │   │   │   │   └── TestVirtualScheduler.swift
│   │   │   │   ├── VariableTest.swift
│   │   │   │   └── VirtualSchedulerTest.swift
│   │   │   ├── RxTest.swift
│   │   │   ├── TestErrors.swift
│   │   │   └── XCTest+AllTests.swift
│   │   ├── Koober
│   │   │   ├── AppDelegate.swift
│   │   │   ├── Assets.xcassets
│   │   │   │   ├── AppIcon.appiconset
│   │   │   │   │   ├── Contents.json
│   │   │   │   │   ├── Icon1024.png
│   │   │   │   │   ├── Icon20@2x.png
│   │   │   │   │   ├── Icon20.png
│   │   │   │   │   ├── Icon29@2x.png
│   │   │   │   │   ├── Icon29.png
│   │   │   │   │   ├── Icon40@2x.png
│   │   │   │   │   ├── Icon40.png
│   │   │   │   │   ├── Icon76@2x.png
│   │   │   │   │   ├── Icon76.png
│   │   │   │   │   ├── Icon83.5@2x.png
│   │   │   │   │   ├── icon-app-20@2x.png
│   │   │   │   │   ├── icon-app-20@3x.png
│   │   │   │   │   ├── icon-app-29@2x.png
│   │   │   │   │   ├── icon-app-29@3x copy.png
│   │   │   │   │   ├── icon-app-40@2x.png
│   │   │   │   │   ├── icon-app-40@3x.png
│   │   │   │   │   ├── icon-app-60@2x.png
│   │   │   │   │   └── icon-app-60@3x.png
│   │   │   │   ├── Colors
│   │   │   │   │   ├── BackgroundColor.colorset
│   │   │   │   │   │   └── Contents.json
│   │   │   │   │   └── Contents.json
│   │   │   │   ├── Contents.json
│   │   │   │   └── Images
│   │   │   │   ├── Contents.json
│   │   │   │   ├── Onboard
│   │   │   │   │   ├── Contents.json
│   │   │   │   │   ├── email_icon.imageset
│   │   │   │   │   │   ├── Contents.json
│   │   │   │   │   │   ├── email_icon@2x.png
│   │   │   │   │   │   ├── email_icon@3x.png
│   │   │   │   │   │   └── email_icon.png
│   │   │   │   │   ├── mobile_icon.imageset
│   │   │   │   │   │   ├── Contents.json
│   │   │   │   │   │   ├── mobile_icon@2x.png
│   │   │   │   │   │   ├── mobile_icon@3x.png
│   │   │   │   │   │   └── mobile_icon.png
│   │   │   │   │   ├── password_icon.imageset
│   │   │   │   │   │   ├── Contents.json
│   │   │   │   │   │   ├── password_icon@2x.png
│   │   │   │   │   │   ├── password_icon@3x.png
│   │   │   │   │   │   └── password_icon.png
│   │   │   │   │   ├── person_icon.imageset
│   │   │   │   │   │   ├── Contents.json
│   │   │   │   │   │   ├── person@2x.png
│   │   │   │   │   │   ├── person@3x.png
│   │   │   │   │   │   └── person.png
│   │   │   │   │   ├── roo_logo.imageset
│   │   │   │   │   │   ├── Contents.json
│   │   │   │   │   │   ├── roo_logo@2x.png
│   │   │   │   │   │   ├── roo_logo@3x.png
│   │   │   │   │   │   └── roo_logo.png
│   │   │   │   │   └── tag_icon.imageset
│   │   │   │   │   ├── Contents.json
│   │   │   │   │   ├── tag@2x.png
│   │   │   │   │   ├── tag@3x.png
│   │   │   │   │   └── tag.png
│   │   │   │   ├── RequestRide
│   │   │   │   │   ├── available_placeholder_marker.imageset
│   │   │   │   │   │   ├── available_placeholder_marker@2x.png
│   │   │   │   │   │   ├── available_placeholder_marker@3x.png
│   │   │   │   │   │   ├── available_placeholder_marker.png
│   │   │   │   │   │   └── Contents.json
│   │   │   │   │   ├── CancelButton.imageset
│   │   │   │   │   │   ├── CancelButton@2x.png
│   │   │   │   │   │   ├── CancelButton@3x.png
│   │   │   │   │   │   ├── CancelButton.png
│   │   │   │   │   │   └── Contents.json
│   │   │   │   │   ├── Contents.json
│   │   │   │   │   ├── DriverEnRoute.imageset
│   │   │   │   │   │   ├── Contents.json
│   │   │   │   │   │   ├── Driver En Route@1x.png
│   │   │   │   │   │   ├── Driver En Route@2x.png
│   │   │   │   │   │   └── Driver En Route@3x.png
│   │   │   │   │   ├── koober.imageset
│   │   │   │   │   │   ├── Contents.json
│   │   │   │   │   │   ├── Icon-60@2x.png
│   │   │   │   │   │   └── Icon-60@3x.png
│   │   │   │   │   ├── MapMarkerDropoffLocation.imageset
│   │   │   │   │   │   ├── Contents.json
│   │   │   │   │   │   ├── map_marker_destination_location@2x.png
│   │   │   │   │   │   ├── map_marker_destination_location@3x.png
│   │   │   │   │   │   └── map_marker_destination_location.png
│   │   │   │   │   ├── MapMarkerPickupLocation.imageset
│   │   │   │   │   │   ├── Contents.json
│   │   │   │   │   │   ├── map_marker_pickup_location@2x.png
│   │   │   │   │   │   ├── map_marker_pickup_location@3x.png
│   │   │   │   │   │   └── map_marker_pickup_location.png
│   │   │   │   │   ├── ProgressKangaroo.imageset
│   │   │   │   │   │   ├── Contents.json
│   │   │   │   │   │   ├── progress_kangaroo@2x.png
│   │   │   │   │   │   ├── progress_kangaroo@3x.png
│   │   │   │   │   │   └── progress_kangaroo.png
│   │   │   │   │   ├── requesting_indicator.imageset
│   │   │   │   │   │   ├── Contents.json
│   │   │   │   │   │   ├── requesting_indicator@2x.png
│   │   │   │   │   │   ├── requesting_indicator@3x.png
│   │   │   │   │   │   └── requesting_indicator.png
│   │   │   │   │   ├── RideOptionPicker
│   │   │   │   │   │   ├── available_kangaroo_marker.imageset
│   │   │   │   │   │   │   ├── available_kangaroo_marker@2x.png
│   │   │   │   │   │   │   ├── available_kangaroo_marker@3x.png
│   │   │   │   │   │   │   ├── available_kangaroo_marker.png
│   │   │   │   │   │   │   └── Contents.json
│   │   │   │   │   │   ├── available_wallabe_marker.imageset
│   │   │   │   │   │   │   ├── available_wallabe_marker@2x.png
│   │   │   │   │   │   │   ├── available_wallabe_marker@3x.png
│   │   │   │   │   │   │   ├── available_wallabe_marker.png
│   │   │   │   │   │   │   └── Contents.json
│   │   │   │   │   │   ├── available_wallaroo_marker.imageset
│   │   │   │   │   │   │   ├── available_wallaroo_marker@2x.png
│   │   │   │   │   │   │   ├── available_wallaroo_marker@3x.png
│   │   │   │   │   │   │   ├── available_wallaroo_marker.png
│   │   │   │   │   │   │   └── Contents.json
│   │   │   │   │   │   ├── Contents.json
│   │   │   │   │   │   ├── ride_option_kangaroo.imageset
│   │   │   │   │   │   │   ├── Contents.json
│   │   │   │   │   │   │   ├── ride_option_kangaroo@2x.png
│   │   │   │   │   │   │   ├── ride_option_kangaroo@3x.png
│   │   │   │   │   │   │   └── ride_option_kangaroo.png
│   │   │   │   │   │   ├── ride_option_kangaroo_selected.imageset
│   │   │   │   │   │   │   ├── Contents.json
│   │   │   │   │   │   │   ├── ride_option_kangaroo_selected@2x.png
│   │   │   │   │   │   │   ├── ride_option_kangaroo_selected@3x.png
│   │   │   │   │   │   │   └── ride_option_kangaroo_selected.png
│   │   │   │   │   │   ├── ride_option_wallabee.imageset
│   │   │   │   │   │   │   ├── Contents.json
│   │   │   │   │   │   │   ├── ride_option_wallabee@2x.png
│   │   │   │   │   │   │   ├── ride_option_wallabee@3x.png
│   │   │   │   │   │   │   └── ride_option_wallabee.png
│   │   │   │   │   │   ├── ride_option_wallabee_selected.imageset
│   │   │   │   │   │   │   ├── Contents.json
│   │   │   │   │   │   │   ├── ride_option_wallabee_selected@2x.png
│   │   │   │   │   │   │   ├── ride_option_wallabee_selected@3x.png
│   │   │   │   │   │   │   └── ride_option_wallabee_selected.png
│   │   │   │   │   │   ├── ride_option_wallaroo.imageset
│   │   │   │   │   │   │   ├── Contents.json
│   │   │   │   │   │   │   ├── ride_option_wallaroo@2x.png
│   │   │   │   │   │   │   ├── ride_option_wallaroo@3x.png
│   │   │   │   │   │   │   └── ride_option_wallaroo.png
│   │   │   │   │   │   └── ride_option_wallaroo_selected.imageset
│   │   │   │   │   │   ├── Contents.json
│   │   │   │   │   │   ├── ride_option_wallaroo_selected@2x.png
│   │   │   │   │   │   ├── ride_option_wallaroo_selected@3x.png
│   │   │   │   │   │   └── ride_option_wallaroo_selected.png
│   │   │   │   │   ├── ride_option_placeholder.imageset
│   │   │   │   │   │   ├── Contents.json
│   │   │   │   │   │   ├── ride_option_placeholder@2x.png
│   │   │   │   │   │   ├── ride_option_placeholder@3x.png
│   │   │   │   │   │   └── ride_option_placeholder.png
│   │   │   │   │   ├── ride_option_placeholder_selected.imageset
│   │   │   │   │   │   ├── Contents.json
│   │   │   │   │   │   ├── ride_option_wallabee_selected@2x.png
│   │   │   │   │   │   ├── ride_option_wallabee_selected@3x.png
│   │   │   │   │   │   └── ride_option_wallabee_selected.png
│   │   │   │   │   ├── SetPickupLocationLoader.imageset
│   │   │   │   │   │   ├── Contents.json
│   │   │   │   │   │   ├── set_pickup_location_loader@2x.png
│   │   │   │   │   │   ├── set_pickup_location_loader@3x.png
│   │   │   │   │   │   └── set_pickup_location_loader.png
│   │   │   │   │   └── success_message.imageset
│   │   │   │   │   ├── Contents.json
│   │   │   │   │   ├── success_message@2x.png
│   │   │   │   │   ├── success_message@3x.png
│   │   │   │   │   └── success_message.png
│   │   │   │   ├── roo-icon.imageset
│   │   │   │   │   ├── Contents.json
│   │   │   │   │   ├── roo-icon@2x.png
│   │   │   │   │   ├── roo-icon@3x.png
│   │   │   │   │   └── roo-icon.png
│   │   │   │   ├── rwdevcon-bg.imageset
│   │   │   │   │   ├── Contents.json
│   │   │   │   │   └── rwdevcon-bg.png
│   │   │   │   ├── rwdevcon-logo.imageset
│   │   │   │   │   ├── Contents.json
│   │   │   │   │   └── rwdevcon-logo.png
│   │   │   │   ├── rw-logo.imageset
│   │   │   │   │   ├── Contents.json
│   │   │   │   │   └── Razewarelogo_1024.png
│   │   │   │   └── SelectPaymentMethod
│   │   │   │   ├── card_icon.imageset
│   │   │   │   │   ├── card_icon@2x.png
│   │   │   │   │   ├── card_icon@3x.png
│   │   │   │   │   ├── card_icon.png
│   │   │   │   │   └── Contents.json
│   │   │   │   ├── Contents.json
│   │   │   │   └── selected_icon.imageset
│   │   │   │   ├── Contents.json
│   │   │   │   ├── selected_icon@2x.png
│   │   │   │   ├── selected_icon@3x.png
│   │   │   │   └── selected_icon.png
│   │   │   ├── Info.plist
│   │   │   ├── RWDevConLaunchScreen.xib
│   │   │   └── ToArchive
│   │   │   ├── A. RequestRideContainerViewController.swift
│   │   │   ├── B. SelectPickupAndDropoffViewController.swift
│   │   │   ├── C. MapViewController.swift
│   │   │   ├── D. MapView.swift
│   │   │   └── Z. SwinjectStoryboard+Koober.swift
│   │   ├── KooberApp.xcodeproj
│   │   │   ├── project.pbxproj
│   │   │   ├── project.xcworkspace
│   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   └── xcshareddata
│   │   │   │   └── IDEWorkspaceChecks.plist
│   │   │   └── xcshareddata
│   │   │   └── xcschemes
│   │   │   ├── Koober-iOS.xcscheme
│   │   │   ├── KooberKit.xcscheme
│   │   │   ├── KooberUIKit.xcscheme
│   │   │   └── Koober.xcscheme
│   │   ├── Koober_iOS
│   │   │   ├── Info.plist
│   │   │   ├── iOSApp
│   │   │   │   ├── KooberAppDepedencyContainer.swift
│   │   │   │   ├── LaunchRootView.swift
│   │   │   │   ├── LaunchViewController.swift
│   │   │   │   ├── MainViewController.swift
│   │   │   │   ├── Onboarding
│   │   │   │   │   ├── KooberOnboardingDependencyContainer.swift
│   │   │   │   │   ├── OnboardingViewController.swift
│   │   │   │   │   ├── SignIn
│   │   │   │   │   │   ├── SignInRootView.swift
│   │   │   │   │   │   └── SignInViewController.swift
│   │   │   │   │   ├── SignUp
│   │   │   │   │   │   ├── SignUpRootView.swift
│   │   │   │   │   │   └── SignUpViewController.swift
│   │   │   │   │   └── Welcome
│   │   │   │   │   ├── WelcomeRootView.swift
│   │   │   │   │   └── WelcomeViewController.swift
│   │   │   │   └── SignedIn
│   │   │   │   ├── GettingUsersLocation
│   │   │   │   │   ├── GettingUsersLocationRootView.swift
│   │   │   │   │   └── GettingUsersLocationViewController.swift
│   │   │   │   ├── KooberSignedInDependencyContainer.swift
│   │   │   │   ├── PickMeUp
│   │   │   │   │   ├── KooberPickMeUpDependencyContainer.swift
│   │   │   │   │   ├── Map
│   │   │   │   │   │   ├── MapAnnotationView.swift
│   │   │   │   │   │   ├── Model
│   │   │   │   │   │   │   ├── MapAnnotationDiff.swift
│   │   │   │   │   │   │   ├── MapAnnotation+MapKit.swift
│   │   │   │   │   │   │   ├── MapAnnotation.swift
│   │   │   │   │   │   │   ├── MapAnnotationType.swift
│   │   │   │   │   │   │   └── MapViewModel.swift
│   │   │   │   │   │   ├── PickMeUpMapRootView.swift
│   │   │   │   │   │   └── PickMeUpMapViewController.swift
│   │   │   │   │   ├── PickMeUpRootView.swift
│   │   │   │   │   ├── PickMeUpUserInterface.swift
│   │   │   │   │   ├── PickMeUpViewController.swift
│   │   │   │   │   ├── SelectDropoffLocation
│   │   │   │   │   │   ├── DropoffLocationPickerContentRootView.swift
│   │   │   │   │   │   ├── DropoffLocationPickerContentViewController.swift
│   │   │   │   │   │   └── DropoffLocationPickerViewController.swift
│   │   │   │   │   ├── SelectRideOption
│   │   │   │   │   │   ├── Button
│   │   │   │   │   │   │   ├── RideOptionButton.swift
│   │   │   │   │   │   │   └── RideOptionSegmentButtonImageLoader.swift
│   │   │   │   │   │   ├── RideOptionPickerViewController.swift
│   │   │   │   │   │   └── RideOptionSegmentedControl.swift
│   │   │   │   │   └── SendRideRequest
│   │   │   │   │   ├── SendingRideRequestRootView.swift
│   │   │   │   │   └── SendingRideRequestViewController.swift
│   │   │   │   ├── SignedInRootView.swift
│   │   │   │   ├── SignedInViewController.swift
│   │   │   │   ├── ViewProfile
│   │   │   │   │   ├── ProfileContentRootView.swift
│   │   │   │   │   ├── ProfileContentViewController.swift
│   │   │   │   │   └── ProfileViewController.swift
│   │   │   │   └── WaitingForPickup
│   │   │   │   ├── WaitingForPickupRootView.swift
│   │   │   │   └── WaitingForPickupViewController.swift
│   │   │   └── Koober_iOS.h
│   │   ├── KooberKit
│   │   │   ├── DataLayer
│   │   │   │   ├── Model
│   │   │   │   │   ├── ErrorMessage.swift
│   │   │   │   │   ├── ErrorPresentation.swift
│   │   │   │   │   ├── FakeURL.swift
│   │   │   │   │   ├── Identifiable.swift
│   │   │   │   │   ├── KooberKitError.swift
│   │   │   │   │   ├── LoadedState.swift
│   │   │   │   │   ├── Location.swift
│   │   │   │   │   ├── NamedLocation.swift
│   │   │   │   │   ├── NewAccount.swift
│   │   │   │   │   ├── NewRideRequest.swift
│   │   │   │   │   ├── RemoteImage.swift
│   │   │   │   │   ├── RideOptionPickerRideOptions.swift
│   │   │   │   │   ├── RideOption.swift
│   │   │   │   │   ├── Secret.swift
│   │   │   │   │   ├── UserProfile.swift
│   │   │   │   │   └── UserSession.swift
│   │   │   │   └── Repositories
│   │   │   │   ├── Coding
│   │   │   │   │   └── UserSession
│   │   │   │   │   ├── Implementations
│   │   │   │   │   │   └── UserSessionPropertyListCoder.swift
│   │   │   │   │   └── UserSessionCoding.swift
│   │   │   │   ├── KooberLocationRepository.swift
│   │   │   │   ├── KooberNewRideRepository.swift
│   │   │   │   ├── KooberRideOptionRepository.swift
│   │   │   │   ├── KooberUserSessionRepository.swift
│   │   │   │   ├── Location
│   │   │   │   │   ├── Implementations
│   │   │   │   │   │   └── FakeLocator.swift
│   │   │   │   │   └── Locator.swift
│   │   │   │   ├── LocationRepository.swift
│   │   │   │   ├── NewRideRepository.swift
│   │   │   │   ├── Persistence
│   │   │   │   │   ├── RideOptionStore
│   │   │   │   │   │   ├── Implementations
│   │   │   │   │   │   │   ├── RideOptionDataStoreDiskUserPrefs.swift
│   │   │   │   │   │   │   └── RideOptionDataStoreInMemory.swift
│   │   │   │   │   │   └── RideOptionDataStore.swift
│   │   │   │   │   └── UserSessionStore
│   │   │   │   │   ├── Implementations
│   │   │   │   │   │   ├── FakeUserSessionDataStore.swift
│   │   │   │   │   │   ├── FileUserSessionDataStore.swift
│   │   │   │   │   │   └── Keychain
│   │   │   │   │   │   ├── KeychainItem.swift
│   │   │   │   │   │   ├── Keychain.swift
│   │   │   │   │   │   └── KeychainUserSessionDataStore.swift
│   │   │   │   │   └── UserSessionDataStore.swift
│   │   │   │   ├── Remote
│   │   │   │   │   ├── Auth
│   │   │   │   │   │   ├── AuthRemoteAPI.swift
│   │   │   │   │   │   └── Implementations
│   │   │   │   │   │   ├── FakeAuthRemoteAPI.swift
│   │   │   │   │   │   └── KooberCloudAuthRemoteAPI.swift
│   │   │   │   │   ├── NewRide
│   │   │   │   │   │   ├── Implementations
│   │   │   │   │   │   │   ├── FakeNewRideRemoteAPI.swift
│   │   │   │   │   │   │   └── KooberCloudNewRideRemoteAPI.swift
│   │   │   │   │   │   └── NewRideRemoteAPI.swift
│   │   │   │   │   └── RemoteUserSession.swift
│   │   │   │   ├── RideOptionRepository.swift
│   │   │   │   └── UserSessionRepository.swift
│   │   │   ├── Info.plist
│   │   │   ├── KooberKit.h
│   │   │   ├── Reusable
│   │   │   │   └── RxSwiftExtensions
│   │   │   │   └── ObservableOperators.swift
│   │   │   └── UILayer
│   │   │   ├── LaunchViewModel.swift
│   │   │   ├── MainViewModel.swift
│   │   │   ├── MainView.swift
│   │   │   ├── NotSignedInResponder.swift
│   │   │   ├── Onboard
│   │   │   │   ├── GoToSignInNavigator.swift
│   │   │   │   ├── GoToSignUpNavigator.swift
│   │   │   │   ├── OnboardingViewModel.swift
│   │   │   │   ├── OnboardingView.swift
│   │   │   │   ├── SignIn
│   │   │   │   │   └── SignInViewModel.swift
│   │   │   │   ├── SignUp
│   │   │   │   │   └── SignUpViewModel.swift
│   │   │   │   └── Welcome
│   │   │   │   └── WelcomeViewModel.swift
│   │   │   ├── Reusable
│   │   │   │   └── NavigationAction.swift
│   │   │   ├── SignedIn
│   │   │   │   ├── DeterminedPickUpLocationResponder.swift
│   │   │   │   ├── GettingUsersLocation
│   │   │   │   │   └── GettingUsersLocationViewModel.swift
│   │   │   │   ├── GoToNewRideNavigator.swift
│   │   │   │   ├── NewRideRequestAcceptedResponder.swift
│   │   │   │   ├── PickMeUp
│   │   │   │   │   ├── CancelDropoffLocationSelectionResponder.swift
│   │   │   │   │   ├── DoneWithProfileResponder.swift
│   │   │   │   │   ├── DropoffLocationDeterminedResponder.swift
│   │   │   │   │   ├── Map
│   │   │   │   │   │   └── PickMeUpMapViewModel.swift
│   │   │   │   │   ├── PickMeUpRequestProgress.swift
│   │   │   │   │   ├── PickMeUpViewModel.swift
│   │   │   │   │   ├── PickMeUpView.swift
│   │   │   │   │   ├── RideOptionDeterminedResponder.swift
│   │   │   │   │   ├── SelectDropoffLocation
│   │   │   │   │   │   └── DropoffLocationPickerViewModel.swift
│   │   │   │   │   └── SelectRideOption
│   │   │   │   │   ├── RideOptionPickerViewModel.swift
│   │   │   │   │   ├── RideOptionSegmentedControlViewModel.swift
│   │   │   │   │   ├── RideOptionSegmentsFactory.swift
│   │   │   │   │   └── RideOptionSegmentViewModel.swift
│   │   │   │   ├── SignedInViewModel.swift
│   │   │   │   ├── SignedInView.swift
│   │   │   │   ├── ViewProfile
│   │   │   │   │   └── ProfileViewModel.swift
│   │   │   │   └── WaitingForPickup
│   │   │   │   └── WaitingForPickupViewModel.swift
│   │   │   └── SignedInResponder.swift
│   │   └── KooberUIKit
│   │   ├── Info.plist
│   │   ├── KooberUIKit.h
│   │   └── Reusable
│   │   ├── ErrorMessagePresentation.swift
│   │   ├── Image Cache
│   │   │   ├── ImageCache.swift
│   │   │   └── Implementations
│   │   │   ├── ImageCacheKingfisher.swift
│   │   │   └── InBundleImageCache.swift
│   │   ├── Style
│   │   │   ├── Color.swift
│   │   │   └── UIColor+Hex.swift
│   │   └── UIKit
│   │   ├── NiblessComponents
│   │   │   ├── NiblessNavigationController.swift
│   │   │   ├── NiblessViewController.swift
│   │   │   └── NiblessView.swift
│   │   ├── ObservableUISearchController.swift
│   │   ├── UIStackViewExtensions.swift
│   │   ├── UIViewController+ErrorPresentation.swift
│   │   └── ViewControllerContainment.swift
│   └── TabBarExample
│   ├── TabBarExample
│   │   ├── AppDelegate.swift
│   │   ├── Assets.xcassets
│   │   │   ├── AppIcon.appiconset
│   │   │   │   └── Contents.json
│   │   │   └── Contents.json
│   │   ├── Base.lproj
│   │   │   ├── LaunchScreen.storyboard
│   │   │   └── Main.storyboard
│   │   ├── Info.plist
│   │   └── ViewController.swift
│   └── TabBarExample.xcodeproj
│   ├── project.pbxproj
│   └── project.xcworkspace
│   ├── contents.xcworkspacedata
│   └── xcshareddata
│   └── IDEWorkspaceChecks.plist
├── 06-architecture-redux
│   └── final
│   └── KooberApp
│   ├── Cartfile
│   ├── Cartfile.resolved
│   ├── Carthage
│   │   └── Checkouts
│   │   ├── Kingfisher
│   │   │   ├── CHANGELOG.md
│   │   │   ├── codecov.yml
│   │   │   ├── CONTRIBUTING.md
│   │   │   ├── Demo
│   │   │   │   ├── Demo
│   │   │   │   │   ├── Kingfisher-Demo
│   │   │   │   │   │   ├── AppDelegate.swift
│   │   │   │   │   │   ├── Base.lproj
│   │   │   │   │   │   │   ├── LaunchScreen.xib
│   │   │   │   │   │   │   └── Main.storyboard
│   │   │   │   │   │   ├── CollectionViewCell.swift
│   │   │   │   │   │   ├── Images.xcassets
│   │   │   │   │   │   │   └── AppIcon.appiconset
│   │   │   │   │   │   │   └── Contents.json
│   │   │   │   │   │   ├── Info.plist
│   │   │   │   │   │   ├── loader.gif
│   │   │   │   │   │   └── ViewController.swift
│   │   │   │   │   ├── Kingfisher-macOS-Demo
│   │   │   │   │   │   ├── AppDelegate.swift
│   │   │   │   │   │   ├── Assets.xcassets
│   │   │   │   │   │   │   └── AppIcon.appiconset
│   │   │   │   │   │   │   └── Contents.json
│   │   │   │   │   │   ├── Base.lproj
│   │   │   │   │   │   │   └── Main.storyboard
│   │   │   │   │   │   ├── Cell.xib
│   │   │   │   │   │   ├── Info.plist
│   │   │   │   │   │   └── ViewController.swift
│   │   │   │   │   ├── Kingfisher-tvOS-Demo
│   │   │   │   │   │   ├── AppDelegate.swift
│   │   │   │   │   │   ├── Assets.xcassets
│   │   │   │   │   │   │   ├── App Icon & Top Shelf Image.brandassets
│   │   │   │   │   │   │   │   ├── App Icon - Large.imagestack
│   │   │   │   │   │   │   │   │   ├── Back.imagestacklayer
│   │   │   │   │   │   │   │   │   │   ├── Content.imageset
│   │   │   │   │   │   │   │   │   │   │   └── Contents.json
│   │   │   │   │   │   │   │   │   │   └── Contents.json
│   │   │   │   │   │   │   │   │   ├── Contents.json
│   │   │   │   │   │   │   │   │   ├── Front.imagestacklayer
│   │   │   │   │   │   │   │   │   │   ├── Content.imageset
│   │   │   │   │   │   │   │   │   │   │   └── Contents.json
│   │   │   │   │   │   │   │   │   │   └── Contents.json
│   │   │   │   │   │   │   │   │   └── Middle.imagestacklayer
│   │   │   │   │   │   │   │   │   ├── Content.imageset
│   │   │   │   │   │   │   │   │   │   └── Contents.json
│   │   │   │   │   │   │   │   │   └── Contents.json
│   │   │   │   │   │   │   │   ├── App Icon - Small.imagestack
│   │   │   │   │   │   │   │   │   ├── Back.imagestacklayer
│   │   │   │   │   │   │   │   │   │   ├── Content.imageset
│   │   │   │   │   │   │   │   │   │   │   └── Contents.json
│   │   │   │   │   │   │   │   │   │   └── Contents.json
│   │   │   │   │   │   │   │   │   ├── Contents.json
│   │   │   │   │   │   │   │   │   ├── Front.imagestacklayer
│   │   │   │   │   │   │   │   │   │   ├── Content.imageset
│   │   │   │   │   │   │   │   │   │   │   └── Contents.json
│   │   │   │   │   │   │   │   │   │   └── Contents.json
│   │   │   │   │   │   │   │   │   └── Middle.imagestacklayer
│   │   │   │   │   │   │   │   │   ├── Content.imageset
│   │   │   │   │   │   │   │   │   │   └── Contents.json
│   │   │   │   │   │   │   │   │   └── Contents.json
│   │   │   │   │   │   │   │   ├── Contents.json
│   │   │   │   │   │   │   │   └── Top Shelf Image.imageset
│   │   │   │   │   │   │   │   └── Contents.json
│   │   │   │   │   │   │   ├── Contents.json
│   │   │   │   │   │   │   └── LaunchImage.launchimage
│   │   │   │   │   │   │   └── Contents.json
│   │   │   │   │   │   ├── Base.lproj
│   │   │   │   │   │   │   └── Main.storyboard
│   │   │   │   │   │   └── Info.plist
│   │   │   │   │   ├── Kingfisher-watchOS-Demo
│   │   │   │   │   │   ├── Assets.xcassets
│   │   │   │   │   │   │   └── AppIcon.appiconset
│   │   │   │   │   │   │   └── Contents.json
│   │   │   │   │   │   ├── Base.lproj
│   │   │   │   │   │   │   └── Interface.storyboard
│   │   │   │   │   │   └── Info.plist
│   │   │   │   │   └── Kingfisher-watchOS-Demo Extension
│   │   │   │   │   ├── Assets.xcassets
│   │   │   │   │   │   └── README__ignoredByTemplate__
│   │   │   │   │   ├── ExtensionDelegate.swift
│   │   │   │   │   ├── Info.plist
│   │   │   │   │   └── InterfaceController.swift
│   │   │   │   └── Kingfisher-Demo.xcodeproj
│   │   │   │   ├── project.pbxproj
│   │   │   │   └── project.xcworkspace
│   │   │   │   └── contents.xcworkspacedata
│   │   │   ├── docs
│   │   │   │   ├── badge.svg
│   │   │   │   ├── Classes
│   │   │   │   │   ├── AnimatedImageView
│   │   │   │   │   │   └── RepeatCount.html
│   │   │   │   │   ├── AnimatedImageView.html
│   │   │   │   │   ├── ImageCache
│   │   │   │   │   │   └── CacheCheckResult.html
│   │   │   │   │   ├── ImageCache.html
│   │   │   │   │   ├── ImageDownloader.html
│   │   │   │   │   ├── ImagePrefetcher.html
│   │   │   │   │   ├── Kingfisher.html
│   │   │   │   │   ├── KingfisherManager.html
│   │   │   │   │   └── RetrieveImageTask.html
│   │   │   │   ├── Classes.html
│   │   │   │   ├── css
│   │   │   │   │   ├── highlight.css
│   │   │   │   │   └── jazzy.css
│   │   │   │   ├── docsets
│   │   │   │   │   ├── Kingfisher.docset
│   │   │   │   │   │   └── Contents
│   │   │   │   │   │   ├── Info.plist
│   │   │   │   │   │   └── Resources
│   │   │   │   │   │   ├── docSet.dsidx
│   │   │   │   │   │   └── Documents
│   │   │   │   │   │   ├── Classes
│   │   │   │   │   │   │   ├── AnimatedImageView
│   │   │   │   │   │   │   │   └── RepeatCount.html
│   │   │   │   │   │   │   ├── AnimatedImageView.html
│   │   │   │   │   │   │   ├── ImageCache
│   │   │   │   │   │   │   │   └── CacheCheckResult.html
│   │   │   │   │   │   │   ├── ImageCache.html
│   │   │   │   │   │   │   ├── ImageDownloader.html
│   │   │   │   │   │   │   ├── ImagePrefetcher.html
│   │   │   │   │   │   │   ├── Kingfisher.html
│   │   │   │   │   │   │   ├── KingfisherManager.html
│   │   │   │   │   │   │   └── RetrieveImageTask.html
│   │   │   │   │   │   ├── Classes.html
│   │   │   │   │   │   ├── css
│   │   │   │   │   │   │   ├── highlight.css
│   │   │   │   │   │   │   └── jazzy.css
│   │   │   │   │   │   ├── Enums
│   │   │   │   │   │   │   ├── CacheType.html
│   │   │   │   │   │   │   ├── ContentMode.html
│   │   │   │   │   │   │   ├── ImageFormat.html
│   │   │   │   │   │   │   ├── ImageProcessItem.html
│   │   │   │   │   │   │   ├── ImageTransition.html
│   │   │   │   │   │   │   ├── IndicatorType.html
│   │   │   │   │   │   │   ├── KingfisherError.html
│   │   │   │   │   │   │   └── KingfisherOptionsInfoItem.html
│   │   │   │   │   │   ├── Enums.html
│   │   │   │   │   │   ├── Extensions
│   │   │   │   │   │   │   ├── CGSize.html
│   │   │   │   │   │   │   ├── Collection.html
│   │   │   │   │   │   │   ├── Data.html
│   │   │   │   │   │   │   ├── Notification
│   │   │   │   │   │   │   │   └── Name.html
│   │   │   │   │   │   │   ├── Notification.html
│   │   │   │   │   │   │   └── URL.html
│   │   │   │   │   │   ├── Extensions.html
│   │   │   │   │   │   ├── Functions.html
│   │   │   │   │   │   ├── Global Variables.html
│   │   │   │   │   │   ├── img
│   │   │   │   │   │   │   ├── carat.png
│   │   │   │   │   │   │   ├── dash.png
│   │   │   │   │   │   │   └── gh.png
│   │   │   │   │   │   ├── index.html
│   │   │   │   │   │   ├── js
│   │   │   │   │   │   │   ├── jazzy.js
│   │   │   │   │   │   │   └── jquery.min.js
│   │   │   │   │   │   ├── Protocols
│   │   │   │   │   │   │   ├── AnimatedImageViewDelegate.html
│   │   │   │   │   │   │   ├── AuthenticationChallengeResponsable.html
│   │   │   │   │   │   │   ├── CacheSerializer.html
│   │   │   │   │   │   │   ├── CIImageProcessor.html
│   │   │   │   │   │   │   ├── ImageDownloaderDelegate.html
│   │   │   │   │   │   │   ├── ImageDownloadRequestModifier.html
│   │   │   │   │   │   │   ├── ImageModifier.html
│   │   │   │   │   │   │   ├── ImageProcessor.html
│   │   │   │   │   │   │   ├── Indicator.html
│   │   │   │   │   │   │   ├── KingfisherCompatible.html
│   │   │   │   │   │   │   ├── Placeholder.html
│   │   │   │   │   │   │   └── Resource.html
│   │   │   │   │   │   ├── Protocols.html
│   │   │   │   │   │   ├── search.json
│   │   │   │   │   │   ├── Structs
│   │   │   │   │   │   │   ├── AlignmentRectInsetsImageModifier.html
│   │   │   │   │   │   │   ├── AnyImageModifier.html
│   │   │   │   │   │   │   ├── AnyModifier.html
│   │   │   │   │   │   │   ├── BlackWhiteProcessor.html
│   │   │   │   │   │   │   ├── BlendImageProcessor.html
│   │   │   │   │   │   │   ├── BlurImageProcessor.html
│   │   │   │   │   │   │   ├── CGSizeProxy.html
│   │   │   │   │   │   │   ├── ColorControlsProcessor.html
│   │   │   │   │   │   │   ├── CompositingImageProcessor.html
│   │   │   │   │   │   │   ├── CroppingImageProcessor.html
│   │   │   │   │   │   │   ├── DataProxy.html
│   │   │   │   │   │   │   ├── DefaultCacheSerializer.html
│   │   │   │   │   │   │   ├── DefaultImageModifier.html
│   │   │   │   │   │   │   ├── DefaultImageProcessor.html
│   │   │   │   │   │   │   ├── Filter.html
│   │   │   │   │   │   │   ├── FlipsForRightToLeftLayoutDirectionImageModifier.html
│   │   │   │   │   │   │   ├── FormatIndicatedCacheSerializer.html
│   │   │   │   │   │   │   ├── ImageResource.html
│   │   │   │   │   │   │   ├── OverlayImageProcessor.html
│   │   │   │   │   │   │   ├── RectCorner.html
│   │   │   │   │   │   │   ├── RenderingModeImageModifier.html
│   │   │   │   │   │   │   ├── ResizingImageProcessor.html
│   │   │   │   │   │   │   ├── RetrieveImageDownloadTask.html
│   │   │   │   │   │   │   ├── RoundCornerImageProcessor.html
│   │   │   │   │   │   │   └── TintImageProcessor.html
│   │   │   │   │   │   ├── Structs.html
│   │   │   │   │   │   └── Typealiases.html
│   │   │   │   │   ├── Kingfisher.tgz
│   │   │   │   │   └── Kingfisher.xml
│   │   │   │   ├── Enums
│   │   │   │   │   ├── CacheType.html
│   │   │   │   │   ├── ContentMode.html
│   │   │   │   │   ├── ImageFormat.html
│   │   │   │   │   ├── ImageProcessItem.html
│   │   │   │   │   ├── ImageTransition.html
│   │   │   │   │   ├── IndicatorType.html
│   │   │   │   │   ├── KingfisherError.html
│   │   │   │   │   └── KingfisherOptionsInfoItem.html
│   │   │   │   ├── Enums.html
│   │   │   │   ├── Extensions
│   │   │   │   │   ├── CGSize.html
│   │   │   │   │   ├── Collection.html
│   │   │   │   │   ├── Data.html
│   │   │   │   │   ├── Notification
│   │   │   │   │   │   └── Name.html
│   │   │   │   │   ├── Notification.html
│   │   │   │   │   └── URL.html
│   │   │   │   ├── Extensions.html
│   │   │   │   ├── Functions.html
│   │   │   │   ├── Global Variables.html
│   │   │   │   ├── img
│   │   │   │   │   ├── carat.png
│   │   │   │   │   ├── dash.png
│   │   │   │   │   └── gh.png
│   │   │   │   ├── index.html
│   │   │   │   ├── js
│   │   │   │   │   ├── jazzy.js
│   │   │   │   │   └── jquery.min.js
│   │   │   │   ├── Protocols
│   │   │   │   │   ├── AnimatedImageViewDelegate.html
│   │   │   │   │   ├── AuthenticationChallengeResponsable.html
│   │   │   │   │   ├── CacheSerializer.html
│   │   │   │   │   ├── CIImageProcessor.html
│   │   │   │   │   ├── ImageDownloaderDelegate.html
│   │   │   │   │   ├── ImageDownloadRequestModifier.html
│   │   │   │   │   ├── ImageModifier.html
│   │   │   │   │   ├── ImageProcessor.html
│   │   │   │   │   ├── Indicator.html
│   │   │   │   │   ├── KingfisherCompatible.html
│   │   │   │   │   ├── Placeholder.html
│   │   │   │   │   └── Resource.html
│   │   │   │   ├── Protocols.html
│   │   │   │   ├── search.json
│   │   │   │   ├── Structs
│   │   │   │   │   ├── AlignmentRectInsetsImageModifier.html
│   │   │   │   │   ├── AnyImageModifier.html
│   │   │   │   │   ├── AnyModifier.html
│   │   │   │   │   ├── BlackWhiteProcessor.html
│   │   │   │   │   ├── BlendImageProcessor.html
│   │   │   │   │   ├── BlurImageProcessor.html
│   │   │   │   │   ├── CGSizeProxy.html
│   │   │   │   │   ├── ColorControlsProcessor.html
│   │   │   │   │   ├── CompositingImageProcessor.html
│   │   │   │   │   ├── CroppingImageProcessor.html
│   │   │   │   │   ├── DataProxy.html
│   │   │   │   │   ├── DefaultCacheSerializer.html
│   │   │   │   │   ├── DefaultImageModifier.html
│   │   │   │   │   ├── DefaultImageProcessor.html
│   │   │   │   │   ├── Filter.html
│   │   │   │   │   ├── FlipsForRightToLeftLayoutDirectionImageModifier.html
│   │   │   │   │   ├── FormatIndicatedCacheSerializer.html
│   │   │   │   │   ├── ImageResource.html
│   │   │   │   │   ├── OverlayImageProcessor.html
│   │   │   │   │   ├── RectCorner.html
│   │   │   │   │   ├── RenderingModeImageModifier.html
│   │   │   │   │   ├── ResizingImageProcessor.html
│   │   │   │   │   ├── RetrieveImageDownloadTask.html
│   │   │   │   │   ├── RoundCornerImageProcessor.html
│   │   │   │   │   └── TintImageProcessor.html
│   │   │   │   ├── Structs.html
│   │   │   │   ├── Typealiases.html
│   │   │   │   └── undocumented.json
│   │   │   ├── fastlane
│   │   │   │   ├── actions
│   │   │   │   │   ├── extract_current_change_log.rb
│   │   │   │   │   ├── git_commit_all.rb
│   │   │   │   │   ├── sync_build_number_to_git.rb
│   │   │   │   │   └── update_change_log.rb
│   │   │   │   └── Fastfile
│   │   │   ├── Gemfile
│   │   │   ├── Gemfile.lock
│   │   │   ├── images
│   │   │   │   ├── kingfisher-10.jpg
│   │   │   │   ├── kingfisher-1.jpg
│   │   │   │   ├── kingfisher-2.jpg
│   │   │   │   ├── kingfisher-3.jpg
│   │   │   │   ├── kingfisher-4.jpg
│   │   │   │   ├── kingfisher-5.jpg
│   │   │   │   ├── kingfisher-6.jpg
│   │   │   │   ├── kingfisher-7.jpg
│   │   │   │   ├── kingfisher-8.jpg
│   │   │   │   ├── kingfisher-9.jpg
│   │   │   │   └── logo.png
│   │   │   ├── Kingfisher.podspec
│   │   │   ├── Kingfisher.xcodeproj
│   │   │   │   ├── project.pbxproj
│   │   │   │   ├── project.xcworkspace
│   │   │   │   │   └── contents.xcworkspacedata
│   │   │   │   └── xcshareddata
│   │   │   │   ├── xcbaselines
│   │   │   │   │   └── D1ED2D3E1AD2D09F00CFC3EB.xcbaseline
│   │   │   │   │   ├── 74237B0B-7981-4A24-B6C4-95F4A5E7727F.plist
│   │   │   │   │   └── Info.plist
│   │   │   │   └── xcschemes
│   │   │   │   ├── Kingfisher-macOS.xcscheme
│   │   │   │   ├── Kingfisher-tvOS.xcscheme
│   │   │   │   ├── Kingfisher-watchOS.xcscheme
│   │   │   │   └── Kingfisher.xcscheme
│   │   │   ├── Kingfisher.xcworkspace
│   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   └── xcshareddata
│   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   ├── Kingfisher.xcscmblueprint
│   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   ├── LICENSE
│   │   │   ├── Package.swift
│   │   │   ├── Podfile
│   │   │   ├── Podfile.lock
│   │   │   ├── Pods
│   │   │   │   ├── Headers
│   │   │   │   │   ├── Private
│   │   │   │   │   │   └── Nocilla
│   │   │   │   │   │   ├── asihttprequeststub.h
│   │   │   │   │   │   ├── LSASIHTTPRequestAdapter.h
│   │   │   │   │   │   ├── LSASIHTTPRequestHook.h
│   │   │   │   │   │   ├── LSDataMatcher.h
│   │   │   │   │   │   ├── LSHTTPBody.h
│   │   │   │   │   │   ├── LSHTTPClientHook.h
│   │   │   │   │   │   ├── LSHTTPRequestDiff.h
│   │   │   │   │   │   ├── LSHTTPRequestDSLRepresentation.h
│   │   │   │   │   │   ├── LSHTTPRequest.h
│   │   │   │   │   │   ├── LSHTTPResponse.h
│   │   │   │   │   │   ├── LSHTTPStubURLProtocol.h
│   │   │   │   │   │   ├── LSMatcheable.h
│   │   │   │   │   │   ├── LSMatcher.h
│   │   │   │   │   │   ├── LSNocilla.h
│   │   │   │   │   │   ├── LSNSURLHook.h
│   │   │   │   │   │   ├── LSNSURLSessionHook.h
│   │   │   │   │   │   ├── LSRegexMatcher.h
│   │   │   │   │   │   ├── LSStringMatcher.h
│   │   │   │   │   │   ├── LSStubRequestDSL.h
│   │   │   │   │   │   ├── LSStubRequest.h
│   │   │   │   │   │   ├── LSStubResponseDSL.h
│   │   │   │   │   │   ├── LSStubResponse.h
│   │   │   │   │   │   ├── Nocilla.h
│   │   │   │   │   │   ├── NSData+Matcheable.h
│   │   │   │   │   │   ├── NSData+Nocilla.h
│   │   │   │   │   │   ├── NSRegularExpression+Matcheable.h
│   │   │   │   │   │   ├── NSString+Matcheable.h
│   │   │   │   │   │   ├── NSString+Nocilla.h
│   │   │   │   │   │   ├── NSURLRequest+DSL.h
│   │   │   │   │   │   └── NSURLRequest+LSHTTPRequest.h
│   │   │   │   │   └── Public
│   │   │   │   │   └── Nocilla
│   │   │   │   │   ├── LSHTTPBody.h
│   │   │   │   │   ├── LSMatcheable.h
│   │   │   │   │   ├── LSNocilla.h
│   │   │   │   │   ├── LSStubRequestDSL.h
│   │   │   │   │   ├── LSStubResponseDSL.h
│   │   │   │   │   ├── Nocilla.h
│   │   │   │   │   ├── NSData+Matcheable.h
│   │   │   │   │   ├── NSData+Nocilla.h
│   │   │   │   │   ├── NSRegularExpression+Matcheable.h
│   │   │   │   │   ├── NSString+Matcheable.h
│   │   │   │   │   └── NSString+Nocilla.h
│   │   │   │   ├── Local Podspecs
│   │   │   │   │   └── Nocilla.podspec.json
│   │   │   │   ├── Manifest.lock
│   │   │   │   ├── Nocilla
│   │   │   │   │   ├── LICENSE
│   │   │   │   │   ├── Nocilla
│   │   │   │   │   │   ├── Categories
│   │   │   │   │   │   │   ├── NSData+Nocilla.h
│   │   │   │   │   │   │   ├── NSData+Nocilla.m
│   │   │   │   │   │   │   ├── NSString+Nocilla.h
│   │   │   │   │   │   │   └── NSString+Nocilla.m
│   │   │   │   │   │   ├── Diff
│   │   │   │   │   │   │   ├── LSHTTPRequestDiff.h
│   │   │   │   │   │   │   └── LSHTTPRequestDiff.m
│   │   │   │   │   │   ├── DSL
│   │   │   │   │   │   │   ├── LSHTTPRequestDSLRepresentation.h
│   │   │   │   │   │   │   ├── LSHTTPRequestDSLRepresentation.m
│   │   │   │   │   │   │   ├── LSStubRequestDSL.h
│   │   │   │   │   │   │   ├── LSStubRequestDSL.m
│   │   │   │   │   │   │   ├── LSStubResponseDSL.h
│   │   │   │   │   │   │   └── LSStubResponseDSL.m
│   │   │   │   │   │   ├── Hooks
│   │   │   │   │   │   │   ├── ASIHTTPRequest
│   │   │   │   │   │   │   │   ├── ASIHTTPRequestStub.h
│   │   │   │   │   │   │   │   ├── ASIHTTPRequestStub.m
│   │   │   │   │   │   │   │   ├── LSASIHTTPRequestAdapter.h
│   │   │   │   │   │   │   │   ├── LSASIHTTPRequestAdapter.m
│   │   │   │   │   │   │   │   ├── LSASIHTTPRequestHook.h
│   │   │   │   │   │   │   │   └── LSASIHTTPRequestHook.m
│   │   │   │   │   │   │   ├── LSHTTPClientHook.h
│   │   │   │   │   │   │   ├── LSHTTPClientHook.m
│   │   │   │   │   │   │   ├── NSURLRequest
│   │   │   │   │   │   │   │   ├── LSHTTPStubURLProtocol.h
│   │   │   │   │   │   │   │   ├── LSHTTPStubURLProtocol.m
│   │   │   │   │   │   │   │   ├── LSNSURLHook.h
│   │   │   │   │   │   │   │   ├── LSNSURLHook.m
│   │   │   │   │   │   │   │   ├── NSURLRequest+DSL.h
│   │   │   │   │   │   │   │   ├── NSURLRequest+DSL.m
│   │   │   │   │   │   │   │   ├── NSURLRequest+LSHTTPRequest.h
│   │   │   │   │   │   │   │   └── NSURLRequest+LSHTTPRequest.m
│   │   │   │   │   │   │   └── NSURLSession
│   │   │   │   │   │   │   ├── LSNSURLSessionHook.h
│   │   │   │   │   │   │   └── LSNSURLSessionHook.m
│   │   │   │   │   │   ├── LSNocilla.h
│   │   │   │   │   │   ├── LSNocilla.m
│   │   │   │   │   │   ├── Matchers
│   │   │   │   │   │   │   ├── LSDataMatcher.h
│   │   │   │   │   │   │   ├── LSDataMatcher.m
│   │   │   │   │   │   │   ├── LSMatcheable.h
│   │   │   │   │   │   │   ├── LSMatcher.h
│   │   │   │   │   │   │   ├── LSMatcher.m
│   │   │   │   │   │   │   ├── LSRegexMatcher.h
│   │   │   │   │   │   │   ├── LSRegexMatcher.m
│   │   │   │   │   │   │   ├── LSStringMatcher.h
│   │   │   │   │   │   │   ├── LSStringMatcher.m
│   │   │   │   │   │   │   ├── NSData+Matcheable.h
│   │   │   │   │   │   │   ├── NSData+Matcheable.m
│   │   │   │   │   │   │   ├── NSRegularExpression+Matcheable.h
│   │   │   │   │   │   │   ├── NSRegularExpression+Matcheable.m
│   │   │   │   │   │   │   ├── NSString+Matcheable.h
│   │   │   │   │   │   │   └── NSString+Matcheable.m
│   │   │   │   │   │   ├── Model
│   │   │   │   │   │   │   ├── LSHTTPBody.h
│   │   │   │   │   │   │   ├── LSHTTPRequest.h
│   │   │   │   │   │   │   └── LSHTTPResponse.h
│   │   │   │   │   │   ├── Nocilla.h
│   │   │   │   │   │   └── Stubs
│   │   │   │   │   │   ├── LSStubRequest.h
│   │   │   │   │   │   ├── LSStubRequest.m
│   │   │   │   │   │   ├── LSStubResponse.h
│   │   │   │   │   │   └── LSStubResponse.m
│   │   │   │   │   └── README.md
│   │   │   │   ├── Pods.xcodeproj
│   │   │   │   │   └── project.pbxproj
│   │   │   │   └── Target Support Files
│   │   │   │   ├── Nocilla-iOS
│   │   │   │   │   ├── Nocilla-iOS-dummy.m
│   │   │   │   │   ├── Nocilla-iOS-prefix.pch
│   │   │   │   │   └── Nocilla-iOS.xcconfig
│   │   │   │   ├── Nocilla-macOS
│   │   │   │   │   ├── Nocilla-macOS-dummy.m
│   │   │   │   │   ├── Nocilla-macOS-prefix.pch
│   │   │   │   │   └── Nocilla-macOS.xcconfig
│   │   │   │   ├── Nocilla-tvOS
│   │   │   │   │   ├── Nocilla-tvOS-dummy.m
│   │   │   │   │   ├── Nocilla-tvOS-prefix.pch
│   │   │   │   │   └── Nocilla-tvOS.xcconfig
│   │   │   │   ├── Pods-KingfisherTests
│   │   │   │   │   ├── Pods-KingfisherTests-acknowledgements.markdown
│   │   │   │   │   ├── Pods-KingfisherTests-acknowledgements.plist
│   │   │   │   │   ├── Pods-KingfisherTests.debug.xcconfig
│   │   │   │   │   ├── Pods-KingfisherTests-dummy.m
│   │   │   │   │   ├── Pods-KingfisherTests-frameworks.sh
│   │   │   │   │   ├── Pods-KingfisherTests.release.xcconfig
│   │   │   │   │   └── Pods-KingfisherTests-resources.sh
│   │   │   │   ├── Pods-KingfisherTests-macOS
│   │   │   │   │   ├── Pods-KingfisherTests-macOS-acknowledgements.markdown
│   │   │   │   │   ├── Pods-KingfisherTests-macOS-acknowledgements.plist
│   │   │   │   │   ├── Pods-KingfisherTests-macOS.debug.xcconfig
│   │   │   │   │   ├── Pods-KingfisherTests-macOS-dummy.m
│   │   │   │   │   ├── Pods-KingfisherTests-macOS-frameworks.sh
│   │   │   │   │   ├── Pods-KingfisherTests-macOS.release.xcconfig
│   │   │   │   │   └── Pods-KingfisherTests-macOS-resources.sh
│   │   │   │   └── Pods-KingfisherTests-tvOS
│   │   │   │   ├── Pods-KingfisherTests-tvOS-acknowledgements.markdown
│   │   │   │   ├── Pods-KingfisherTests-tvOS-acknowledgements.plist
│   │   │   │   ├── Pods-KingfisherTests-tvOS.debug.xcconfig
│   │   │   │   ├── Pods-KingfisherTests-tvOS-dummy.m
│   │   │   │   ├── Pods-KingfisherTests-tvOS-frameworks.sh
│   │   │   │   ├── Pods-KingfisherTests-tvOS.release.xcconfig
│   │   │   │   └── Pods-KingfisherTests-tvOS-resources.sh
│   │   │   ├── README.md
│   │   │   ├── setup.sh
│   │   │   ├── Sources
│   │   │   │   ├── AnimatedImageView.swift
│   │   │   │   ├── Box.swift
│   │   │   │   ├── CacheSerializer.swift
│   │   │   │   ├── Filter.swift
│   │   │   │   ├── FormatIndicatedCacheSerializer.swift
│   │   │   │   ├── ImageCache.swift
│   │   │   │   ├── ImageDownloader.swift
│   │   │   │   ├── ImageModifier.swift
│   │   │   │   ├── ImagePrefetcher.swift
│   │   │   │   ├── ImageProcessor.swift
│   │   │   │   ├── Image.swift
│   │   │   │   ├── ImageTransition.swift
│   │   │   │   ├── ImageView+Kingfisher.swift
│   │   │   │   ├── Indicator.swift
│   │   │   │   ├── Info.plist
│   │   │   │   ├── Kingfisher.h
│   │   │   │   ├── KingfisherManager.swift
│   │   │   │   ├── KingfisherOptionsInfo.swift
│   │   │   │   ├── Kingfisher.swift
│   │   │   │   ├── NSButton+Kingfisher.swift
│   │   │   │   ├── Placeholder.swift
│   │   │   │   ├── RequestModifier.swift
│   │   │   │   ├── Resource.swift
│   │   │   │   ├── String+MD5.swift
│   │   │   │   ├── ThreadHelper.swift
│   │   │   │   ├── UIButton+Kingfisher.swift
│   │   │   │   └── WKInterfaceImage+Kingfisher.swift
│   │   │   └── Tests
│   │   │   ├── KingfisherTests
│   │   │   │   ├── dancing-banana.gif
│   │   │   │   ├── ImageCacheTests.swift
│   │   │   │   ├── ImageDownloaderTests.swift
│   │   │   │   ├── ImageExtensionTests.swift
│   │   │   │   ├── ImageModifierTests.swift
│   │   │   │   ├── ImagePrefetcherTests.swift
│   │   │   │   ├── ImageProcessorTests.swift
│   │   │   │   ├── ImageViewExtensionTests.swift
│   │   │   │   ├── Info.plist
│   │   │   │   ├── KingfisherManagerTests.swift
│   │   │   │   ├── KingfisherOptionsInfoTests.swift
│   │   │   │   ├── KingfisherTestHelper.swift
│   │   │   │   ├── KingfisherTests-Bridging-Header.h
│   │   │   │   ├── NSButtonExtensionTests.swift
│   │   │   │   ├── single-frame.gif
│   │   │   │   ├── StringExtensionTests.swift
│   │   │   │   └── UIButtonExtensionTests.swift
│   │   │   ├── KingfisherTests-macOS
│   │   │   │   └── Info.plist
│   │   │   └── KingfisherTests-tvOS
│   │   │   └── Info.plist
│   │   ├── PromiseKit
│   │   │   ├── docker-compose.yml
│   │   │   ├── Documentation
│   │   │   │   ├── Appendix.md
│   │   │   │   ├── CommonPatterns.md
│   │   │   │   ├── Examples
│   │   │   │   │   ├── ImageCache.md
│   │   │   │   │   └── URLSession+BadResponseErrors.swift
│   │   │   │   ├── FAQ.md
│   │   │   │   ├── GettingStarted.md
│   │   │   │   ├── Installation.md
│   │   │   │   ├── ObjectiveC.md
│   │   │   │   ├── README.md
│   │   │   │   └── Troubleshooting.md
│   │   │   ├── Extensions
│   │   │   │   ├── Accounts
│   │   │   │   │   ├── Cartfile
│   │   │   │   │   ├── Cartfile.resolved
│   │   │   │   │   ├── Carthage.xcconfig
│   │   │   │   │   ├── Info.plist
│   │   │   │   │   ├── PMKAccounts.xcodeproj
│   │   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   └── xcschemes
│   │   │   │   │   │   └── PMKAccounts.xcscheme
│   │   │   │   │   ├── README.markdown
│   │   │   │   │   ├── Sources
│   │   │   │   │   │   ├── ACAccountStore+AnyPromise.h
│   │   │   │   │   │   ├── ACAccountStore+AnyPromise.m
│   │   │   │   │   │   └── ACAccountStore+Promise.swift
│   │   │   │   │   └── Tests
│   │   │   │   │   └── TestAccounts.swift
│   │   │   │   ├── AddressBook
│   │   │   │   │   ├── Cartfile
│   │   │   │   │   ├── Cartfile.resolved
│   │   │   │   │   ├── Carthage.xcconfig
│   │   │   │   │   ├── Info.plist
│   │   │   │   │   ├── PMKAddressBook.xcodeproj
│   │   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   └── xcschemes
│   │   │   │   │   │   └── PMKAddressBook.xcscheme
│   │   │   │   │   ├── README.markdown
│   │   │   │   │   ├── Sources
│   │   │   │   │   │   └── ABAddressBookRequestAccess+Promise.swift
│   │   │   │   │   └── Tests
│   │   │   │   │   └── TestAddressBook.swift
│   │   │   │   ├── Alamofire
│   │   │   │   │   ├── Cartfile
│   │   │   │   │   ├── Cartfile.private
│   │   │   │   │   ├── Cartfile.resolved
│   │   │   │   │   ├── Carthage.xcconfig
│   │   │   │   │   ├── Info.plist
│   │   │   │   │   ├── Package.swift
│   │   │   │   │   ├── PMKAlamofire.xcodeproj
│   │   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   └── xcschemes
│   │   │   │   │   │   └── PMKAlamofire.xcscheme
│   │   │   │   │   ├── README.markdown
│   │   │   │   │   ├── Sources
│   │   │   │   │   │   └── Alamofire+Promise.swift
│   │   │   │   │   └── Tests
│   │   │   │   │   └── TestAlamofire.swift
│   │   │   │   ├── AssetsLibrary
│   │   │   │   │   ├── Cartfile
│   │   │   │   │   ├── Cartfile.resolved
│   │   │   │   │   ├── Carthage.xcconfig
│   │   │   │   │   ├── Info.plist
│   │   │   │   │   ├── PMKAssetsLibrary.xcodeproj
│   │   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   └── xcschemes
│   │   │   │   │   │   └── PMKAssetsLibrary.xcscheme
│   │   │   │   │   ├── README.markdown
│   │   │   │   │   ├── Sources
│   │   │   │   │   │   └── ALAssetsLibrary+Promise.swift
│   │   │   │   │   └── Tests
│   │   │   │   │   ├── app.swift
│   │   │   │   │   ├── Default-568h@2x.png
│   │   │   │   │   ├── Entitlements.plist
│   │   │   │   │   └── TestUIImagePickerController.swift
│   │   │   │   ├── AVFoundation
│   │   │   │   │   ├── Cartfile
│   │   │   │   │   ├── Cartfile.resolved
│   │   │   │   │   ├── Carthage.xcconfig
│   │   │   │   │   ├── Info.plist
│   │   │   │   │   ├── PMKAVFoundation.xcodeproj
│   │   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   └── xcschemes
│   │   │   │   │   │   └── PMKAVFoundation.xcscheme
│   │   │   │   │   ├── README.markdown
│   │   │   │   │   ├── Sources
│   │   │   │   │   │   ├── AVAudioSession+AnyPromise.h
│   │   │   │   │   │   ├── AVAudioSession+AnyPromise.m
│   │   │   │   │   │   └── AVAudioSession+Promise.swift
│   │   │   │   │   └── Tests
│   │   │   │   │   ├── TestAVFoundation.m
│   │   │   │   │   └── TestAVFoundation.swift
│   │   │   │   ├── Bolts
│   │   │   │   │   ├── Cartfile
│   │   │   │   │   ├── Cartfile.resolved
│   │   │   │   │   ├── Carthage.xcconfig
│   │   │   │   │   ├── Info.plist
│   │   │   │   │   ├── PMKBolts.xcodeproj
│   │   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   └── xcschemes
│   │   │   │   │   │   └── PMKBolts.xcscheme
│   │   │   │   │   ├── README.markdown
│   │   │   │   │   ├── Sources
│   │   │   │   │   │   └── BFTask+Promise.swift
│   │   │   │   │   └── Tests
│   │   │   │   │   └── TestBolts.swift
│   │   │   │   ├── CloudKit
│   │   │   │   │   ├── Cartfile
│   │   │   │   │   ├── Cartfile.resolved
│   │   │   │   │   ├── Carthage.xcconfig
│   │   │   │   │   ├── Info.plist
│   │   │   │   │   ├── Package.swift
│   │   │   │   │   ├── PMKCloudKit.xcodeproj
│   │   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   └── xcschemes
│   │   │   │   │   │   └── PMKCloudKit.xcscheme
│   │   │   │   │   ├── README.markdown
│   │   │   │   │   ├── Sources
│   │   │   │   │   │   ├── CKContainer+AnyPromise.h
│   │   │   │   │   │   ├── CKContainer+AnyPromise.m
│   │   │   │   │   │   ├── CKContainer+Promise.swift
│   │   │   │   │   │   ├── CKDatabase+AnyPromise.h
│   │   │   │   │   │   ├── CKDatabase+AnyPromise.m
│   │   │   │   │   │   ├── CKDatabase+Promise.swift
│   │   │   │   │   │   └── PMKCloudKit.h
│   │   │   │   │   └── Tests
│   │   │   │   │   ├── infrastructure.h
│   │   │   │   │   ├── infrastructure.m
│   │   │   │   │   └── TestCloudKit.swift
│   │   │   │   ├── CoreBluetooth
│   │   │   │   │   ├── Cartfile
│   │   │   │   │   ├── Cartfile.resolved
│   │   │   │   │   ├── Carthage.xcconfig
│   │   │   │   │   ├── Info.plist
│   │   │   │   │   ├── PMKCoreBluetooth.xcodeproj
│   │   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   └── xcschemes
│   │   │   │   │   │   └── PMKCoreBluetooth.xcscheme
│   │   │   │   │   ├── README.markdown
│   │   │   │   │   ├── Sources
│   │   │   │   │   │   └── CBCentralManager+Promise.swift
│   │   │   │   │   └── Tests
│   │   │   │   │   └── CBTests.swift
│   │   │   │   ├── CoreLocation
│   │   │   │   │   ├── Cartfile
│   │   │   │   │   ├── Cartfile.resolved
│   │   │   │   │   ├── Carthage.xcconfig
│   │   │   │   │   ├── Info.plist
│   │   │   │   │   ├── PMKCoreLocation.xcodeproj
│   │   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   └── xcschemes
│   │   │   │   │   │   └── PMKCoreLocation.xcscheme
│   │   │   │   │   ├── README.markdown
│   │   │   │   │   ├── Sources
│   │   │   │   │   │   ├── CLGeocoder+AnyPromise.h
│   │   │   │   │   │   ├── CLGeocoder+AnyPromise.m
│   │   │   │   │   │   ├── CLGeocoder+Promise.swift
│   │   │   │   │   │   ├── CLLocationManager+AnyPromise.h
│   │   │   │   │   │   ├── CLLocationManager+AnyPromise.m
│   │   │   │   │   │   ├── CLLocationManager+Promise.swift
│   │   │   │   │   │   └── PMKCoreLocation.h
│   │   │   │   │   └── Tests
│   │   │   │   │   ├── CLGeocoderTests.swift
│   │   │   │   │   ├── CLLocationManagerTests.swift
│   │   │   │   │   └── Entitlements.plist
│   │   │   │   ├── EventKit
│   │   │   │   │   ├── Cartfile
│   │   │   │   │   ├── Cartfile.resolved
│   │   │   │   │   ├── Carthage.xcconfig
│   │   │   │   │   ├── Info.plist
│   │   │   │   │   ├── PMKEventKit.xcodeproj
│   │   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   └── xcschemes
│   │   │   │   │   │   └── PMKEventKit.xcscheme
│   │   │   │   │   ├── README.markdown
│   │   │   │   │   ├── Sources
│   │   │   │   │   │   └── EKEventStore+Promise.swift
│   │   │   │   │   └── Tests
│   │   │   │   │   ├── Entitlements.plist
│   │   │   │   │   └── TestEventKit.swift
│   │   │   │   ├── Foundation
│   │   │   │   │   ├── Cartfile
│   │   │   │   │   ├── Cartfile.private
│   │   │   │   │   ├── Cartfile.resolved
│   │   │   │   │   ├── Carthage.xcconfig
│   │   │   │   │   ├── Info.plist
│   │   │   │   │   ├── LICENSE
│   │   │   │   │   ├── Package.swift
│   │   │   │   │   ├── PMKFoundation.xcodeproj
│   │   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   └── xcschemes
│   │   │   │   │   │   └── PMKFoundation.xcscheme
│   │   │   │   │   ├── README.markdown
│   │   │   │   │   ├── Sources
│   │   │   │   │   │   ├── afterlife.swift
│   │   │   │   │   │   ├── NSNotificationCenter+AnyPromise.h
│   │   │   │   │   │   ├── NSNotificationCenter+AnyPromise.m
│   │   │   │   │   │   ├── NSNotificationCenter+Promise.swift
│   │   │   │   │   │   ├── NSObject+Promise.swift
│   │   │   │   │   │   ├── NSTask+AnyPromise.h
│   │   │   │   │   │   ├── NSTask+AnyPromise.m
│   │   │   │   │   │   ├── NSURLSession+AnyPromise.h
│   │   │   │   │   │   ├── NSURLSession+AnyPromise.m
│   │   │   │   │   │   ├── NSURLSession+Promise.swift
│   │   │   │   │   │   ├── PMKFoundation.h
│   │   │   │   │   │   └── Process+Promise.swift
│   │   │   │   │   └── Tests
│   │   │   │   │   ├── TestNSNotificationCenter.swift
│   │   │   │   │   ├── TestNSObject.swift
│   │   │   │   │   ├── TestNSTask.swift
│   │   │   │   │   ├── TestNSURLSession.m
│   │   │   │   │   └── TestNSURLSession.swift
│   │   │   │   ├── MapKit
│   │   │   │   │   ├── Cartfile
│   │   │   │   │   ├── Cartfile.resolved
│   │   │   │   │   ├── Carthage.xcconfig
│   │   │   │   │   ├── Info.plist
│   │   │   │   │   ├── PMKMapKit.xcodeproj
│   │   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   └── xcschemes
│   │   │   │   │   │   └── PMKMapKit.xcscheme
│   │   │   │   │   ├── README.markdown
│   │   │   │   │   ├── Sources
│   │   │   │   │   │   ├── MKDirections+AnyPromise.h
│   │   │   │   │   │   ├── MKDirections+AnyPromise.m
│   │   │   │   │   │   ├── MKDirections+Promise.swift
│   │   │   │   │   │   ├── MKMapSnapshotter+AnyPromise.h
│   │   │   │   │   │   ├── MKMapSnapshotter+AnyPromise.m
│   │   │   │   │   │   ├── MKMapSnapshotter+Promise.swift
│   │   │   │   │   │   └── PMKMapKit.h
│   │   │   │   │   └── Tests
│   │   │   │   │   └── TestMapKit.swift
│   │   │   │   ├── MessagesUI
│   │   │   │   │   ├── Cartfile
│   │   │   │   │   ├── Cartfile.resolved
│   │   │   │   │   ├── Carthage.xcconfig
│   │   │   │   │   ├── Info.plist
│   │   │   │   │   ├── PMKMessagesUI.xcodeproj
│   │   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   └── xcschemes
│   │   │   │   │   │   └── PMKMessagesUI.xcscheme
│   │   │   │   │   ├── README.markdown
│   │   │   │   │   ├── Sources
│   │   │   │   │   │   ├── MFMailComposeViewController+Promise.swift
│   │   │   │   │   │   └── MFMessageComposeViewController+Promise.swift
│   │   │   │   │   └── Tests
│   │   │   │   │   └── TestMessageUI.swift
│   │   │   │   ├── OMGHTTPURLRQ
│   │   │   │   │   ├── Cartfile
│   │   │   │   │   ├── Cartfile.private
│   │   │   │   │   ├── Cartfile.resolved
│   │   │   │   │   ├── Carthage.xcconfig
│   │   │   │   │   ├── Info.plist
│   │   │   │   │   ├── PMKOMGHTTPURLRQ.xcodeproj
│   │   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   └── xcschemes
│   │   │   │   │   │   └── PMKOMGHTTPURLRQ.xcscheme
│   │   │   │   │   ├── README.markdown
│   │   │   │   │   ├── Sources
│   │   │   │   │   │   ├── NSURLSession+OMG+AnyPromise.m
│   │   │   │   │   │   ├── NSURLSession+OMG+Promise.swift
│   │   │   │   │   │   └── PMKOMGHTTPURLRQ.h
│   │   │   │   │   └── Tests
│   │   │   │   │   ├── TestNSURLSession.m
│   │   │   │   │   └── TestNSURLSession.swift
│   │   │   │   ├── Photos
│   │   │   │   │   ├── Cartfile
│   │   │   │   │   ├── Cartfile.resolved
│   │   │   │   │   ├── Carthage.xcconfig
│   │   │   │   │   ├── Info.plist
│   │   │   │   │   ├── PMKPhotos.xcodeproj
│   │   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   └── xcschemes
│   │   │   │   │   │   └── PMKPhotos.xcscheme
│   │   │   │   │   ├── README.markdown
│   │   │   │   │   ├── Sources
│   │   │   │   │   │   └── PHPhotoLibrary+Promise.swift
│   │   │   │   │   └── Tests
│   │   │   │   │   └── PHPhototLibraryTests.swift
│   │   │   │   ├── QuartzCore
│   │   │   │   │   ├── Cartfile
│   │   │   │   │   ├── Cartfile.resolved
│   │   │   │   │   ├── Carthage.xcconfig
│   │   │   │   │   ├── Info.plist
│   │   │   │   │   ├── PMKQCTests
│   │   │   │   │   │   ├── Info.plist
│   │   │   │   │   │   └── PMKQCTests.swift
│   │   │   │   │   ├── PMKQuartzCore.xcodeproj
│   │   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   └── xcschemes
│   │   │   │   │   │   └── PMKQuartzCore.xcscheme
│   │   │   │   │   ├── README.markdown
│   │   │   │   │   ├── Sources
│   │   │   │   │   │   ├── CALayer+AnyPromise.h
│   │   │   │   │   │   ├── CALayer+AnyPromise.m
│   │   │   │   │   │   └── PMKQuartzCore.h
│   │   │   │   │   └── Tests
│   │   │   │   │   └── TestQuartzCore.m
│   │   │   │   ├── Social
│   │   │   │   │   ├── Cartfile
│   │   │   │   │   ├── Cartfile.resolved
│   │   │   │   │   ├── Carthage.xcconfig
│   │   │   │   │   ├── Info.plist
│   │   │   │   │   ├── PMKSocial.xcodeproj
│   │   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   └── xcschemes
│   │   │   │   │   │   └── PMKSocial.xcscheme
│   │   │   │   │   ├── README.markdown
│   │   │   │   │   ├── Sources
│   │   │   │   │   │   ├── PMKSocial.h
│   │   │   │   │   │   ├── SLComposeViewController+Promise.swift
│   │   │   │   │   │   ├── SLRequest+AnyPromise.h
│   │   │   │   │   │   ├── SLRequest+AnyPromise.m
│   │   │   │   │   │   └── SLRequest+Promise.swift
│   │   │   │   │   └── Tests
│   │   │   │   │   ├── TestSLComposeViewController.swift
│   │   │   │   │   ├── TestSocial.m
│   │   │   │   │   └── TestSocial.swift
│   │   │   │   ├── StoreKit
│   │   │   │   │   ├── Cartfile
│   │   │   │   │   ├── Cartfile.resolved
│   │   │   │   │   ├── Carthage.xcconfig
│   │   │   │   │   ├── Info.plist
│   │   │   │   │   ├── PMKStoreKit.xcodeproj
│   │   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   └── xcschemes
│   │   │   │   │   │   └── PMKStoreKit.xcscheme
│   │   │   │   │   ├── README.markdown
│   │   │   │   │   ├── Sources
│   │   │   │   │   │   ├── PMKStoreKit.h
│   │   │   │   │   │   ├── SKPayment+Promise.swift
│   │   │   │   │   │   ├── SKPaymentQueue+Promise.swift
│   │   │   │   │   │   ├── SKProductsRequest+Promise.swift
│   │   │   │   │   │   ├── SKReceiptRefreshRequest+Promise.swift
│   │   │   │   │   │   ├── SKRequest+AnyPromise.h
│   │   │   │   │   │   └── SKRequest+AnyPromise.m
│   │   │   │   │   └── Tests
│   │   │   │   │   ├── TestStoreKit.m
│   │   │   │   │   └── TestStoreKit.swift
│   │   │   │   ├── SystemConfiguration
│   │   │   │   │   ├── Cartfile
│   │   │   │   │   ├── Cartfile.resolved
│   │   │   │   │   ├── Carthage.xcconfig
│   │   │   │   │   ├── Info.plist
│   │   │   │   │   ├── PMKSystemConfiguration.xcodeproj
│   │   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   └── xcschemes
│   │   │   │   │   │   └── PMKSystemConfiguration.xcscheme
│   │   │   │   │   ├── README.markdown
│   │   │   │   │   ├── Sources
│   │   │   │   │   │   ├── PMKSystemConfiguration.h
│   │   │   │   │   │   ├── SCNetworkReachability+AnyPromise.h
│   │   │   │   │   │   ├── SCNetworkReachability+AnyPromise.m
│   │   │   │   │   │   └── SCNetworkReachability+Promise.swift
│   │   │   │   │   └── Tests
│   │   │   │   │   └── SCTests.swift
│   │   │   │   ├── UIKit
│   │   │   │   │   ├── Cartfile
│   │   │   │   │   ├── Cartfile.resolved
│   │   │   │   │   ├── Carthage.xcconfig
│   │   │   │   │   ├── Info.plist
│   │   │   │   │   ├── PMKUIKit.xcodeproj
│   │   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   └── xcschemes
│   │   │   │   │   │   └── PMKUIKit.xcscheme
│   │   │   │   │   ├── README.markdown
│   │   │   │   │   ├── Sources
│   │   │   │   │   │   ├── PMKUIKit.h
│   │   │   │   │   │   ├── UIImagePickerController+Promise.swift
│   │   │   │   │   │   ├── UIView+AnyPromise.h
│   │   │   │   │   │   ├── UIView+AnyPromise.m
│   │   │   │   │   │   ├── UIViewController+AnyPromise.h
│   │   │   │   │   │   ├── UIViewController+AnyPromise.m
│   │   │   │   │   │   ├── UIView+Promise.swift
│   │   │   │   │   │   └── UIViewPropertyAnimator+Promise.swift
│   │   │   │   │   ├── Tests
│   │   │   │   │   │   ├── infrastructure.swift
│   │   │   │   │   │   ├── TestUIImagePickerController.swift
│   │   │   │   │   │   ├── TestUIViewController.m
│   │   │   │   │   │   └── TestUIView.swift
│   │   │   │   │   └── UITests
│   │   │   │   │   ├── app.swift
│   │   │   │   │   ├── Default-568h@2x.png
│   │   │   │   │   ├── Entitlements.plist
│   │   │   │   │   └── TestUIImagePickerController.swift
│   │   │   │   └── WatchConnectivity
│   │   │   │   ├── Cartfile
│   │   │   │   ├── Cartfile.resolved
│   │   │   │   ├── Carthage.xcconfig
│   │   │   │   ├── Info.plist
│   │   │   │   ├── PMKWatchConnectivity.xcodeproj
│   │   │   │   │   ├── project.pbxproj
│   │   │   │   │   ├── project.xcworkspace
│   │   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   │   └── xcshareddata
│   │   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   │   └── xcshareddata
│   │   │   │   │   └── xcschemes
│   │   │   │   │   └── PMKWatchConnectivity.xcscheme
│   │   │   │   ├── README.markdown
│   │   │   │   ├── Sources
│   │   │   │   │   └── WCSession+Promise.swift
│   │   │   │   └── Tests
│   │   │   │   └── TestWatchConnectivity.swift
│   │   │   ├── LICENSE
│   │   │   ├── Package.swift
│   │   │   ├── PromiseKit.playground
│   │   │   │   ├── Contents.swift
│   │   │   │   ├── contents.xcplayground
│   │   │   │   └── section-1.swift
│   │   │   ├── PromiseKit.xcodeproj
│   │   │   │   ├── project.pbxproj
│   │   │   │   ├── project.xcworkspace
│   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   └── xcshareddata
│   │   │   │   │   ├── IDEWorkspaceChecks.plist
│   │   │   │   │   └── WorkspaceSettings.xcsettings
│   │   │   │   └── xcshareddata
│   │   │   │   └── xcschemes
│   │   │   │   └── PromiseKit.xcscheme
│   │   │   ├── README.md
│   │   │   ├── Sources
│   │   │   │   ├── after.m
│   │   │   │   ├── after.swift
│   │   │   │   ├── AnyPromise.h
│   │   │   │   ├── AnyPromise.m
│   │   │   │   ├── AnyPromise+Private.h
│   │   │   │   ├── AnyPromise.swift
│   │   │   │   ├── Box.swift
│   │   │   │   ├── Catchable.swift
│   │   │   │   ├── Configuration.swift
│   │   │   │   ├── CustomStringConvertible.swift
│   │   │   │   ├── Deprecations.swift
│   │   │   │   ├── dispatch_promise.m
│   │   │   │   ├── DispatchQueue+Promise.swift
│   │   │   │   ├── Error.swift
│   │   │   │   ├── firstly.swift
│   │   │   │   ├── fwd.h
│   │   │   │   ├── GlobalState.m
│   │   │   │   ├── Guarantee.swift
│   │   │   │   ├── hang.m
│   │   │   │   ├── hang.swift
│   │   │   │   ├── Info.plist
│   │   │   │   ├── join.m
│   │   │   │   ├── join.swift
│   │   │   │   ├── NSMethodSignatureForBlock.m
│   │   │   │   ├── PMKCallVariadicBlock.m
│   │   │   │   ├── Promise+AnyPromise.swift
│   │   │   │   ├── PromiseKit.h
│   │   │   │   ├── Promise+Properties.swift
│   │   │   │   ├── Promise.swift
│   │   │   │   ├── race.m
│   │   │   │   ├── race.swift
│   │   │   │   ├── Resolver.swift
│   │   │   │   ├── State.swift
│   │   │   │   ├── SwiftPM.swift
│   │   │   │   ├── Thenable.swift
│   │   │   │   ├── when.m
│   │   │   │   ├── when.swift
│   │   │   │   ├── wrap.swift
│   │   │   │   └── Zalgo.swift
│   │   │   └── Tests
│   │   │   ├── A+
│   │   │   │   ├── 0.0.0.swift
│   │   │   │   ├── 2.1.2.swift
│   │   │   │   ├── 2.1.3.swift
│   │   │   │   ├── 2.2.2.swift
│   │   │   │   ├── 2.2.3.swift
│   │   │   │   ├── 2.2.4.swift
│   │   │   │   ├── 2.2.6.swift
│   │   │   │   ├── 2.2.7.swift
│   │   │   │   ├── 2.3.1.swift
│   │   │   │   ├── 2.3.2.swift
│   │   │   │   ├── 2.3.4.swift
│   │   │   │   └── README.md
│   │   │   ├── Bridging
│   │   │   │   ├── BridgingTests.m
│   │   │   │   ├── BridgingTests.swift
│   │   │   │   ├── Infrastructure.h
│   │   │   │   ├── Infrastructure.m
│   │   │   │   └── Infrastructure.swift
│   │   │   ├── CoreObjC
│   │   │   │   ├── AnyPromiseTests.m
│   │   │   │   ├── AnyPromiseTests.swift
│   │   │   │   ├── HangTests.m
│   │   │   │   ├── JoinTests.m
│   │   │   │   ├── PMKManifoldTests.m
│   │   │   │   └── WhenTests.m
│   │   │   ├── CorePromise
│   │   │   │   ├── 01_AnyPromiseTests.m
│   │   │   │   ├── 01_PromiseTests.swift
│   │   │   │   ├── 02_CancellationTests.swift
│   │   │   │   ├── 02_DefaultDispatchQueueTests.swift
│   │   │   │   ├── 02_ErrorUnhandlerTests.m
│   │   │   │   ├── 02_ErrorUnhandlerTests.swift
│   │   │   │   ├── 02_PMKManifoldTests.m
│   │   │   │   ├── 02_ZalgoTests.swift
│   │   │   │   ├── 03_AfterTests.swift
│   │   │   │   ├── 03_HangTests.m
│   │   │   │   ├── 03_JoinTests.m
│   │   │   │   ├── 03_JoinTests.swift
│   │   │   │   ├── 03_JointTests.swift
│   │   │   │   ├── 03_RaceTests.swift
│   │   │   │   ├── 03_WhenConcurrentTests.swift
│   │   │   │   ├── 03_WhenTests.m
│   │   │   │   ├── 03_WhenTests.swift
│   │   │   │   ├── 03_WrapTests.swift
│   │   │   │   ├── 04_VerifySubclassing.swift
│   │   │   │   ├── 05_PromiseTupleTests.swift
│   │   │   │   ├── 98_StressTests.swift
│   │   │   │   ├── 99_RegressionTests.swift
│   │   │   │   ├── AfterTests.swift
│   │   │   │   ├── CancellableErrorTests.swift
│   │   │   │   ├── CatchableTests.swift
│   │   │   │   ├── DefaultDispatchQueueTests.swift
│   │   │   │   ├── ErrorTests.swift
│   │   │   │   ├── GuaranteeTests.swift
│   │   │   │   ├── HangTests.swift
│   │   │   │   ├── Infrastructure.h
│   │   │   │   ├── Infrastructure.m
│   │   │   │   ├── Infrastructure.swift
│   │   │   │   ├── PMKDefaultDispatchQueueTest.swift
│   │   │   │   ├── PromiseTests.swift
│   │   │   │   ├── RaceTests.swift
│   │   │   │   ├── RegressionTests.swift
│   │   │   │   ├── ResolverTests.swift
│   │   │   │   ├── StressTests.swift
│   │   │   │   ├── ThenableTests.swift
│   │   │   │   ├── Utilities.swift
│   │   │   │   ├── WhenConcurrentTests.swift
│   │   │   │   ├── WhenResolvedTests.swift
│   │   │   │   ├── WhenTests.swift
│   │   │   │   └── ZalgoTests.swift
│   │   │   ├── DeprecationTests.swift
│   │   │   ├── JS-A+
│   │   │   │   ├── AllTests.swift
│   │   │   │   ├── index.js
│   │   │   │   ├── JSAdapter.swift
│   │   │   │   ├── JSPromise.swift
│   │   │   │   ├── JSUtils.swift
│   │   │   │   ├── MockNodeEnvironment.swift
│   │   │   │   ├── package.json
│   │   │   │   ├── package-lock.json
│   │   │   │   ├── README.md
│   │   │   │   └── webpack.config.js
│   │   │   └── LinuxMain.swift
│   │   ├── ReSwift
│   │   │   ├── BuildPhases
│   │   │   │   └── run-swiftlint
│   │   │   ├── Cartfile.resolved
│   │   │   ├── CHANGELOG.md
│   │   │   ├── codecov.yml
│   │   │   ├── CONTRIBUTING.md
│   │   │   ├── Docs
│   │   │   │   ├── Actions.md
│   │   │   │   ├── Getting Started Guide.md
│   │   │   │   ├── img
│   │   │   │   │   ├── reswift_concept.graffle
│   │   │   │   │   ├── reswift_concept.png
│   │   │   │   │   ├── reswift_detail.png
│   │   │   │   │   └── timetravel.gif
│   │   │   │   ├── jazzy-theme
│   │   │   │   │   ├── assets
│   │   │   │   │   │   ├── css
│   │   │   │   │   │   │   ├── highlight.css.scss
│   │   │   │   │   │   │   └── jazzy.css.scss
│   │   │   │   │   │   ├── img
│   │   │   │   │   │   │   ├── carat.png
│   │   │   │   │   │   │   ├── dash.png
│   │   │   │   │   │   │   └── gh.png
│   │   │   │   │   │   └── js
│   │   │   │   │   │   ├── jazzy.js
│   │   │   │   │   │   └── jquery.min.js
│   │   │   │   │   └── templates
│   │   │   │   │   ├── doc.mustache
│   │   │   │   │   ├── footer.mustache
│   │   │   │   │   ├── header.mustache
│   │   │   │   │   ├── nav.mustache
│   │   │   │   │   ├── parameter.mustache
│   │   │   │   │   ├── task.mustache
│   │   │   │   │   └── tasks.mustache
│   │   │   │   ├── Reducers.md
│   │   │   │   ├── State.md
│   │   │   │   ├── Stores.md
│   │   │   │   ├── templates
│   │   │   │   │   ├── heading.md
│   │   │   │   │   └── toc.md
│   │   │   │   └── Utilities.md
│   │   │   ├── LICENSE.md
│   │   │   ├── Package.swift
│   │   │   ├── Podfile
│   │   │   ├── Podfile.lock
│   │   │   ├── README.md
│   │   │   ├── ReSwift
│   │   │   │   ├── CoreTypes
│   │   │   │   │   ├── Action.swift
│   │   │   │   │   ├── DispatchingStoreType.swift
│   │   │   │   │   ├── Middleware.swift
│   │   │   │   │   ├── Reducer.swift
│   │   │   │   │   ├── State.swift
│   │   │   │   │   ├── StoreSubscriber.swift
│   │   │   │   │   ├── Store.swift
│   │   │   │   │   ├── StoreType.swift
│   │   │   │   │   └── Subscription.swift
│   │   │   │   ├── Info.plist
│   │   │   │   ├── ReSwift.h
│   │   │   │   └── Utils
│   │   │   │   ├── Assertions.swift
│   │   │   │   ├── Coding.swift
│   │   │   │   └── TypeHelper.swift
│   │   │   ├── ReSwift.podspec
│   │   │   ├── ReSwiftTests
│   │   │   │   ├── AutomaticallySkipRepeatsTests.swift
│   │   │   │   ├── Info.plist
│   │   │   │   ├── PerformanceTests.swift
│   │   │   │   ├── StoreDispatchTests.swift
│   │   │   │   ├── StoreMiddlewareTests.swift
│   │   │   │   ├── StoreSubscriberTests.swift
│   │   │   │   ├── StoreSubscriptionTests.swift
│   │   │   │   ├── StoreTests.swift
│   │   │   │   ├── TestFakes.swift
│   │   │   │   ├── TypeHelperTests.swift
│   │   │   │   ├── XCTest+Assertions.swift
│   │   │   │   └── XCTest+Compatibility.swift
│   │   │   ├── ReSwift.xcodeproj
│   │   │   │   ├── project.pbxproj
│   │   │   │   ├── project.xcworkspace
│   │   │   │   │   └── contents.xcworkspacedata
│   │   │   │   └── xcshareddata
│   │   │   │   ├── xcbaselines
│   │   │   │   │   └── 25DBCF861C30C4DB00D63A58.xcbaseline
│   │   │   │   │   ├── 8A5AF011-A17C-4780-8B4D-183154BA1DDA.plist
│   │   │   │   │   ├── CA98BC4B-4A03-4B07-BF9E-12C3F6A52195.plist
│   │   │   │   │   └── Info.plist
│   │   │   │   └── xcschemes
│   │   │   │   ├── ReSwift-iOS.xcscheme
│   │   │   │   ├── ReSwift-macOS.xcscheme
│   │   │   │   ├── ReSwift-tvOS.xcscheme
│   │   │   │   └── ReSwift-watchOS.xcscheme
│   │   │   ├── ReSwift.xcworkspace
│   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   └── xcshareddata
│   │   │   │   └── IDEWorkspaceChecks.plist
│   │   │   └── SwiftLintIntegration
│   │   │   ├── Info.plist
│   │   │   └── SwiftLintIntegration.swift
│   │   └── RxSwift
│   │   ├── assets
│   │   │   ├── CNAME.txt
│   │   │   ├── LICENSE.txt
│   │   │   └── Rx_Logo_M.png
│   │   ├── CHANGELOG.md
│   │   ├── CODE_OF_CONDUCT.md
│   │   ├── CONTRIBUTING.md
│   │   ├── Dangerfile
│   │   ├── default.profraw
│   │   ├── Documentation
│   │   │   ├── ComparisonWithOtherLibraries.md
│   │   │   ├── DesignRationale.md
│   │   │   ├── ExampleApp.md
│   │   │   ├── Examples.md
│   │   │   ├── GettingStarted.md
│   │   │   ├── HotAndColdObservables.md
│   │   │   ├── MathBehindRx.md
│   │   │   ├── NewFeatureRequestTemplate.md
│   │   │   ├── Playgrounds.md
│   │   │   ├── Schedulers.md
│   │   │   ├── Subjects.md
│   │   │   ├── Tips.md
│   │   │   ├── Traits.md
│   │   │   ├── UnitTests.md
│   │   │   ├── Warnings.md
│   │   │   └── Why.md
│   │   ├── Gemfile
│   │   ├── Gemfile.lock
│   │   ├── LICENSE.md
│   │   ├── Package.swift
│   │   ├── Platform
│   │   │   ├── DataStructures
│   │   │   │   ├── Bag.swift
│   │   │   │   ├── InfiniteSequence.swift
│   │   │   │   ├── PriorityQueue.swift
│   │   │   │   └── Queue.swift
│   │   │   ├── DeprecationWarner.swift
│   │   │   ├── DispatchQueue+Extensions.swift
│   │   │   ├── Platform.Darwin.swift
│   │   │   ├── Platform.Linux.swift
│   │   │   └── RecursiveLock.swift
│   │   ├── Preprocessor
│   │   │   ├── Preprocessor
│   │   │   │   └── main.swift
│   │   │   ├── Preprocessor.xcodeproj
│   │   │   │   ├── project.pbxproj
│   │   │   │   └── project.xcworkspace
│   │   │   │   └── contents.xcworkspacedata
│   │   │   └── README.md
│   │   ├── README.md
│   │   ├── RxBlocking
│   │   │   ├── BlockingObservable+Operators.swift
│   │   │   ├── BlockingObservable.swift
│   │   │   ├── Info.plist
│   │   │   ├── ObservableConvertibleType+Blocking.swift
│   │   │   ├── Platform
│   │   │   │   ├── Platform.Darwin.swift
│   │   │   │   ├── Platform.Linux.swift
│   │   │   │   └── RecursiveLock.swift
│   │   │   ├── README.md
│   │   │   ├── Resources.swift
│   │   │   └── RunLoopLock.swift
│   │   ├── RxBlocking.podspec
│   │   ├── RxCocoa
│   │   │   ├── Common
│   │   │   │   ├── Binder.swift
│   │   │   │   ├── ControlTarget.swift
│   │   │   │   ├── DelegateProxy.swift
│   │   │   │   ├── DelegateProxyType.swift
│   │   │   │   ├── KeyPathBinder.swift
│   │   │   │   ├── NSLayoutConstraint+Rx.swift
│   │   │   │   ├── Observable+Bind.swift
│   │   │   │   ├── RxCocoaObjCRuntimeError+Extensions.swift
│   │   │   │   ├── RxTarget.swift
│   │   │   │   ├── SectionedViewDataSourceType.swift
│   │   │   │   └── TextInput.swift
│   │   │   ├── Deprecated.swift
│   │   │   ├── Foundation
│   │   │   │   ├── KVORepresentable+CoreGraphics.swift
│   │   │   │   ├── KVORepresentable.swift
│   │   │   │   ├── KVORepresentable+Swift.swift
│   │   │   │   ├── Logging.swift
│   │   │   │   ├── NotificationCenter+Rx.swift
│   │   │   │   ├── NSObject+Rx+KVORepresentable.swift
│   │   │   │   ├── NSObject+Rx+RawRepresentable.swift
│   │   │   │   ├── NSObject+Rx.swift
│   │   │   │   └── URLSession+Rx.swift
│   │   │   ├── Info.plist
│   │   │   ├── iOS
│   │   │   │   ├── DataSources
│   │   │   │   │   ├── RxCollectionViewReactiveArrayDataSource.swift
│   │   │   │   │   ├── RxPickerViewAdapter.swift
│   │   │   │   │   └── RxTableViewReactiveArrayDataSource.swift
│   │   │   │   ├── Events
│   │   │   │   │   └── ItemEvents.swift
│   │   │   │   ├── NSTextStorage+Rx.swift
│   │   │   │   ├── Protocols
│   │   │   │   │   ├── RxCollectionViewDataSourceType.swift
│   │   │   │   │   ├── RxPickerViewDataSourceType.swift
│   │   │   │   │   └── RxTableViewDataSourceType.swift
│   │   │   │   ├── Proxies
│   │   │   │   │   ├── RxCollectionViewDataSourcePrefetchingProxy.swift
│   │   │   │   │   ├── RxCollectionViewDataSourceProxy.swift
│   │   │   │   │   ├── RxCollectionViewDelegateProxy.swift
│   │   │   │   │   ├── RxNavigationControllerDelegateProxy.swift
│   │   │   │   │   ├── RxPickerViewDataSourceProxy.swift
│   │   │   │   │   ├── RxPickerViewDelegateProxy.swift
│   │   │   │   │   ├── RxScrollViewDelegateProxy.swift
│   │   │   │   │   ├── RxSearchBarDelegateProxy.swift
│   │   │   │   │   ├── RxSearchControllerDelegateProxy.swift
│   │   │   │   │   ├── RxTabBarControllerDelegateProxy.swift
│   │   │   │   │   ├── RxTabBarDelegateProxy.swift
│   │   │   │   │   ├── RxTableViewDataSourcePrefetchingProxy.swift
│   │   │   │   │   ├── RxTableViewDataSourceProxy.swift
│   │   │   │   │   ├── RxTableViewDelegateProxy.swift
│   │   │   │   │   ├── RxTextStorageDelegateProxy.swift
│   │   │   │   │   ├── RxTextViewDelegateProxy.swift
│   │   │   │   │   └── RxWebViewDelegateProxy.swift
│   │   │   │   ├── UIActivityIndicatorView+Rx.swift
│   │   │   │   ├── UIAlertAction+Rx.swift
│   │   │   │   ├── UIApplication+Rx.swift
│   │   │   │   ├── UIBarButtonItem+Rx.swift
│   │   │   │   ├── UIButton+Rx.swift
│   │   │   │   ├── UICollectionView+Rx.swift
│   │   │   │   ├── UIControl+Rx.swift
│   │   │   │   ├── UIDatePicker+Rx.swift
│   │   │   │   ├── UIGestureRecognizer+Rx.swift
│   │   │   │   ├── UIImageView+Rx.swift
│   │   │   │   ├── UILabel+Rx.swift
│   │   │   │   ├── UINavigationController+Rx.swift
│   │   │   │   ├── UINavigationItem+Rx.swift
│   │   │   │   ├── UIPageControl+Rx.swift
│   │   │   │   ├── UIPickerView+Rx.swift
│   │   │   │   ├── UIProgressView+Rx.swift
│   │   │   │   ├── UIRefreshControl+Rx.swift
│   │   │   │   ├── UIScrollView+Rx.swift
│   │   │   │   ├── UISearchBar+Rx.swift
│   │   │   │   ├── UISearchController+Rx.swift
│   │   │   │   ├── UISegmentedControl+Rx.swift
│   │   │   │   ├── UISlider+Rx.swift
│   │   │   │   ├── UIStepper+Rx.swift
│   │   │   │   ├── UISwitch+Rx.swift
│   │   │   │   ├── UITabBarController+Rx.swift
│   │   │   │   ├── UITabBarItem+Rx.swift
│   │   │   │   ├── UITabBar+Rx.swift
│   │   │   │   ├── UITableView+Rx.swift
│   │   │   │   ├── UITextField+Rx.swift
│   │   │   │   ├── UITextView+Rx.swift
│   │   │   │   ├── UIViewController+Rx.swift
│   │   │   │   ├── UIView+Rx.swift
│   │   │   │   └── UIWebView+Rx.swift
│   │   │   ├── macOS
│   │   │   │   ├── NSButton+Rx.swift
│   │   │   │   ├── NSControl+Rx.swift
│   │   │   │   ├── NSImageView+Rx.swift
│   │   │   │   ├── NSSlider+Rx.swift
│   │   │   │   ├── NSTextField+Rx.swift
│   │   │   │   └── NSView+Rx.swift
│   │   │   ├── Platform
│   │   │   │   └── DispatchQueue+Extensions.swift
│   │   │   ├── Runtime
│   │   │   │   ├── include
│   │   │   │   │   ├── RxCocoaRuntime.h
│   │   │   │   │   ├── _RXDelegateProxy.h
│   │   │   │   │   ├── _RX.h
│   │   │   │   │   ├── _RXKVOObserver.h
│   │   │   │   │   └── _RXObjCRuntime.h
│   │   │   │   ├── _RXDelegateProxy.m
│   │   │   │   ├── _RXKVOObserver.m
│   │   │   │   ├── _RX.m
│   │   │   │   └── _RXObjCRuntime.m
│   │   │   ├── RxCocoa.h
│   │   │   ├── RxCocoa.swift
│   │   │   └── Traits
│   │   │   ├── BehaviorRelay.swift
│   │   │   ├── ControlEvent.swift
│   │   │   ├── ControlProperty.swift
│   │   │   ├── Driver
│   │   │   │   ├── BehaviorRelay+Driver.swift
│   │   │   │   ├── ControlEvent+Driver.swift
│   │   │   │   ├── ControlProperty+Driver.swift
│   │   │   │   ├── Driver+Subscription.swift
│   │   │   │   ├── Driver.swift
│   │   │   │   └── ObservableConvertibleType+Driver.swift
│   │   │   ├── PublishRelay.swift
│   │   │   ├── SharedSequence
│   │   │   │   ├── ObservableConvertibleType+SharedSequence.swift
│   │   │   │   ├── SchedulerType+SharedSequence.swift
│   │   │   │   ├── SharedSequence+Operators+arity.swift
│   │   │   │   ├── SharedSequence+Operators+arity.tt
│   │   │   │   ├── SharedSequence+Operators.swift
│   │   │   │   └── SharedSequence.swift
│   │   │   └── Signal
│   │   │   ├── ControlEvent+Signal.swift
│   │   │   ├── ObservableConvertibleType+Signal.swift
│   │   │   ├── PublishRelay+Signal.swift
│   │   │   ├── Signal+Subscription.swift
│   │   │   └── Signal.swift
│   │   ├── RxCocoa.podspec
│   │   ├── RxExample
│   │   │   ├── Extensions
│   │   │   │   ├── CLLocationManager+Rx.swift
│   │   │   │   ├── RxCLLocationManagerDelegateProxy.swift
│   │   │   │   ├── RxImagePickerDelegateProxy.swift
│   │   │   │   └── UIImagePickerController+Rx.swift
│   │   │   ├── RxDataSources
│   │   │   │   ├── Differentiator
│   │   │   │   │   ├── AnimatableSectionModel.swift
│   │   │   │   │   ├── AnimatableSectionModelType+ItemPath.swift
│   │   │   │   │   ├── AnimatableSectionModelType.swift
│   │   │   │   │   ├── Changeset.swift
│   │   │   │   │   ├── Differentiator.h
│   │   │   │   │   ├── Diff.swift
│   │   │   │   │   ├── IdentifiableType.swift
│   │   │   │   │   ├── IdentifiableValue.swift
│   │   │   │   │   ├── Info.plist
│   │   │   │   │   ├── ItemPath.swift
│   │   │   │   │   ├── Optional+Extensions.swift
│   │   │   │   │   ├── SectionModel.swift
│   │   │   │   │   ├── SectionModelType.swift
│   │   │   │   │   └── Utilities.swift
│   │   │   │   ├── README.md
│   │   │   │   └── RxDataSources
│   │   │   │   ├── AnimationConfiguration.swift
│   │   │   │   ├── Array+Extensions.swift
│   │   │   │   ├── CollectionViewSectionedDataSource.swift
│   │   │   │   ├── DataSources.swift
│   │   │   │   ├── Deprecated.swift
│   │   │   │   ├── FloatingPointType+IdentifiableType.swift
│   │   │   │   ├── Info.plist
│   │   │   │   ├── IntegerType+IdentifiableType.swift
│   │   │   │   ├── RxCollectionViewSectionedAnimatedDataSource.swift
│   │   │   │   ├── RxCollectionViewSectionedReloadDataSource.swift
│   │   │   │   ├── RxDataSources.h
│   │   │   │   ├── RxPickerViewAdapter.swift
│   │   │   │   ├── RxTableViewSectionedAnimatedDataSource.swift
│   │   │   │   ├── RxTableViewSectionedReloadDataSource.swift
│   │   │   │   ├── String+IdentifiableType.swift
│   │   │   │   ├── TableViewSectionedDataSource.swift
│   │   │   │   └── UI+SectionedViewType.swift
│   │   │   ├── RxExample
│   │   │   │   ├── Application+Extensions.swift
│   │   │   │   ├── Examples
│   │   │   │   │   ├── APIWrappers
│   │   │   │   │   │   ├── APIWrappers.storyboard
│   │   │   │   │   │   └── APIWrappersViewController.swift
│   │   │   │   │   ├── Calculator
│   │   │   │   │   │   ├── Calculator.storyboard
│   │   │   │   │   │   ├── Calculator.swift
│   │   │   │   │   │   └── CalculatorViewController.swift
│   │   │   │   │   ├── Dependencies.swift
│   │   │   │   │   ├── GeolocationExample
│   │   │   │   │   │   ├── Geolocation.storyboard
│   │   │   │   │   │   └── GeolocationViewController.swift
│   │   │   │   │   ├── GitHubSearchRepositories
│   │   │   │   │   │   ├── GitHubSearchRepositoriesAPI.swift
│   │   │   │   │   │   ├── GitHubSearchRepositories.storyboard
│   │   │   │   │   │   ├── GitHubSearchRepositories.swift
│   │   │   │   │   │   ├── GitHubSearchRepositoriesViewController.swift
│   │   │   │   │   │   └── UINavigationController+Extensions.swift
│   │   │   │   │   ├── GitHubSignup
│   │   │   │   │   │   ├── BindingExtensions.swift
│   │   │   │   │   │   ├── DefaultImplementations.swift
│   │   │   │   │   │   ├── GitHubSignup1.storyboard
│   │   │   │   │   │   ├── GitHubSignup2.storyboard
│   │   │   │   │   │   ├── Protocols.swift
│   │   │   │   │   │   ├── UsingDriver
│   │   │   │   │   │   │   ├── GitHubSignupViewController2.swift
│   │   │   │   │   │   │   └── GithubSignupViewModel2.swift
│   │   │   │   │   │   └── UsingVanillaObservables
│   │   │   │   │   │   ├── GitHubSignupViewController1.swift
│   │   │   │   │   │   └── GithubSignupViewModel1.swift
│   │   │   │   │   ├── ImagePicker
│   │   │   │   │   │   ├── ImagePickerController.swift
│   │   │   │   │   │   ├── ImagePicker.storyboard
│   │   │   │   │   │   └── UIImagePickerController+RxCreate.swift
│   │   │   │   │   ├── macOS simple example
│   │   │   │   │   │   └── IntroductionExampleViewController.swift
│   │   │   │   │   ├── Numbers
│   │   │   │   │   │   ├── Numbers.storyboard
│   │   │   │   │   │   └── NumbersViewController.swift
│   │   │   │   │   ├── SimpleTableViewExample
│   │   │   │   │   │   ├── SimpleTableViewExample.storyboard
│   │   │   │   │   │   └── SimpleTableViewExampleViewController.swift
│   │   │   │   │   ├── SimpleTableViewExampleSectioned
│   │   │   │   │   │   ├── SimpleTableViewExampleSectioned.storyboard
│   │   │   │   │   │   └── SimpleTableViewExampleSectionedViewController.swift
│   │   │   │   │   ├── SimpleValidation
│   │   │   │   │   │   ├── SimpleValidation.storyboard
│   │   │   │   │   │   └── SimpleValidationViewController.swift
│   │   │   │   │   ├── TableViewPartialUpdates
│   │   │   │   │   │   ├── NumberCell.swift
│   │   │   │   │   │   ├── NumberSectionView.swift
│   │   │   │   │   │   ├── PartialUpdates.storyboard
│   │   │   │   │   │   └── PartialUpdatesViewController.swift
│   │   │   │   │   ├── TableViewWithEditingCommands
│   │   │   │   │   │   ├── DetailViewController.swift
│   │   │   │   │   │   ├── RandomUserAPI.swift
│   │   │   │   │   │   ├── TableViewWithEditingCommands.storyboard
│   │   │   │   │   │   ├── TableViewWithEditingCommandsViewController.swift
│   │   │   │   │   │   ├── UIImageView+Extensions.swift
│   │   │   │   │   │   └── User.swift
│   │   │   │   │   ├── UIPickerViewExample
│   │   │   │   │   │   ├── CustomPickerViewAdapterExampleViewController.swift
│   │   │   │   │   │   ├── SimplePickerViewExampleViewController.swift
│   │   │   │   │   │   └── SimpleUIPickerViewExample.storyboard
│   │   │   │   │   └── WikipediaImageSearch
│   │   │   │   │   ├── ViewModels
│   │   │   │   │   │   └── SearchResultViewModel.swift
│   │   │   │   │   ├── Views
│   │   │   │   │   │   ├── CollectionViewImageCell.swift
│   │   │   │   │   │   ├── WikipediaImageCell.xib
│   │   │   │   │   │   ├── WikipediaSearchCell.swift
│   │   │   │   │   │   ├── WikipediaSearchCell.xib
│   │   │   │   │   │   └── WikipediaSearchViewController.swift
│   │   │   │   │   ├── WikipediaAPI
│   │   │   │   │   │   ├── WikipediaAPI.swift
│   │   │   │   │   │   ├── WikipediaPage.swift
│   │   │   │   │   │   └── WikipediaSearchResult.swift
│   │   │   │   │   └── WikipediaSearch.storyboard
│   │   │   │   ├── Example.swift
│   │   │   │   ├── Feedbacks.swift
│   │   │   │   ├── Images.xcassets
│   │   │   │   │   ├── AppIcon.appiconset
│   │   │   │   │   │   ├── Contents.json
│   │   │   │   │   │   ├── Icon-40@2x-1.png
│   │   │   │   │   │   ├── Icon-40@2x.png
│   │   │   │   │   │   ├── Icon-40.png
│   │   │   │   │   │   ├── Icon-60@2x-1.png
│   │   │   │   │   │   ├── Icon-60@2x.png
│   │   │   │   │   │   ├── Icon-60@3x.png
│   │   │   │   │   │   ├── Icon-76@2x.png
│   │   │   │   │   │   ├── Icon-76.png
│   │   │   │   │   │   ├── Icon-Small@2x-1.png
│   │   │   │   │   │   ├── Icon-Small@3x.png
│   │   │   │   │   │   ├── Icon-Small.png
│   │   │   │   │   │   ├── Rx_Logo-iPad.png
│   │   │   │   │   │   ├── Rx_Logo_L.png
│   │   │   │   │   │   └── Rx_Logo_M.png
│   │   │   │   │   └── ReactiveExtensionsLogo.imageset
│   │   │   │   │   ├── Contents.json
│   │   │   │   │   ├── ReactiveExtensionsLogo-2.png
│   │   │   │   │   └── ReactiveExtensionsLogo.png
│   │   │   │   ├── Info-iOS.plist
│   │   │   │   ├── Info-macOS.plist
│   │   │   │   ├── iOS
│   │   │   │   │   ├── AppDelegate.swift
│   │   │   │   │   ├── LaunchScreen.xib
│   │   │   │   │   ├── Main.storyboard
│   │   │   │   │   ├── RootViewController.swift
│   │   │   │   │   └── UITableView+Extensions.swift
│   │   │   │   ├── Lenses.swift
│   │   │   │   ├── macOS
│   │   │   │   │   ├── AppDelegate.swift
│   │   │   │   │   └── Main.storyboard
│   │   │   │   ├── Observable+Extensions.swift
│   │   │   │   ├── Operators.swift
│   │   │   │   ├── Result.swift
│   │   │   │   ├── RxExample.xcdatamodeld
│   │   │   │   │   └── RxExample.xcdatamodel
│   │   │   │   │   └── contents
│   │   │   │   ├── Services
│   │   │   │   │   ├── ActivityIndicator.swift
│   │   │   │   │   ├── DownloadableImage.swift
│   │   │   │   │   ├── GeolocationService.swift
│   │   │   │   │   ├── HtmlParsing.swift
│   │   │   │   │   ├── ImageService.swift
│   │   │   │   │   ├── PseudoRandomGenerator.swift
│   │   │   │   │   ├── Randomizer.swift
│   │   │   │   │   ├── ReachabilityService.swift
│   │   │   │   │   ├── Reachability.swift
│   │   │   │   │   ├── UIImage+Extensions.swift
│   │   │   │   │   ├── UIImageView+DownloadableImage.swift
│   │   │   │   │   └── Wireframe.swift
│   │   │   │   ├── String+URL.swift
│   │   │   │   ├── Version.swift
│   │   │   │   └── ViewController.swift
│   │   │   ├── RxExample-iOSTests
│   │   │   │   ├── CLLocationManager+RxTests.swift
│   │   │   │   ├── Info.plist
│   │   │   │   ├── Mocks
│   │   │   │   │   ├── MockGitHubAPI.swift
│   │   │   │   │   ├── MockWireframe.swift
│   │   │   │   │   ├── NotImplementedStubs.swift
│   │   │   │   │   └── ValidationResult+Equatable.swift
│   │   │   │   ├── RxExample_iOSTests.swift
│   │   │   │   ├── RxTest.swift
│   │   │   │   ├── TestScheduler+MarbleTests.swift
│   │   │   │   └── UIImagePickerController+RxTests.swift
│   │   │   ├── RxExample-iOSUITests
│   │   │   │   ├── FlowTests.swift
│   │   │   │   └── Info.plist
│   │   │   ├── RxExample-macOSUITests
│   │   │   │   ├── Info.plist
│   │   │   │   └── RxExample_macOSUITests.swift
│   │   │   └── RxExample.xcodeproj
│   │   │   ├── project.pbxproj
│   │   │   ├── project.xcworkspace
│   │   │   │   └── contents.xcworkspacedata
│   │   │   └── xcshareddata
│   │   │   └── xcschemes
│   │   │   ├── RxExample-iOSTests.xcscheme
│   │   │   ├── RxExample-iOSUITests.xcscheme
│   │   │   ├── RxExample-iOS.xcscheme
│   │   │   ├── RxExample-macOSUITests.xcscheme
│   │   │   └── RxExample-macOS.xcscheme
│   │   ├── Rx.playground
│   │   │   ├── contents.xcplayground
│   │   │   ├── Pages
│   │   │   │   ├── Combining_Operators.xcplaygroundpage
│   │   │   │   │   └── Contents.swift
│   │   │   │   ├── Connectable_Operators.xcplaygroundpage
│   │   │   │   │   └── Contents.swift
│   │   │   │   ├── Creating_and_Subscribing_to_Observables.xcplaygroundpage
│   │   │   │   │   └── Contents.swift
│   │   │   │   ├── Debugging_Operators.xcplaygroundpage
│   │   │   │   │   └── Contents.swift
│   │   │   │   ├── Enable_RxSwift.Resources.total.xcplaygroundpage
│   │   │   │   │   └── Contents.swift
│   │   │   │   ├── Error_Handling_Operators.xcplaygroundpage
│   │   │   │   │   └── Contents.swift
│   │   │   │   ├── Filtering_and_Conditional_Operators.xcplaygroundpage
│   │   │   │   │   └── Contents.swift
│   │   │   │   ├── Introduction.xcplaygroundpage
│   │   │   │   │   └── Contents.swift
│   │   │   │   ├── Mathematical_and_Aggregate_Operators.xcplaygroundpage
│   │   │   │   │   └── Contents.swift
│   │   │   │   ├── Table_of_Contents.xcplaygroundpage
│   │   │   │   │   └── Contents.swift
│   │   │   │   ├── Transforming_Operators.xcplaygroundpage
│   │   │   │   │   └── Contents.swift
│   │   │   │   ├── TryYourself.xcplaygroundpage
│   │   │   │   │   └── Contents.swift
│   │   │   │   └── Working_with_Subjects.xcplaygroundpage
│   │   │   │   └── Contents.swift
│   │   │   ├── Sources
│   │   │   │   └── SupportCode.swift
│   │   │   └── SupportCode.remap
│   │   ├── RxSwift
│   │   │   ├── AnyObserver.swift
│   │   │   ├── Cancelable.swift
│   │   │   ├── Concurrency
│   │   │   │   ├── AsyncLock.swift
│   │   │   │   ├── LockOwnerType.swift
│   │   │   │   ├── Lock.swift
│   │   │   │   ├── SynchronizedDisposeType.swift
│   │   │   │   ├── SynchronizedOnType.swift
│   │   │   │   └── SynchronizedUnsubscribeType.swift
│   │   │   ├── ConnectableObservableType.swift
│   │   │   ├── Deprecated.swift
│   │   │   ├── Disposables
│   │   │   │   ├── AnonymousDisposable.swift
│   │   │   │   ├── BinaryDisposable.swift
│   │   │   │   ├── BooleanDisposable.swift
│   │   │   │   ├── CompositeDisposable.swift
│   │   │   │   ├── Disposables.swift
│   │   │   │   ├── DisposeBag.swift
│   │   │   │   ├── DisposeBase.swift
│   │   │   │   ├── NopDisposable.swift
│   │   │   │   ├── RefCountDisposable.swift
│   │   │   │   ├── ScheduledDisposable.swift
│   │   │   │   ├── SerialDisposable.swift
│   │   │   │   ├── SingleAssignmentDisposable.swift
│   │   │   │   └── SubscriptionDisposable.swift
│   │   │   ├── Disposable.swift
│   │   │   ├── Errors.swift
│   │   │   ├── Event.swift
│   │   │   ├── Extensions
│   │   │   │   ├── Bag+Rx.swift
│   │   │   │   └── String+Rx.swift
│   │   │   ├── GroupedObservable.swift
│   │   │   ├── ImmediateSchedulerType.swift
│   │   │   ├── Info.plist
│   │   │   ├── ObservableConvertibleType.swift
│   │   │   ├── Observables
│   │   │   │   ├── AddRef.swift
│   │   │   │   ├── Amb.swift
│   │   │   │   ├── AsMaybe.swift
│   │   │   │   ├── AsSingle.swift
│   │   │   │   ├── Buffer.swift
│   │   │   │   ├── Catch.swift
│   │   │   │   ├── CombineLatest+arity.swift
│   │   │   │   ├── CombineLatest+arity.tt
│   │   │   │   ├── CombineLatest+Collection.swift
│   │   │   │   ├── CombineLatest.swift
│   │   │   │   ├── Concat.swift
│   │   │   │   ├── Create.swift
│   │   │   │   ├── Debounce.swift
│   │   │   │   ├── Debug.swift
│   │   │   │   ├── DefaultIfEmpty.swift
│   │   │   │   ├── Deferred.swift
│   │   │   │   ├── DelaySubscription.swift
│   │   │   │   ├── Delay.swift
│   │   │   │   ├── Dematerialize.swift
│   │   │   │   ├── DistinctUntilChanged.swift
│   │   │   │   ├── Do.swift
│   │   │   │   ├── ElementAt.swift
│   │   │   │   ├── Empty.swift
│   │   │   │   ├── Enumerated.swift
│   │   │   │   ├── Error.swift
│   │   │   │   ├── Filter.swift
│   │   │   │   ├── First.swift
│   │   │   │   ├── Generate.swift
│   │   │   │   ├── GroupBy.swift
│   │   │   │   ├── Just.swift
│   │   │   │   ├── Map.swift
│   │   │   │   ├── Materialize.swift
│   │   │   │   ├── Merge.swift
│   │   │   │   ├── Multicast.swift
│   │   │   │   ├── Never.swift
│   │   │   │   ├── ObserveOn.swift
│   │   │   │   ├── Optional.swift
│   │   │   │   ├── Producer.swift
│   │   │   │   ├── Range.swift
│   │   │   │   ├── Reduce.swift
│   │   │   │   ├── Repeat.swift
│   │   │   │   ├── RetryWhen.swift
│   │   │   │   ├── Sample.swift
│   │   │   │   ├── Scan.swift
│   │   │   │   ├── Sequence.swift
│   │   │   │   ├── ShareReplayScope.swift
│   │   │   │   ├── SingleAsync.swift
│   │   │   │   ├── Sink.swift
│   │   │   │   ├── Skip.swift
│   │   │   │   ├── SkipUntil.swift
│   │   │   │   ├── SkipWhile.swift
│   │   │   │   ├── StartWith.swift
│   │   │   │   ├── SubscribeOn.swift
│   │   │   │   ├── SwitchIfEmpty.swift
│   │   │   │   ├── Switch.swift
│   │   │   │   ├── TakeLast.swift
│   │   │   │   ├── Take.swift
│   │   │   │   ├── TakeUntil.swift
│   │   │   │   ├── TakeWhile.swift
│   │   │   │   ├── Throttle.swift
│   │   │   │   ├── Timeout.swift
│   │   │   │   ├── Timer.swift
│   │   │   │   ├── ToArray.swift
│   │   │   │   ├── Using.swift
│   │   │   │   ├── Window.swift
│   │   │   │   ├── WithLatestFrom.swift
│   │   │   │   ├── Zip+arity.swift
│   │   │   │   ├── Zip+arity.tt
│   │   │   │   ├── Zip+Collection.swift
│   │   │   │   └── Zip.swift
│   │   │   ├── Observable.swift
│   │   │   ├── ObservableType+Extensions.swift
│   │   │   ├── ObservableType.swift
│   │   │   ├── Observers
│   │   │   │   ├── AnonymousObserver.swift
│   │   │   │   ├── ObserverBase.swift
│   │   │   │   └── TailRecursiveSink.swift
│   │   │   ├── ObserverType.swift
│   │   │   ├── Platform
│   │   │   │   ├── DataStructures
│   │   │   │   │   ├── Bag.swift
│   │   │   │   │   ├── InfiniteSequence.swift
│   │   │   │   │   ├── PriorityQueue.swift
│   │   │   │   │   └── Queue.swift
│   │   │   │   ├── DeprecationWarner.swift
│   │   │   │   ├── DispatchQueue+Extensions.swift
│   │   │   │   ├── Platform.Darwin.swift
│   │   │   │   ├── Platform.Linux.swift
│   │   │   │   └── RecursiveLock.swift
│   │   │   ├── Reactive.swift
│   │   │   ├── RxMutableBox.swift
│   │   │   ├── Rx.swift
│   │   │   ├── Schedulers
│   │   │   │   ├── ConcurrentDispatchQueueScheduler.swift
│   │   │   │   ├── ConcurrentMainScheduler.swift
│   │   │   │   ├── CurrentThreadScheduler.swift
│   │   │   │   ├── HistoricalScheduler.swift
│   │   │   │   ├── HistoricalSchedulerTimeConverter.swift
│   │   │   │   ├── Internal
│   │   │   │   │   ├── DispatchQueueConfiguration.swift
│   │   │   │   │   ├── InvocableScheduledItem.swift
│   │   │   │   │   ├── InvocableType.swift
│   │   │   │   │   ├── ScheduledItem.swift
│   │   │   │   │   └── ScheduledItemType.swift
│   │   │   │   ├── MainScheduler.swift
│   │   │   │   ├── OperationQueueScheduler.swift
│   │   │   │   ├── RecursiveScheduler.swift
│   │   │   │   ├── SchedulerServices+Emulation.swift
│   │   │   │   ├── SerialDispatchQueueScheduler.swift
│   │   │   │   ├── VirtualTimeConverterType.swift
│   │   │   │   └── VirtualTimeScheduler.swift
│   │   │   ├── SchedulerType.swift
│   │   │   ├── Subjects
│   │   │   │   ├── AsyncSubject.swift
│   │   │   │   ├── BehaviorSubject.swift
│   │   │   │   ├── PublishSubject.swift
│   │   │   │   ├── ReplaySubject.swift
│   │   │   │   └── SubjectType.swift
│   │   │   ├── SwiftSupport
│   │   │   │   └── SwiftSupport.swift
│   │   │   └── Traits
│   │   │   ├── Completable+AndThen.swift
│   │   │   ├── Completable.swift
│   │   │   ├── Maybe.swift
│   │   │   ├── ObservableType+PrimitiveSequence.swift
│   │   │   ├── PrimitiveSequence.swift
│   │   │   ├── PrimitiveSequence+Zip+arity.swift
│   │   │   ├── PrimitiveSequence+Zip+arity.tt
│   │   │   └── Single.swift
│   │   ├── RxSwift.podspec
│   │   ├── RxTest
│   │   │   ├── Any+Equatable.swift
│   │   │   ├── ColdObservable.swift
│   │   │   ├── Deprecated.swift
│   │   │   ├── Event+Equatable.swift
│   │   │   ├── HotObservable.swift
│   │   │   ├── Info.plist
│   │   │   ├── Platform
│   │   │   │   ├── DataStructures
│   │   │   │   │   └── Bag.swift
│   │   │   │   └── DeprecationWarner.swift
│   │   │   ├── Recorded+Event.swift
│   │   │   ├── Recorded.swift
│   │   │   ├── RxTest.swift
│   │   │   ├── Schedulers
│   │   │   │   ├── TestScheduler.swift
│   │   │   │   └── TestSchedulerVirtualTimeConverter.swift
│   │   │   ├── Subscription.swift
│   │   │   ├── TestableObservable.swift
│   │   │   ├── TestableObserver.swift
│   │   │   └── XCTest+Rx.swift
│   │   ├── RxTest.podspec
│   │   ├── Rx.xcodeproj
│   │   │   ├── project.pbxproj
│   │   │   ├── project.xcworkspace
│   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   └── xcshareddata
│   │   │   │   └── IDEWorkspaceChecks.plist
│   │   │   └── xcshareddata
│   │   │   ├── xcbaselines
│   │   │   │   └── C8E8BA541E2C181A00A4AC2C.xcbaseline
│   │   │   │   ├── 91761072-433E-43DC-A058-545FB88C59EC.plist
│   │   │   │   ├── 996C445D-86F0-429E-92A9-44EBD3769290.plist
│   │   │   │   ├── B553A9F9-C6F1-4009-9BDC-AC42F9D31E38.plist
│   │   │   │   └── Info.plist
│   │   │   └── xcschemes
│   │   │   ├── RxBlocking-iOS.xcscheme
│   │   │   ├── RxBlocking-macOS.xcscheme
│   │   │   ├── RxBlocking-tvOS.xcscheme
│   │   │   ├── RxBlocking-watchOS.xcscheme
│   │   │   ├── RxCocoa-iOS.xcscheme
│   │   │   ├── RxCocoa-macOS.xcscheme
│   │   │   ├── RxCocoa-tvOS.xcscheme
│   │   │   ├── RxCocoa-watchOS.xcscheme
│   │   │   ├── RxSwift-iOS.xcscheme
│   │   │   ├── RxSwift-macOS.xcscheme
│   │   │   ├── RxSwift-tvOS.xcscheme
│   │   │   ├── RxSwift-watchOS.xcscheme
│   │   │   ├── RxTests-iOS.xcscheme
│   │   │   ├── RxTests-macOS.xcscheme
│   │   │   └── RxTests-tvOS.xcscheme
│   │   ├── Rx.xcworkspace
│   │   │   ├── contents.xcworkspacedata
│   │   │   └── xcshareddata
│   │   │   └── IDEWorkspaceChecks.plist
│   │   ├── scripts
│   │   │   ├── all-tests.sh
│   │   │   ├── common.sh
│   │   │   ├── package-spm.swift
│   │   │   ├── profile-build-times.sh
│   │   │   ├── test-linux.sh
│   │   │   ├── update-jazzy-config.rb
│   │   │   ├── update-jazzy-docs.sh
│   │   │   ├── validate-headers.swift
│   │   │   ├── validate-markdown.sh
│   │   │   ├── validate-playgrounds.sh
│   │   │   └── validate-podspec.sh
│   │   ├── Sources
│   │   │   ├── AllTestz
│   │   │   │   ├── Anomalies.swift
│   │   │   │   ├── AssumptionsTest.swift
│   │   │   │   ├── AsyncSubjectTests.swift
│   │   │   │   ├── BackgroundThreadPrimitiveHotObservable.swift
│   │   │   │   ├── Bag.swift
│   │   │   │   ├── BehaviorSubjectTest.swift
│   │   │   │   ├── Completable+AndThen.swift
│   │   │   │   ├── CompletableTest.swift
│   │   │   │   ├── CurrentThreadSchedulerTest.swift
│   │   │   │   ├── DeprecationWarner.swift
│   │   │   │   ├── DispatchQueue+Extensions.swift
│   │   │   │   ├── DisposableTest.swift
│   │   │   │   ├── DisposeBagTest.swift
│   │   │   │   ├── Driver+Test.swift
│   │   │   │   ├── ElementIndexPair.swift
│   │   │   │   ├── EquatableArray.swift
│   │   │   │   ├── Event+Test.swift
│   │   │   │   ├── HistoricalSchedulerTest.swift
│   │   │   │   ├── InfiniteSequence.swift
│   │   │   │   ├── MainSchedulerTests.swift
│   │   │   │   ├── main.swift
│   │   │   │   ├── MainThreadPrimitiveHotObservable.swift
│   │   │   │   ├── MaybeTest.swift
│   │   │   │   ├── MockDisposable.swift
│   │   │   │   ├── MySubject.swift
│   │   │   │   ├── NotificationCenterTests.swift
│   │   │   │   ├── Observable+AmbTests.swift
│   │   │   │   ├── Observable+BlockingTest.swift
│   │   │   │   ├── Observable+BufferTests.swift
│   │   │   │   ├── Observable+CatchTests.swift
│   │   │   │   ├── Observable+CombineLatestTests+arity.swift
│   │   │   │   ├── Observable+CombineLatestTests.swift
│   │   │   │   ├── Observable+ConcatTests.swift
│   │   │   │   ├── Observable+DebugTests.swift
│   │   │   │   ├── Observable+DefaultIfEmpty.swift
│   │   │   │   ├── Observable+DelaySubscriptionTests.swift
│   │   │   │   ├── Observable+DelayTests.swift
│   │   │   │   ├── Observable+DematerializeTests.swift
│   │   │   │   ├── Observable+DistinctUntilChangedTests.swift
│   │   │   │   ├── Observable+DoOnTests.swift
│   │   │   │   ├── Observable+ElementAtTests.swift
│   │   │   │   ├── Observable+EnumeratedTests.swift
│   │   │   │   ├── Observable+Extensions.swift
│   │   │   │   ├── Observable.Extensions.swift
│   │   │   │   ├── Observable+FilterTests.swift
│   │   │   │   ├── Observable+GenerateTests.swift
│   │   │   │   ├── Observable+GroupByTests.swift
│   │   │   │   ├── Observable+JustTests.swift
│   │   │   │   ├── Observable+MapTests.swift
│   │   │   │   ├── Observable+MaterializeTests.swift
│   │   │   │   ├── Observable+MergeTests.swift
│   │   │   │   ├── Observable+MulticastTests.swift
│   │   │   │   ├── Observable+ObserveOnTests.swift
│   │   │   │   ├── Observable+OptionalTests.swift
│   │   │   │   ├── Observable+PrimitiveSequenceTest.swift
│   │   │   │   ├── Observable+RangeTests.swift
│   │   │   │   ├── Observable+ReduceTests.swift
│   │   │   │   ├── Observable+RepeatTests.swift
│   │   │   │   ├── Observable+RetryWhenTests.swift
│   │   │   │   ├── Observable+SampleTests.swift
│   │   │   │   ├── Observable+ScanTests.swift
│   │   │   │   ├── Observable+SequenceTests.swift
│   │   │   │   ├── Observable+ShareReplayScopeTests.swift
│   │   │   │   ├── Observable+SingleTests.swift
│   │   │   │   ├── Observable+SkipTests.swift
│   │   │   │   ├── Observable+SkipUntilTests.swift
│   │   │   │   ├── Observable+SkipWhileTests.swift
│   │   │   │   ├── Observable+SubscribeOnTests.swift
│   │   │   │   ├── Observable+SubscriptionTest.swift
│   │   │   │   ├── Observable+SwitchIfEmptyTests.swift
│   │   │   │   ├── Observable+SwitchTests.swift
│   │   │   │   ├── Observable+TakeLastTests.swift
│   │   │   │   ├── Observable+TakeTests.swift
│   │   │   │   ├── Observable+TakeUntilTests.swift
│   │   │   │   ├── Observable+TakeWhileTests.swift
│   │   │   │   ├── Observable+Tests.swift
│   │   │   │   ├── Observable+ThrottleTests.swift
│   │   │   │   ├── Observable+TimeoutTests.swift
│   │   │   │   ├── Observable+TimerTests.swift
│   │   │   │   ├── Observable+ToArrayTests.swift
│   │   │   │   ├── ObservableType+SubscriptionTests.swift
│   │   │   │   ├── Observable+UsingTests.swift
│   │   │   │   ├── Observable+WindowTests.swift
│   │   │   │   ├── Observable+WithLatestFromTests.swift
│   │   │   │   ├── Observable+ZipTests+arity.swift
│   │   │   │   ├── Observable+ZipTests.swift
│   │   │   │   ├── ObserverTests.swift
│   │   │   │   ├── Platform.Darwin.swift
│   │   │   │   ├── Platform.Linux.swift
│   │   │   │   ├── PrimitiveHotObservable.swift
│   │   │   │   ├── PrimitiveMockObserver.swift
│   │   │   │   ├── PrimitiveSequenceTest+zip+arity.swift
│   │   │   │   ├── PriorityQueue.swift
│   │   │   │   ├── PublishSubjectTest.swift
│   │   │   │   ├── Queue.swift
│   │   │   │   ├── Reactive+Tests.swift
│   │   │   │   ├── Recorded+Timeless.swift
│   │   │   │   ├── RecursiveLock.swift
│   │   │   │   ├── RecursiveLockTest.swift
│   │   │   │   ├── ReplaySubjectTest.swift
│   │   │   │   ├── RxMutableBox.swift
│   │   │   │   ├── RxTest.swift
│   │   │   │   ├── SchedulerTests.swift
│   │   │   │   ├── SharedSequence+Extensions.swift
│   │   │   │   ├── SharedSequence+OperatorTest.swift
│   │   │   │   ├── SharedSequence+Test.swift
│   │   │   │   ├── SharingSchedulerTests.swift
│   │   │   │   ├── Signal+Test.swift
│   │   │   │   ├── SingleTest.swift
│   │   │   │   ├── TestConnectableObservable.swift
│   │   │   │   ├── TestErrors.swift
│   │   │   │   ├── TestVirtualScheduler.swift
│   │   │   │   ├── VariableTest.swift
│   │   │   │   ├── VirtualSchedulerTest.swift
│   │   │   │   └── XCTest+AllTests.swift
│   │   │   ├── RxBlocking
│   │   │   │   ├── BlockingObservable+Operators.swift
│   │   │   │   ├── BlockingObservable.swift
│   │   │   │   ├── ObservableConvertibleType+Blocking.swift
│   │   │   │   ├── Platform.Darwin.swift
│   │   │   │   ├── Platform.Linux.swift
│   │   │   │   ├── RecursiveLock.swift
│   │   │   │   ├── Resources.swift
│   │   │   │   └── RunLoopLock.swift
│   │   │   ├── RxCocoa
│   │   │   │   ├── BehaviorRelay+Driver.swift
│   │   │   │   ├── BehaviorRelay.swift
│   │   │   │   ├── Binder.swift
│   │   │   │   ├── ControlEvent+Driver.swift
│   │   │   │   ├── ControlEvent+Signal.swift
│   │   │   │   ├── ControlEvent.swift
│   │   │   │   ├── ControlProperty+Driver.swift
│   │   │   │   ├── ControlProperty.swift
│   │   │   │   ├── ControlTarget.swift
│   │   │   │   ├── DelegateProxy.swift
│   │   │   │   ├── DelegateProxyType.swift
│   │   │   │   ├── Deprecated.swift
│   │   │   │   ├── DispatchQueue+Extensions.swift
│   │   │   │   ├── Driver+Subscription.swift
│   │   │   │   ├── Driver.swift
│   │   │   │   ├── ItemEvents.swift
│   │   │   │   ├── KeyPathBinder.swift
│   │   │   │   ├── KVORepresentable+CoreGraphics.swift
│   │   │   │   ├── KVORepresentable.swift
│   │   │   │   ├── KVORepresentable+Swift.swift
│   │   │   │   ├── Logging.swift
│   │   │   │   ├── NotificationCenter+Rx.swift
│   │   │   │   ├── NSButton+Rx.swift
│   │   │   │   ├── NSControl+Rx.swift
│   │   │   │   ├── NSImageView+Rx.swift
│   │   │   │   ├── NSLayoutConstraint+Rx.swift
│   │   │   │   ├── NSObject+Rx+KVORepresentable.swift
│   │   │   │   ├── NSObject+Rx+RawRepresentable.swift
│   │   │   │   ├── NSObject+Rx.swift
│   │   │   │   ├── NSSlider+Rx.swift
│   │   │   │   ├── NSTextField+Rx.swift
│   │   │   │   ├── NSTextStorage+Rx.swift
│   │   │   │   ├── NSView+Rx.swift
│   │   │   │   ├── Observable+Bind.swift
│   │   │   │   ├── ObservableConvertibleType+Driver.swift
│   │   │   │   ├── ObservableConvertibleType+SharedSequence.swift
│   │   │   │   ├── ObservableConvertibleType+Signal.swift
│   │   │   │   ├── PublishRelay+Signal.swift
│   │   │   │   ├── PublishRelay.swift
│   │   │   │   ├── RxCocoaObjCRuntimeError+Extensions.swift
│   │   │   │   ├── RxCocoa.swift
│   │   │   │   ├── RxCollectionViewDataSourcePrefetchingProxy.swift
│   │   │   │   ├── RxCollectionViewDataSourceProxy.swift
│   │   │   │   ├── RxCollectionViewDataSourceType.swift
│   │   │   │   ├── RxCollectionViewDelegateProxy.swift
│   │   │   │   ├── RxCollectionViewReactiveArrayDataSource.swift
│   │   │   │   ├── RxNavigationControllerDelegateProxy.swift
│   │   │   │   ├── RxPickerViewAdapter.swift
│   │   │   │   ├── RxPickerViewDataSourceProxy.swift
│   │   │   │   ├── RxPickerViewDataSourceType.swift
│   │   │   │   ├── RxPickerViewDelegateProxy.swift
│   │   │   │   ├── RxScrollViewDelegateProxy.swift
│   │   │   │   ├── RxSearchBarDelegateProxy.swift
│   │   │   │   ├── RxSearchControllerDelegateProxy.swift
│   │   │   │   ├── RxTabBarControllerDelegateProxy.swift
│   │   │   │   ├── RxTabBarDelegateProxy.swift
│   │   │   │   ├── RxTableViewDataSourcePrefetchingProxy.swift
│   │   │   │   ├── RxTableViewDataSourceProxy.swift
│   │   │   │   ├── RxTableViewDataSourceType.swift
│   │   │   │   ├── RxTableViewDelegateProxy.swift
│   │   │   │   ├── RxTableViewReactiveArrayDataSource.swift
│   │   │   │   ├── RxTarget.swift
│   │   │   │   ├── RxTextStorageDelegateProxy.swift
│   │   │   │   ├── RxTextViewDelegateProxy.swift
│   │   │   │   ├── RxWebViewDelegateProxy.swift
│   │   │   │   ├── SchedulerType+SharedSequence.swift
│   │   │   │   ├── SectionedViewDataSourceType.swift
│   │   │   │   ├── SharedSequence+Operators+arity.swift
│   │   │   │   ├── SharedSequence+Operators.swift
│   │   │   │   ├── SharedSequence.swift
│   │   │   │   ├── Signal+Subscription.swift
│   │   │   │   ├── Signal.swift
│   │   │   │   ├── TextInput.swift
│   │   │   │   ├── UIActivityIndicatorView+Rx.swift
│   │   │   │   ├── UIAlertAction+Rx.swift
│   │   │   │   ├── UIApplication+Rx.swift
│   │   │   │   ├── UIBarButtonItem+Rx.swift
│   │   │   │   ├── UIButton+Rx.swift
│   │   │   │   ├── UICollectionView+Rx.swift
│   │   │   │   ├── UIControl+Rx.swift
│   │   │   │   ├── UIDatePicker+Rx.swift
│   │   │   │   ├── UIGestureRecognizer+Rx.swift
│   │   │   │   ├── UIImageView+Rx.swift
│   │   │   │   ├── UILabel+Rx.swift
│   │   │   │   ├── UINavigationController+Rx.swift
│   │   │   │   ├── UINavigationItem+Rx.swift
│   │   │   │   ├── UIPageControl+Rx.swift
│   │   │   │   ├── UIPickerView+Rx.swift
│   │   │   │   ├── UIProgressView+Rx.swift
│   │   │   │   ├── UIRefreshControl+Rx.swift
│   │   │   │   ├── UIScrollView+Rx.swift
│   │   │   │   ├── UISearchBar+Rx.swift
│   │   │   │   ├── UISearchController+Rx.swift
│   │   │   │   ├── UISegmentedControl+Rx.swift
│   │   │   │   ├── UISlider+Rx.swift
│   │   │   │   ├── UIStepper+Rx.swift
│   │   │   │   ├── UISwitch+Rx.swift
│   │   │   │   ├── UITabBarController+Rx.swift
│   │   │   │   ├── UITabBarItem+Rx.swift
│   │   │   │   ├── UITabBar+Rx.swift
│   │   │   │   ├── UITableView+Rx.swift
│   │   │   │   ├── UITextField+Rx.swift
│   │   │   │   ├── UITextView+Rx.swift
│   │   │   │   ├── UIViewController+Rx.swift
│   │   │   │   ├── UIView+Rx.swift
│   │   │   │   ├── UIWebView+Rx.swift
│   │   │   │   └── URLSession+Rx.swift
│   │   │   ├── RxCocoaRuntime
│   │   │   │   ├── include
│   │   │   │   │   ├── RxCocoaRuntime.h
│   │   │   │   │   ├── _RXDelegateProxy.h
│   │   │   │   │   ├── _RX.h
│   │   │   │   │   ├── _RXKVOObserver.h
│   │   │   │   │   └── _RXObjCRuntime.h
│   │   │   │   ├── _RXDelegateProxy.m
│   │   │   │   ├── _RXKVOObserver.m
│   │   │   │   ├── _RX.m
│   │   │   │   └── _RXObjCRuntime.m
│   │   │   ├── RxSwift
│   │   │   │   ├── AddRef.swift
│   │   │   │   ├── Amb.swift
│   │   │   │   ├── AnonymousDisposable.swift
│   │   │   │   ├── AnonymousObserver.swift
│   │   │   │   ├── AnyObserver.swift
│   │   │   │   ├── AsMaybe.swift
│   │   │   │   ├── AsSingle.swift
│   │   │   │   ├── AsyncLock.swift
│   │   │   │   ├── AsyncSubject.swift
│   │   │   │   ├── Bag+Rx.swift
│   │   │   │   ├── Bag.swift
│   │   │   │   ├── BehaviorSubject.swift
│   │   │   │   ├── BinaryDisposable.swift
│   │   │   │   ├── BooleanDisposable.swift
│   │   │   │   ├── Buffer.swift
│   │   │   │   ├── Cancelable.swift
│   │   │   │   ├── Catch.swift
│   │   │   │   ├── CombineLatest+arity.swift
│   │   │   │   ├── CombineLatest+Collection.swift
│   │   │   │   ├── CombineLatest.swift
│   │   │   │   ├── Completable+AndThen.swift
│   │   │   │   ├── Completable.swift
│   │   │   │   ├── CompositeDisposable.swift
│   │   │   │   ├── Concat.swift
│   │   │   │   ├── ConcurrentDispatchQueueScheduler.swift
│   │   │   │   ├── ConcurrentMainScheduler.swift
│   │   │   │   ├── ConnectableObservableType.swift
│   │   │   │   ├── Create.swift
│   │   │   │   ├── CurrentThreadScheduler.swift
│   │   │   │   ├── Debounce.swift
│   │   │   │   ├── Debug.swift
│   │   │   │   ├── DefaultIfEmpty.swift
│   │   │   │   ├── Deferred.swift
│   │   │   │   ├── DelaySubscription.swift
│   │   │   │   ├── Delay.swift
│   │   │   │   ├── Dematerialize.swift
│   │   │   │   ├── Deprecated.swift
│   │   │   │   ├── DeprecationWarner.swift
│   │   │   │   ├── DispatchQueueConfiguration.swift
│   │   │   │   ├── DispatchQueue+Extensions.swift
│   │   │   │   ├── Disposables.swift
│   │   │   │   ├── Disposable.swift
│   │   │   │   ├── DisposeBag.swift
│   │   │   │   ├── DisposeBase.swift
│   │   │   │   ├── DistinctUntilChanged.swift
│   │   │   │   ├── Do.swift
│   │   │   │   ├── ElementAt.swift
│   │   │   │   ├── Empty.swift
│   │   │   │   ├── Enumerated.swift
│   │   │   │   ├── Errors.swift
│   │   │   │   ├── Error.swift
│   │   │   │   ├── Event.swift
│   │   │   │   ├── Filter.swift
│   │   │   │   ├── First.swift
│   │   │   │   ├── Generate.swift
│   │   │   │   ├── GroupBy.swift
│   │   │   │   ├── GroupedObservable.swift
│   │   │   │   ├── HistoricalScheduler.swift
│   │   │   │   ├── HistoricalSchedulerTimeConverter.swift
│   │   │   │   ├── ImmediateSchedulerType.swift
│   │   │   │   ├── InfiniteSequence.swift
│   │   │   │   ├── InvocableScheduledItem.swift
│   │   │   │   ├── InvocableType.swift
│   │   │   │   ├── Just.swift
│   │   │   │   ├── LockOwnerType.swift
│   │   │   │   ├── Lock.swift
│   │   │   │   ├── MainScheduler.swift
│   │   │   │   ├── Map.swift
│   │   │   │   ├── Materialize.swift
│   │   │   │   ├── Maybe.swift
│   │   │   │   ├── Merge.swift
│   │   │   │   ├── Multicast.swift
│   │   │   │   ├── Never.swift
│   │   │   │   ├── NopDisposable.swift
│   │   │   │   ├── ObservableConvertibleType.swift
│   │   │   │   ├── Observable.swift
│   │   │   │   ├── ObservableType+Extensions.swift
│   │   │   │   ├── ObservableType+PrimitiveSequence.swift
│   │   │   │   ├── ObservableType.swift
│   │   │   │   ├── ObserveOn.swift
│   │   │   │   ├── ObserverBase.swift
│   │   │   │   ├── ObserverType.swift
│   │   │   │   ├── OperationQueueScheduler.swift
│   │   │   │   ├── Optional.swift
│   │   │   │   ├── Platform.Darwin.swift
│   │   │   │   ├── Platform.Linux.swift
│   │   │   │   ├── PrimitiveSequence.swift
│   │   │   │   ├── PrimitiveSequence+Zip+arity.swift
│   │   │   │   ├── PriorityQueue.swift
│   │   │   │   ├── Producer.swift
│   │   │   │   ├── PublishSubject.swift
│   │   │   │   ├── Queue.swift
│   │   │   │   ├── Range.swift
│   │   │   │   ├── Reactive.swift
│   │   │   │   ├── RecursiveLock.swift
│   │   │   │   ├── RecursiveScheduler.swift
│   │   │   │   ├── Reduce.swift
│   │   │   │   ├── RefCountDisposable.swift
│   │   │   │   ├── Repeat.swift
│   │   │   │   ├── ReplaySubject.swift
│   │   │   │   ├── RetryWhen.swift
│   │   │   │   ├── RxMutableBox.swift
│   │   │   │   ├── Rx.swift
│   │   │   │   ├── Sample.swift
│   │   │   │   ├── Scan.swift
│   │   │   │   ├── ScheduledDisposable.swift
│   │   │   │   ├── ScheduledItem.swift
│   │   │   │   ├── ScheduledItemType.swift
│   │   │   │   ├── SchedulerServices+Emulation.swift
│   │   │   │   ├── SchedulerType.swift
│   │   │   │   ├── Sequence.swift
│   │   │   │   ├── SerialDispatchQueueScheduler.swift
│   │   │   │   ├── SerialDisposable.swift
│   │   │   │   ├── ShareReplayScope.swift
│   │   │   │   ├── SingleAssignmentDisposable.swift
│   │   │   │   ├── SingleAsync.swift
│   │   │   │   ├── Single.swift
│   │   │   │   ├── Sink.swift
│   │   │   │   ├── Skip.swift
│   │   │   │   ├── SkipUntil.swift
│   │   │   │   ├── SkipWhile.swift
│   │   │   │   ├── StartWith.swift
│   │   │   │   ├── String+Rx.swift
│   │   │   │   ├── SubjectType.swift
│   │   │   │   ├── SubscribeOn.swift
│   │   │   │   ├── SubscriptionDisposable.swift
│   │   │   │   ├── SwiftSupport.swift
│   │   │   │   ├── SwitchIfEmpty.swift
│   │   │   │   ├── Switch.swift
│   │   │   │   ├── SynchronizedDisposeType.swift
│   │   │   │   ├── SynchronizedOnType.swift
│   │   │   │   ├── SynchronizedUnsubscribeType.swift
│   │   │   │   ├── TailRecursiveSink.swift
│   │   │   │   ├── TakeLast.swift
│   │   │   │   ├── Take.swift
│   │   │   │   ├── TakeUntil.swift
│   │   │   │   ├── TakeWhile.swift
│   │   │   │   ├── Throttle.swift
│   │   │   │   ├── Timeout.swift
│   │   │   │   ├── Timer.swift
│   │   │   │   ├── ToArray.swift
│   │   │   │   ├── Using.swift
│   │   │   │   ├── VirtualTimeConverterType.swift
│   │   │   │   ├── VirtualTimeScheduler.swift
│   │   │   │   ├── Window.swift
│   │   │   │   ├── WithLatestFrom.swift
│   │   │   │   ├── Zip+arity.swift
│   │   │   │   ├── Zip+Collection.swift
│   │   │   │   └── Zip.swift
│   │   │   └── RxTest
│   │   │   ├── Any+Equatable.swift
│   │   │   ├── Bag.swift
│   │   │   ├── ColdObservable.swift
│   │   │   ├── Deprecated.swift
│   │   │   ├── DeprecationWarner.swift
│   │   │   ├── Event+Equatable.swift
│   │   │   ├── HotObservable.swift
│   │   │   ├── Recorded+Event.swift
│   │   │   ├── Recorded.swift
│   │   │   ├── RxTest.swift
│   │   │   ├── Subscription.swift
│   │   │   ├── TestableObservable.swift
│   │   │   ├── TestableObserver.swift
│   │   │   ├── TestScheduler.swift
│   │   │   ├── TestSchedulerVirtualTimeConverter.swift
│   │   │   └── XCTest+Rx.swift
│   │   └── Tests
│   │   ├── Benchmarks
│   │   │   ├── Benchmarks.swift
│   │   │   └── Info.plist
│   │   ├── Info.plist
│   │   ├── MessageProcessingStage.swift
│   │   ├── Microoptimizations
│   │   │   ├── Info.plist
│   │   │   ├── main.swift
│   │   │   └── PerformanceTools.swift
│   │   ├── Platform
│   │   │   ├── DispatchQueue+Extensions.swift
│   │   │   ├── Platform.Darwin.swift
│   │   │   ├── Platform.Linux.swift
│   │   │   └── RecursiveLock.swift
│   │   ├── Recorded+Timeless.swift
│   │   ├── Resources.swift
│   │   ├── RxBlockingTests
│   │   │   └── Observable+BlockingTest.swift
│   │   ├── RxCocoaTests
│   │   │   ├── Binder+Tests.swift
│   │   │   ├── ControlEventTests.swift
│   │   │   ├── ControlPropertyTests.swift
│   │   │   ├── DelegateProxyTest+Cocoa.swift
│   │   │   ├── DelegateProxyTest.swift
│   │   │   ├── DelegateProxyTest+UIKit.swift
│   │   │   ├── Driver+Test.swift
│   │   │   ├── ExampleTests.swift
│   │   │   ├── KeyPathBinder+RxTests.swift
│   │   │   ├── KVOObservableTests.swift
│   │   │   ├── NotificationCenterTests.swift
│   │   │   ├── NSButton+RxTests.swift
│   │   │   ├── NSControl+RxTests.swift
│   │   │   ├── NSLayoutConstraint+RxTests.swift
│   │   │   ├── NSObject+RxTests.swift
│   │   │   ├── NSSlider+RxTests.swift
│   │   │   ├── NSTextField+RxTests.swift
│   │   │   ├── NSView+RxTests.swift
│   │   │   ├── Observable+BindTests.swift
│   │   │   ├── ObservableConvertibleType+SharedSequence.swift
│   │   │   ├── RuntimeStateSnapshot.swift
│   │   │   ├── RxObjCRuntimeState.swift
│   │   │   ├── RXObjCRuntime+Testing.h
│   │   │   ├── RXObjCRuntime+Testing.m
│   │   │   ├── RxTest+Controls.swift
│   │   │   ├── RxTest-iOS-Bridging-Header.h
│   │   │   ├── RxTest-macOS-Bridging-Header.h
│   │   │   ├── RxTest-tvOS-Bridging-Header.h
│   │   │   ├── SentMessageTest.swift
│   │   │   ├── SharedSequence+Extensions.swift
│   │   │   ├── SharedSequence+OperatorTest.swift
│   │   │   ├── SharedSequence+Test.swift
│   │   │   ├── Signal+Test.swift
│   │   │   ├── TestImplementations
│   │   │   │   └── SectionedViewDataSourceMock.swift
│   │   │   ├── UIActivityIndicatorView+RxTests.swift
│   │   │   ├── UIAlertAction+RxTests.swift
│   │   │   ├── UIBarButtonItem+RxTests.swift
│   │   │   ├── UIButton+RxTests.swift
│   │   │   ├── UICollectionView+RxTests.swift
│   │   │   ├── UIControl+RxTests.swift
│   │   │   ├── UIDatePicker+RxTests.swift
│   │   │   ├── UIGestureRecognizer+RxTests.swift
│   │   │   ├── UILabel+RxTests.swift
│   │   │   ├── UINavigationController+RxTests.swift
│   │   │   ├── UINavigationItem+RxTests.swift.swift
│   │   │   ├── UIPageControl+RxTest.swift
│   │   │   ├── UIPickerView+RxTests.swift
│   │   │   ├── UIProgressView+RxTests.swift
│   │   │   ├── UIRefreshControl+RxTests.swift
│   │   │   ├── UIScrollView+RxTests.swift
│   │   │   ├── UISearchBar+RxTests.swift
│   │   │   ├── UISearchController+RxTests.swift
│   │   │   ├── UISegmentedControl+RxTests.swift
│   │   │   ├── UISlider+RxTests.swift
│   │   │   ├── UIStepper+RxTests.swift
│   │   │   ├── UISwitch+RxTests.swift
│   │   │   ├── UITabBarController+RxTests.swift
│   │   │   ├── UITabBarItem+RxTests.swift
│   │   │   ├── UITabBar+RxTests.swift
│   │   │   ├── UITableView+RxTests.swift
│   │   │   ├── UITextField+RxTests.swift
│   │   │   ├── UITextView+RxTests.swift
│   │   │   ├── UIViewController+RxTests.swift
│   │   │   ├── UIView+RxTests.swift
│   │   │   └── UIWebView+RxTests.swift
│   │   ├── RxSwiftTests
│   │   │   ├── Anomalies.swift
│   │   │   ├── AssumptionsTest.swift
│   │   │   ├── AsyncSubjectTests.swift
│   │   │   ├── BagTest.swift
│   │   │   ├── BehaviorSubjectTest.swift
│   │   │   ├── Completable+AndThen.swift
│   │   │   ├── CompletableTest.swift
│   │   │   ├── CurrentThreadSchedulerTest.swift
│   │   │   ├── DisposableTest.swift
│   │   │   ├── DisposeBagTest.swift
│   │   │   ├── Event+Test.swift
│   │   │   ├── HistoricalSchedulerTest.swift
│   │   │   ├── MainSchedulerTests.swift
│   │   │   ├── MaybeTest.swift
│   │   │   ├── Observable+AmbTests.swift
│   │   │   ├── Observable+BufferTests.swift
│   │   │   ├── Observable+CatchTests.swift
│   │   │   ├── Observable+CombineLatestTests+arity.swift
│   │   │   ├── Observable+CombineLatestTests+arity.tt
│   │   │   ├── Observable+CombineLatestTests.swift
│   │   │   ├── Observable+ConcatTests.swift
│   │   │   ├── Observable+DebugTests.swift
│   │   │   ├── Observable+DefaultIfEmpty.swift
│   │   │   ├── Observable+DelaySubscriptionTests.swift
│   │   │   ├── Observable+DelayTests.swift
│   │   │   ├── Observable+DematerializeTests.swift
│   │   │   ├── Observable+DistinctUntilChangedTests.swift
│   │   │   ├── Observable+DoOnTests.swift
│   │   │   ├── Observable+ElementAtTests.swift
│   │   │   ├── Observable+EnumeratedTests.swift
│   │   │   ├── Observable+FilterTests.swift
│   │   │   ├── Observable+GenerateTests.swift
│   │   │   ├── Observable+GroupByTests.swift
│   │   │   ├── Observable+JustTests.swift
│   │   │   ├── Observable+MapTests.swift
│   │   │   ├── Observable+MaterializeTests.swift
│   │   │   ├── Observable+MergeTests.swift
│   │   │   ├── Observable+MulticastTests.swift
│   │   │   ├── Observable+ObserveOnTests.swift
│   │   │   ├── Observable+OptionalTests.swift
│   │   │   ├── Observable+PrimitiveSequenceTest.swift
│   │   │   ├── Observable+RangeTests.swift
│   │   │   ├── Observable+ReduceTests.swift
│   │   │   ├── Observable+RepeatTests.swift
│   │   │   ├── Observable+RetryWhenTests.swift
│   │   │   ├── Observable+SampleTests.swift
│   │   │   ├── Observable+ScanTests.swift
│   │   │   ├── Observable+SequenceTests.swift
│   │   │   ├── Observable+ShareReplayScopeTests.swift
│   │   │   ├── Observable+SingleTests.swift
│   │   │   ├── Observable+SkipTests.swift
│   │   │   ├── Observable+SkipUntilTests.swift
│   │   │   ├── Observable+SkipWhileTests.swift
│   │   │   ├── Observable+SubscribeOnTests.swift
│   │   │   ├── Observable+SubscriptionTest.swift
│   │   │   ├── Observable+SwitchIfEmptyTests.swift
│   │   │   ├── Observable+SwitchTests.swift
│   │   │   ├── Observable+TakeLastTests.swift
│   │   │   ├── Observable+TakeTests.swift
│   │   │   ├── Observable+TakeUntilTests.swift
│   │   │   ├── Observable+TakeWhileTests.swift
│   │   │   ├── Observable+Tests.swift
│   │   │   ├── Observable+ThrottleTests.swift
│   │   │   ├── Observable+TimeoutTests.swift
│   │   │   ├── Observable+TimerTests.swift
│   │   │   ├── Observable+ToArrayTests.swift
│   │   │   ├── ObservableType+SubscriptionTests.swift
│   │   │   ├── Observable+UsingTests.swift
│   │   │   ├── Observable+WindowTests.swift
│   │   │   ├── Observable+WithLatestFromTests.swift
│   │   │   ├── Observable+ZipTests+arity.swift
│   │   │   ├── Observable+ZipTests+arity.tt
│   │   │   ├── Observable+ZipTests.swift
│   │   │   ├── ObserverTests.swift
│   │   │   ├── PrimitiveSequenceTest+zip+arity.swift
│   │   │   ├── PrimitiveSequenceTest+zip+arity.tt
│   │   │   ├── PublishSubjectTest.swift
│   │   │   ├── QueueTests.swift
│   │   │   ├── Reactive+Tests.swift
│   │   │   ├── RecursiveLockTest.swift
│   │   │   ├── ReplaySubjectTest.swift
│   │   │   ├── SchedulerTests.swift
│   │   │   ├── SharingSchedulerTests.swift
│   │   │   ├── SingleTest.swift
│   │   │   ├── SubjectConcurrencyTest.swift
│   │   │   ├── TestImplementations
│   │   │   │   ├── ElementIndexPair.swift
│   │   │   │   ├── EquatableArray.swift
│   │   │   │   ├── Mocks
│   │   │   │   │   ├── BackgroundThreadPrimitiveHotObservable.swift
│   │   │   │   │   ├── MainThreadPrimitiveHotObservable.swift
│   │   │   │   │   ├── MockDisposable.swift
│   │   │   │   │   ├── MySubject.swift
│   │   │   │   │   ├── Observable.Extensions.swift
│   │   │   │   │   ├── PrimitiveHotObservable.swift
│   │   │   │   │   ├── PrimitiveMockObserver.swift
│   │   │   │   │   └── TestConnectableObservable.swift
│   │   │   │   ├── Observable+Extensions.swift
│   │   │   │   └── TestVirtualScheduler.swift
│   │   │   ├── VariableTest.swift
│   │   │   └── VirtualSchedulerTest.swift
│   │   ├── RxTest.swift
│   │   ├── TestErrors.swift
│   │   └── XCTest+AllTests.swift
│   ├── Koober
│   │   ├── AppDelegate.swift
│   │   ├── Assets.xcassets
│   │   │   ├── AppIcon.appiconset
│   │   │   │   ├── Contents.json
│   │   │   │   ├── Icon1024.png
│   │   │   │   ├── Icon20@2x.png
│   │   │   │   ├── Icon20.png
│   │   │   │   ├── Icon29@2x.png
│   │   │   │   ├── Icon29.png
│   │   │   │   ├── Icon40@2x.png
│   │   │   │   ├── Icon40.png
│   │   │   │   ├── Icon76@2x.png
│   │   │   │   ├── Icon76.png
│   │   │   │   ├── Icon83.5@2x.png
│   │   │   │   ├── icon-app-20@2x.png
│   │   │   │   ├── icon-app-20@3x.png
│   │   │   │   ├── icon-app-29@2x.png
│   │   │   │   ├── icon-app-29@3x copy.png
│   │   │   │   ├── icon-app-40@2x.png
│   │   │   │   ├── icon-app-40@3x.png
│   │   │   │   ├── icon-app-60@2x.png
│   │   │   │   └── icon-app-60@3x.png
│   │   │   ├── Colors
│   │   │   │   ├── BackgroundColor.colorset
│   │   │   │   │   └── Contents.json
│   │   │   │   └── Contents.json
│   │   │   ├── Contents.json
│   │   │   └── Images
│   │   │   ├── Contents.json
│   │   │   ├── Onboard
│   │   │   │   ├── Contents.json
│   │   │   │   ├── email_icon.imageset
│   │   │   │   │   ├── Contents.json
│   │   │   │   │   ├── email_icon@2x.png
│   │   │   │   │   ├── email_icon@3x.png
│   │   │   │   │   └── email_icon.png
│   │   │   │   ├── mobile_icon.imageset
│   │   │   │   │   ├── Contents.json
│   │   │   │   │   ├── mobile_icon@2x.png
│   │   │   │   │   ├── mobile_icon@3x.png
│   │   │   │   │   └── mobile_icon.png
│   │   │   │   ├── password_icon.imageset
│   │   │   │   │   ├── Contents.json
│   │   │   │   │   ├── password_icon@2x.png
│   │   │   │   │   ├── password_icon@3x.png
│   │   │   │   │   └── password_icon.png
│   │   │   │   ├── person_icon.imageset
│   │   │   │   │   ├── Contents.json
│   │   │   │   │   ├── person@2x.png
│   │   │   │   │   ├── person@3x.png
│   │   │   │   │   └── person.png
│   │   │   │   ├── roo_logo.imageset
│   │   │   │   │   ├── Contents.json
│   │   │   │   │   ├── roo_logo@2x.png
│   │   │   │   │   ├── roo_logo@3x.png
│   │   │   │   │   └── roo_logo.png
│   │   │   │   └── tag_icon.imageset
│   │   │   │   ├── Contents.json
│   │   │   │   ├── tag@2x.png
│   │   │   │   ├── tag@3x.png
│   │   │   │   └── tag.png
│   │   │   ├── RequestRide
│   │   │   │   ├── available_placeholder_marker.imageset
│   │   │   │   │   ├── available_placeholder_marker@2x.png
│   │   │   │   │   ├── available_placeholder_marker@3x.png
│   │   │   │   │   ├── available_placeholder_marker.png
│   │   │   │   │   └── Contents.json
│   │   │   │   ├── CancelButton.imageset
│   │   │   │   │   ├── CancelButton@2x.png
│   │   │   │   │   ├── CancelButton@3x.png
│   │   │   │   │   ├── CancelButton.png
│   │   │   │   │   └── Contents.json
│   │   │   │   ├── Contents.json
│   │   │   │   ├── DriverEnRoute.imageset
│   │   │   │   │   ├── Contents.json
│   │   │   │   │   ├── Driver En Route@1x.png
│   │   │   │   │   ├── Driver En Route@2x.png
│   │   │   │   │   └── Driver En Route@3x.png
│   │   │   │   ├── koober.imageset
│   │   │   │   │   ├── Contents.json
│   │   │   │   │   ├── Icon-60@2x.png
│   │   │   │   │   └── Icon-60@3x.png
│   │   │   │   ├── MapMarkerDropoffLocation.imageset
│   │   │   │   │   ├── Contents.json
│   │   │   │   │   ├── map_marker_destination_location@2x.png
│   │   │   │   │   ├── map_marker_destination_location@3x.png
│   │   │   │   │   └── map_marker_destination_location.png
│   │   │   │   ├── MapMarkerPickupLocation.imageset
│   │   │   │   │   ├── Contents.json
│   │   │   │   │   ├── map_marker_pickup_location@2x.png
│   │   │   │   │   ├── map_marker_pickup_location@3x.png
│   │   │   │   │   └── map_marker_pickup_location.png
│   │   │   │   ├── ProgressKangaroo.imageset
│   │   │   │   │   ├── Contents.json
│   │   │   │   │   ├── progress_kangaroo@2x.png
│   │   │   │   │   ├── progress_kangaroo@3x.png
│   │   │   │   │   └── progress_kangaroo.png
│   │   │   │   ├── requesting_indicator.imageset
│   │   │   │   │   ├── Contents.json
│   │   │   │   │   ├── requesting_indicator@2x.png
│   │   │   │   │   ├── requesting_indicator@3x.png
│   │   │   │   │   └── requesting_indicator.png
│   │   │   │   ├── RideOptionPicker
│   │   │   │   │   ├── available_kangaroo_marker.imageset
│   │   │   │   │   │   ├── available_kangaroo_marker@2x.png
│   │   │   │   │   │   ├── available_kangaroo_marker@3x.png
│   │   │   │   │   │   ├── available_kangaroo_marker.png
│   │   │   │   │   │   └── Contents.json
│   │   │   │   │   ├── available_wallabe_marker.imageset
│   │   │   │   │   │   ├── available_wallabe_marker@2x.png
│   │   │   │   │   │   ├── available_wallabe_marker@3x.png
│   │   │   │   │   │   ├── available_wallabe_marker.png
│   │   │   │   │   │   └── Contents.json
│   │   │   │   │   ├── available_wallaroo_marker.imageset
│   │   │   │   │   │   ├── available_wallaroo_marker@2x.png
│   │   │   │   │   │   ├── available_wallaroo_marker@3x.png
│   │   │   │   │   │   ├── available_wallaroo_marker.png
│   │   │   │   │   │   └── Contents.json
│   │   │   │   │   ├── Contents.json
│   │   │   │   │   ├── ride_option_kangaroo.imageset
│   │   │   │   │   │   ├── Contents.json
│   │   │   │   │   │   ├── ride_option_kangaroo@2x.png
│   │   │   │   │   │   ├── ride_option_kangaroo@3x.png
│   │   │   │   │   │   └── ride_option_kangaroo.png
│   │   │   │   │   ├── ride_option_kangaroo_selected.imageset
│   │   │   │   │   │   ├── Contents.json
│   │   │   │   │   │   ├── ride_option_kangaroo_selected@2x.png
│   │   │   │   │   │   ├── ride_option_kangaroo_selected@3x.png
│   │   │   │   │   │   └── ride_option_kangaroo_selected.png
│   │   │   │   │   ├── ride_option_wallabee.imageset
│   │   │   │   │   │   ├── Contents.json
│   │   │   │   │   │   ├── ride_option_wallabee@2x.png
│   │   │   │   │   │   ├── ride_option_wallabee@3x.png
│   │   │   │   │   │   └── ride_option_wallabee.png
│   │   │   │   │   ├── ride_option_wallabee_selected.imageset
│   │   │   │   │   │   ├── Contents.json
│   │   │   │   │   │   ├── ride_option_wallabee_selected@2x.png
│   │   │   │   │   │   ├── ride_option_wallabee_selected@3x.png
│   │   │   │   │   │   └── ride_option_wallabee_selected.png
│   │   │   │   │   ├── ride_option_wallaroo.imageset
│   │   │   │   │   │   ├── Contents.json
│   │   │   │   │   │   ├── ride_option_wallaroo@2x.png
│   │   │   │   │   │   ├── ride_option_wallaroo@3x.png
│   │   │   │   │   │   └── ride_option_wallaroo.png
│   │   │   │   │   └── ride_option_wallaroo_selected.imageset
│   │   │   │   │   ├── Contents.json
│   │   │   │   │   ├── ride_option_wallaroo_selected@2x.png
│   │   │   │   │   ├── ride_option_wallaroo_selected@3x.png
│   │   │   │   │   └── ride_option_wallaroo_selected.png
│   │   │   │   ├── ride_option_placeholder.imageset
│   │   │   │   │   ├── Contents.json
│   │   │   │   │   ├── ride_option_placeholder@2x.png
│   │   │   │   │   ├── ride_option_placeholder@3x.png
│   │   │   │   │   └── ride_option_placeholder.png
│   │   │   │   ├── ride_option_placeholder_selected.imageset
│   │   │   │   │   ├── Contents.json
│   │   │   │   │   ├── ride_option_wallabee_selected@2x.png
│   │   │   │   │   ├── ride_option_wallabee_selected@3x.png
│   │   │   │   │   └── ride_option_wallabee_selected.png
│   │   │   │   ├── SetPickupLocationLoader.imageset
│   │   │   │   │   ├── Contents.json
│   │   │   │   │   ├── set_pickup_location_loader@2x.png
│   │   │   │   │   ├── set_pickup_location_loader@3x.png
│   │   │   │   │   └── set_pickup_location_loader.png
│   │   │   │   └── success_message.imageset
│   │   │   │   ├── Contents.json
│   │   │   │   ├── success_message@2x.png
│   │   │   │   ├── success_message@3x.png
│   │   │   │   └── success_message.png
│   │   │   ├── roo-icon.imageset
│   │   │   │   ├── Contents.json
│   │   │   │   ├── roo-icon@2x.png
│   │   │   │   ├── roo-icon@3x.png
│   │   │   │   └── roo-icon.png
│   │   │   ├── rwdevcon-bg.imageset
│   │   │   │   ├── Contents.json
│   │   │   │   └── rwdevcon-bg.png
│   │   │   ├── rwdevcon-logo.imageset
│   │   │   │   ├── Contents.json
│   │   │   │   └── rwdevcon-logo.png
│   │   │   ├── rw-logo.imageset
│   │   │   │   ├── Contents.json
│   │   │   │   └── Razewarelogo_1024.png
│   │   │   └── SelectPaymentMethod
│   │   │   ├── card_icon.imageset
│   │   │   │   ├── card_icon@2x.png
│   │   │   │   ├── card_icon@3x.png
│   │   │   │   ├── card_icon.png
│   │   │   │   └── Contents.json
│   │   │   ├── Contents.json
│   │   │   └── selected_icon.imageset
│   │   │   ├── Contents.json
│   │   │   ├── selected_icon@2x.png
│   │   │   ├── selected_icon@3x.png
│   │   │   └── selected_icon.png
│   │   ├── Info.plist
│   │   └── RWDevConLaunchScreen.xib
│   ├── KooberApp.xcodeproj
│   │   ├── project.pbxproj
│   │   ├── project.xcworkspace
│   │   │   ├── contents.xcworkspacedata
│   │   │   └── xcshareddata
│   │   │   └── IDEWorkspaceChecks.plist
│   │   └── xcshareddata
│   │   └── xcschemes
│   │   ├── Koober-iOS.xcscheme
│   │   ├── KooberKit.xcscheme
│   │   ├── KooberUIKit.xcscheme
│   │   └── Koober.xcscheme
│   ├── Koober_iOS
│   │   ├── Info.plist
│   │   ├── iOSApp
│   │   │   ├── KooberAppDepedencyContainer.swift
│   │   │   ├── LaunchRootView.swift
│   │   │   ├── LaunchViewController.swift
│   │   │   ├── MainViewController.swift
│   │   │   ├── Onboarding
│   │   │   │   ├── KooberOnboardingDependencyContainer.swift
│   │   │   │   ├── OnboardingViewController.swift
│   │   │   │   ├── SignIn
│   │   │   │   │   ├── SignInRootView.swift
│   │   │   │   │   └── SignInViewController.swift
│   │   │   │   ├── SignUp
│   │   │   │   │   ├── SignUpRootView.swift
│   │   │   │   │   └── SignUpViewController.swift
│   │   │   │   └── Welcome
│   │   │   │   ├── WelcomeRootView.swift
│   │   │   │   └── WelcomeViewController.swift
│   │   │   └── SignedIn
│   │   │   ├── GettingUsersLocation
│   │   │   │   ├── GettingUsersLocationRootView.swift
│   │   │   │   └── GettingUsersLocationViewController.swift
│   │   │   ├── KooberSignedInDependencyContainer.swift
│   │   │   ├── PickMeUp
│   │   │   │   ├── KooberPickMeUpDependencyContainer.swift
│   │   │   │   ├── Map
│   │   │   │   │   ├── MapAnnotationView.swift
│   │   │   │   │   ├── Model
│   │   │   │   │   │   ├── MapAnnotationDiff.swift
│   │   │   │   │   │   ├── MapAnnotation+MapKit.swift
│   │   │   │   │   │   ├── MapAnnotation.swift
│   │   │   │   │   │   ├── MapAnnotationType.swift
│   │   │   │   │   │   └── MapViewState.swift
│   │   │   │   │   ├── PickMeUpMapRootView.swift
│   │   │   │   │   └── PickMeUpMapViewController.swift
│   │   │   │   ├── PickMeUpRootView.swift
│   │   │   │   ├── PickMeUpViewController.swift
│   │   │   │   ├── SelectDropoffLocation
│   │   │   │   │   ├── DropoffLocationPickerContentRootView.swift
│   │   │   │   │   ├── DropoffLocationPickerContentViewController.swift
│   │   │   │   │   └── DropoffLocationPickerViewController.swift
│   │   │   │   ├── SelectRideOption
│   │   │   │   │   ├── Button
│   │   │   │   │   │   ├── RideOptionButton.swift
│   │   │   │   │   │   └── RideOptionSegmentButtonImageLoader.swift
│   │   │   │   │   ├── RideOptionPickerViewController.swift
│   │   │   │   │   └── RideOptionSegmentedControl.swift
│   │   │   │   └── SendRideRequest
│   │   │   │   ├── SendingRideRequestRootView.swift
│   │   │   │   └── SendingRideRequestViewController.swift
│   │   │   ├── SignedInRootView.swift
│   │   │   ├── SignedInViewController.swift
│   │   │   ├── ViewProfile
│   │   │   │   ├── ProfileContentRootView.swift
│   │   │   │   ├── ProfileContentViewController.swift
│   │   │   │   ├── ProfileTableView.swift
│   │   │   │   └── ProfileViewController.swift
│   │   │   └── WaitingForPickup
│   │   │   ├── WaitingForPickupRootView.swift
│   │   │   └── WaitingForPickupViewController.swift
│   │   └── Koober_iOS.h
│   ├── KooberKit
│   │   ├── DataLayer
│   │   │   ├── Model
│   │   │   │   ├── ErrorMessage.swift
│   │   │   │   ├── ErrorPresentation.swift
│   │   │   │   ├── FakeURL.swift
│   │   │   │   ├── Identifiable.swift
│   │   │   │   ├── KooberKitActionDispatcher.swift
│   │   │   │   ├── KooberKitError.swift
│   │   │   │   ├── LoadedState.swift
│   │   │   │   ├── Location.swift
│   │   │   │   ├── NamedLocation.swift
│   │   │   │   ├── NewAccount.swift
│   │   │   │   ├── NewRideRequest.swift
│   │   │   │   ├── RemoteImage.swift
│   │   │   │   ├── RideOptionPickerRideOptions.swift
│   │   │   │   ├── RideOption.swift
│   │   │   │   ├── Secret.swift
│   │   │   │   ├── UserProfile.swift
│   │   │   │   └── UserSession.swift
│   │   │   ├── Repositories
│   │   │   │   ├── Coding
│   │   │   │   │   └── UserSession
│   │   │   │   │   ├── Implementations
│   │   │   │   │   │   └── UserSessionPropertyListCoder.swift
│   │   │   │   │   └── UserSessionCoding.swift
│   │   │   │   ├── KooberLocationRepository.swift
│   │   │   │   ├── KooberNewRideRepository.swift
│   │   │   │   ├── KooberRideOptionRepository.swift
│   │   │   │   ├── Location
│   │   │   │   │   ├── Implementations
│   │   │   │   │   │   └── FakeLocator.swift
│   │   │   │   │   └── Locator.swift
│   │   │   │   ├── LocationRepository.swift
│   │   │   │   ├── NewRideRepository.swift
│   │   │   │   ├── Persistence
│   │   │   │   │   ├── RideOptionStore
│   │   │   │   │   │   ├── Implementations
│   │   │   │   │   │   │   ├── RideOptionDataStoreDiskUserPrefs.swift
│   │   │   │   │   │   │   └── RideOptionDataStoreInMemory.swift
│   │   │   │   │   │   └── RideOptionDataStore.swift
│   │   │   │   │   └── UserSessionStore
│   │   │   │   │   ├── Implementations
│   │   │   │   │   │   ├── FakeUserSessionDataStore.swift
│   │   │   │   │   │   ├── FileUserSessionDataStore.swift
│   │   │   │   │   │   ├── InMemoryUserSessionDataStore.swift
│   │   │   │   │   │   └── Keychain
│   │   │   │   │   │   ├── KeychainItem.swift
│   │   │   │   │   │   ├── Keychain.swift
│   │   │   │   │   │   └── KeychainUserSessionDataStore.swift
│   │   │   │   │   └── UserSessionDataStore.swift
│   │   │   │   ├── Remote
│   │   │   │   │   ├── Auth
│   │   │   │   │   │   ├── AuthRemoteAPI.swift
│   │   │   │   │   │   └── Implementations
│   │   │   │   │   │   ├── FakeAuthRemoteAPI.swift
│   │   │   │   │   │   └── KooberCloudAuthRemoteAPI.swift
│   │   │   │   │   ├── NewRide
│   │   │   │   │   │   ├── Implementations
│   │   │   │   │   │   │   ├── FakeNewRideRemoteAPI.swift
│   │   │   │   │   │   │   └── KooberCloudNewRideRemoteAPI.swift
│   │   │   │   │   │   └── NewRideRemoteAPI.swift
│   │   │   │   │   └── RemoteUserSession.swift
│   │   │   │   └── RideOptionRepository.swift
│   │   │   └── StatePersisters
│   │   │   ├── ReduxUserSessionStatePersister.swift
│   │   │   └── UserSessionStatePersister.swift
│   │   ├── Info.plist
│   │   ├── KooberKit.h
│   │   ├── Reusable
│   │   │   ├── ReSwiftDiagnostics
│   │   │   │   └── ActionPrinterMiddleware.swift
│   │   │   ├── ReSwiftExtensions
│   │   │   │   └── RxSwift
│   │   │   │   ├── StoreSubscriberRxProxy.swift
│   │   │   │   └── StoreSubscriptionExtensions.swift
│   │   │   ├── RxSwiftExtensions
│   │   │   │   └── ObservableOperators.swift
│   │   │   └── SwiftExtensions
│   │   │   └── OptionalExtensions.swift
│   │   └── UILayer
│   │   ├── Features
│   │   │   ├── Launching
│   │   │   │   ├── Redux
│   │   │   │   │   ├── LaunchingActions.swift
│   │   │   │   │   └── LaunchingReducer.swift
│   │   │   │   ├── State
│   │   │   │   │   └── LaunchViewControllerState.swift
│   │   │   │   └── UserInteractions
│   │   │   │   ├── LaunchingUserInteractions.swift
│   │   │   │   └── ReduxLaunchingUserInteractions.swift
│   │   │   └── Running
│   │   │   ├── Features
│   │   │   │   ├── Onboard
│   │   │   │   │   ├── Features
│   │   │   │   │   │   ├── SignIn
│   │   │   │   │   │   │   ├── Redux
│   │   │   │   │   │   │   │   ├── SignInActions.swift
│   │   │   │   │   │   │   │   ├── SignInLogic.swift
│   │   │   │   │   │   │   │   └── SignInReducer.swift
│   │   │   │   │   │   │   ├── SignInViewState.swift
│   │   │   │   │   │   │   ├── State
│   │   │   │   │   │   │   │   └── SignInViewControllerState.swift
│   │   │   │   │   │   │   └── UserInteractions
│   │   │   │   │   │   │   ├── ReduxSignInUserInteractions.swift
│   │   │   │   │   │   │   └── SignInUserInteractions.swift
│   │   │   │   │   │   ├── SignUp
│   │   │   │   │   │   │   ├── Redux
│   │   │   │   │   │   │   │   ├── SignUpActions.swift
│   │   │   │   │   │   │   │   └── SignUpReducer.swift
│   │   │   │   │   │   │   ├── State
│   │   │   │   │   │   │   │   └── SignUpViewControllerState.swift
│   │   │   │   │   │   │   └── UserInteractions
│   │   │   │   │   │   │   ├── ReduxSignUpUserInteractions.swift
│   │   │   │   │   │   │   └── SignUpUserInteractions.swift
│   │   │   │   │   │   └── Welcome
│   │   │   │   │   │   ├── Redux
│   │   │   │   │   │   │   └── WelcomeActions.swift
│   │   │   │   │   │   └── UserInteractions
│   │   │   │   │   │   ├── ReduxWelcomeUserInteractions.swift
│   │   │   │   │   │   └── WelcomeUserInteractions.swift
│   │   │   │   │   ├── Redux
│   │   │   │   │   │   ├── OnboardingActions.swift
│   │   │   │   │   │   ├── OnboardingLogic.swift
│   │   │   │   │   │   └── OnboardingReducer.swift
│   │   │   │   │   ├── State
│   │   │   │   │   │   ├── OnboardingGetters.swift
│   │   │   │   │   │   └── OnboardingState.swift
│   │   │   │   │   └── UserInteractions
│   │   │   │   │   ├── OnboardingUserInteractions.swift
│   │   │   │   │   └── ReduxOnboardingUserInteractions.swift
│   │   │   │   └── SignedIn
│   │   │   │   ├── Features
│   │   │   │   │   ├── GettingUsersLocation
│   │   │   │   │   │   ├── Redux
│   │   │   │   │   │   │   ├── GettingUsersLocationActions.swift
│   │   │   │   │   │   │   └── GettingUsersLocationReducer.swift
│   │   │   │   │   │   ├── State
│   │   │   │   │   │   │   └── GettingUsersLocationViewControllerState.swift
│   │   │   │   │   │   └── UserInteractions
│   │   │   │   │   │   ├── GettingUsersLocationUserInteractions.swift
│   │   │   │   │   │   └── ReduxGettingUsersLocationUserInteractions.swift
│   │   │   │   │   ├── PickMeUp
│   │   │   │   │   │   ├── Features
│   │   │   │   │   │   │   ├── Map
│   │   │   │   │   │   │   │   └── State
│   │   │   │   │   │   │   │   └── MapViewControllerState.swift
│   │   │   │   │   │   │   ├── SelectDropoffLocation
│   │   │   │   │   │   │   │   ├── Redux
│   │   │   │   │   │   │   │   │   ├── DropoffLocationPickerActions.swift
│   │   │   │   │   │   │   │   │   └── DropoffLocationPickerReducer.swift
│   │   │   │   │   │   │   │   ├── State
│   │   │   │   │   │   │   │   │   └── DropoffLocationPickerViewControllerState.swift
│   │   │   │   │   │   │   │   └── UserInteractions
│   │   │   │   │   │   │   │   ├── DropoffLocationPickerUserInteractions.swift
│   │   │   │   │   │   │   │   └── ReduxDropoffLocationPickerUserInteractions.swift
│   │   │   │   │   │   │   └── SelectRideOption
│   │   │   │   │   │   │   ├── Redux
│   │   │   │   │   │   │   │   ├── RideOptionPickerActions.swift
│   │   │   │   │   │   │   │   └── RideOptionPickerReducer.swift
│   │   │   │   │   │   │   ├── State
│   │   │   │   │   │   │   │   ├── RideOptionPickerViewControllerState.swift
│   │   │   │   │   │   │   │   ├── RideOptionSegmentedControlState.swift
│   │   │   │   │   │   │   │   ├── RideOptionSegmentsFactory.swift
│   │   │   │   │   │   │   │   └── RideOptionSegmentState.swift
│   │   │   │   │   │   │   └── UserInteractions
│   │   │   │   │   │   │   ├── ReduxRideOptionPickerUserInteractions.swift
│   │   │   │   │   │   │   └── RideOptionPickerUserInteractions.swift
│   │   │   │   │   │   ├── Redux
│   │   │   │   │   │   │   ├── PickMeUpActions.swift
│   │   │   │   │   │   │   └── PickMeUpReducer.swift
│   │   │   │   │   │   ├── State
│   │   │   │   │   │   │   ├── PickMeUpGetters.swift
│   │   │   │   │   │   │   ├── PickMeUpRequestProgress.swift
│   │   │   │   │   │   │   ├── PickMeUpState.swift
│   │   │   │   │   │   │   └── PickMeUpViewControllerState.swift
│   │   │   │   │   │   └── UserInteractions
│   │   │   │   │   │   ├── PickMeUpUserInteractions.swift
│   │   │   │   │   │   └── ReduxPickMeUpUserInteractions.swift
│   │   │   │   │   ├── ViewProfile
│   │   │   │   │   │   ├── Redux
│   │   │   │   │   │   │   ├── ProfileActions.swift
│   │   │   │   │   │   │   └── ProfileReducer.swift
│   │   │   │   │   │   ├── State
│   │   │   │   │   │   │   └── ProfileViewControllerState.swift
│   │   │   │   │   │   └── UserInteractions
│   │   │   │   │   │   ├── ProfileUserInteractions.swift
│   │   │   │   │   │   └── ReduxProfileUserInteractions.swift
│   │   │   │   │   └── WaitingForPickup
│   │   │   │   │   └── UserInteractions
│   │   │   │   │   ├── ReduxWaitingForPickupUserInteractions.swift
│   │   │   │   │   └── WaitingForPickupUserInteractions.swift
│   │   │   │   ├── Redux
│   │   │   │   │   ├── NewRideReducer.swift
│   │   │   │   │   ├── SignedInActions.swift
│   │   │   │   │   └── SignedInReducer.swift
│   │   │   │   ├── State
│   │   │   │   │   ├── NewRideState.swift
│   │   │   │   │   ├── SignedInGetters.swift
│   │   │   │   │   └── SignedInViewControllerState.swift
│   │   │   │   └── UserInteractions
│   │   │   │   ├── ReduxSignedInUserInteractions.swift
│   │   │   │   └── SignedInUserInteractions.swift
│   │   │   ├── Redux
│   │   │   │   ├── AppRunningActions.swift
│   │   │   │   └── AppRunningReducer.swift
│   │   │   └── State
│   │   │   ├── AppRunningGetters.swift
│   │   │   └── AppRunningState.swift
│   │   ├── Redux
│   │   │   ├── AppLogic.swift
│   │   │   └── AppReducer.swift
│   │   ├── Reusable
│   │   │   ├── AuthenticationState.swift
│   │   │   ├── Reducers.swift
│   │   │   └── ScopedState.swift
│   │   └── State
│   │   ├── AppState.swift
│   │   ├── EntryPointGetters.swift
│   │   └── MainViewControllerState.swift
│   └── KooberUIKit
│   ├── Info.plist
│   ├── KooberUIKit.h
│   └── Reusable
│   ├── ErrorMessagePresentation.swift
│   ├── Image Cache
│   │   ├── ImageCache.swift
│   │   └── Implementations
│   │   ├── ImageCacheKingfisher.swift
│   │   └── InBundleImageCache.swift
│   ├── Style
│   │   ├── Color.swift
│   │   └── UIColor+Hex.swift
│   └── UIKit
│   ├── NiblessComponents
│   │   ├── NiblessNavigationController.swift
│   │   ├── NiblessTableView.swift
│   │   ├── NiblessViewController.swift
│   │   └── NiblessView.swift
│   ├── ObservableUISearchController.swift
│   ├── UIStackViewExtensions.swift
│   ├── UITableViewCellIdentifiers.swift
│   ├── UIViewController+ErrorPresentation.swift
│   └── ViewControllerContainment.swift
├── Advanced_iOS_App_Architecture_v0.1.epub
├── Advanced_iOS_App_Architecture_v0.1.pdf
└── __MACOSX
└── 06-architecture-redux

1723 directories, 7249 files

标签:

实例下载地址

Raywenderlich_Advanced_iOS_App_Architecture_v0.1

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警