gitextract_rw2t5x3v/ ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── Bug_report.md │ │ └── Feature_request.md │ └── workflows/ │ ├── feature.yml │ └── release.yml ├── .gitignore ├── .gitmodules ├── LICENSE ├── LaunchHelper/ │ ├── LaunchHelper/ │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Assets.xcassets/ │ │ │ └── AppIcon.appiconset/ │ │ │ └── Contents.json │ │ ├── Base.lproj/ │ │ │ └── MainMenu.xib │ │ ├── Info.plist │ │ └── main.m │ └── LaunchHelper.xcodeproj/ │ └── project.pbxproj ├── Makefile ├── Podfile ├── Pods/ │ ├── Alamofire/ │ │ ├── LICENSE │ │ ├── README.md │ │ └── Source/ │ │ ├── AFError.swift │ │ ├── Alamofire.swift │ │ ├── AlamofireExtended.swift │ │ ├── AuthenticationInterceptor.swift │ │ ├── CachedResponseHandler.swift │ │ ├── Combine.swift │ │ ├── DispatchQueue+Alamofire.swift │ │ ├── EventMonitor.swift │ │ ├── HTTPHeaders.swift │ │ ├── HTTPMethod.swift │ │ ├── MultipartFormData.swift │ │ ├── MultipartUpload.swift │ │ ├── NetworkReachabilityManager.swift │ │ ├── Notifications.swift │ │ ├── OperationQueue+Alamofire.swift │ │ ├── ParameterEncoder.swift │ │ ├── ParameterEncoding.swift │ │ ├── Protected.swift │ │ ├── RedirectHandler.swift │ │ ├── Request.swift │ │ ├── RequestInterceptor.swift │ │ ├── RequestTaskMap.swift │ │ ├── Response.swift │ │ ├── ResponseSerialization.swift │ │ ├── Result+Alamofire.swift │ │ ├── RetryPolicy.swift │ │ ├── ServerTrustEvaluation.swift │ │ ├── Session.swift │ │ ├── SessionDelegate.swift │ │ ├── StringEncoding+Alamofire.swift │ │ ├── URLConvertible+URLRequestConvertible.swift │ │ ├── URLEncodedFormEncoder.swift │ │ ├── URLRequest+Alamofire.swift │ │ ├── URLSessionConfiguration+Alamofire.swift │ │ └── Validation.swift │ ├── BRLOptionParser/ │ │ ├── BRLOptionParser/ │ │ │ ├── BRLOptionParser.h │ │ │ └── BRLOptionParser.m │ │ ├── LICENSE │ │ └── README.markdown │ ├── GCDWebServer/ │ │ ├── GCDWebServer/ │ │ │ ├── Core/ │ │ │ │ ├── GCDWebServer.h │ │ │ │ ├── GCDWebServer.m │ │ │ │ ├── GCDWebServerConnection.h │ │ │ │ ├── GCDWebServerConnection.m │ │ │ │ ├── GCDWebServerFunctions.h │ │ │ │ ├── GCDWebServerFunctions.m │ │ │ │ ├── GCDWebServerHTTPStatusCodes.h │ │ │ │ ├── GCDWebServerPrivate.h │ │ │ │ ├── GCDWebServerRequest.h │ │ │ │ ├── GCDWebServerRequest.m │ │ │ │ ├── GCDWebServerResponse.h │ │ │ │ └── GCDWebServerResponse.m │ │ │ ├── Requests/ │ │ │ │ ├── GCDWebServerDataRequest.h │ │ │ │ ├── GCDWebServerDataRequest.m │ │ │ │ ├── GCDWebServerFileRequest.h │ │ │ │ ├── GCDWebServerFileRequest.m │ │ │ │ ├── GCDWebServerMultiPartFormRequest.h │ │ │ │ ├── GCDWebServerMultiPartFormRequest.m │ │ │ │ ├── GCDWebServerURLEncodedFormRequest.h │ │ │ │ └── GCDWebServerURLEncodedFormRequest.m │ │ │ └── Responses/ │ │ │ ├── GCDWebServerDataResponse.h │ │ │ ├── GCDWebServerDataResponse.m │ │ │ ├── GCDWebServerErrorResponse.h │ │ │ ├── GCDWebServerErrorResponse.m │ │ │ ├── GCDWebServerFileResponse.h │ │ │ ├── GCDWebServerFileResponse.m │ │ │ ├── GCDWebServerStreamedResponse.h │ │ │ └── GCDWebServerStreamedResponse.m │ │ ├── LICENSE │ │ └── README.md │ ├── MASShortcut/ │ │ ├── Framework/ │ │ │ ├── Model/ │ │ │ │ ├── MASKeyCodes.h │ │ │ │ ├── MASKeyMasks.h │ │ │ │ ├── MASShortcut.h │ │ │ │ ├── MASShortcut.m │ │ │ │ ├── MASShortcutValidator.h │ │ │ │ └── MASShortcutValidator.m │ │ │ ├── Monitoring/ │ │ │ │ ├── MASHotKey.h │ │ │ │ ├── MASHotKey.m │ │ │ │ ├── MASShortcutMonitor.h │ │ │ │ └── MASShortcutMonitor.m │ │ │ ├── Shortcut.h │ │ │ ├── UI/ │ │ │ │ ├── MASLocalization.h │ │ │ │ ├── MASLocalization.m │ │ │ │ ├── MASShortcutView+Bindings.h │ │ │ │ ├── MASShortcutView+Bindings.m │ │ │ │ ├── MASShortcutView.h │ │ │ │ └── MASShortcutView.m │ │ │ └── User Defaults Storage/ │ │ │ ├── MASDictionaryTransformer.h │ │ │ ├── MASDictionaryTransformer.m │ │ │ ├── MASShortcutBinder.h │ │ │ └── MASShortcutBinder.m │ │ ├── LICENSE │ │ ├── README.md │ │ └── Resources/ │ │ ├── cs.lproj/ │ │ │ └── Localizable.strings │ │ ├── de.lproj/ │ │ │ └── Localizable.strings │ │ ├── en.lproj/ │ │ │ └── Localizable.strings │ │ ├── es.lproj/ │ │ │ └── Localizable.strings │ │ ├── fr.lproj/ │ │ │ └── Localizable.strings │ │ ├── it.lproj/ │ │ │ └── Localizable.strings │ │ ├── ja.lproj/ │ │ │ └── Localizable.strings │ │ ├── ko.lproj/ │ │ │ └── Localizable.strings │ │ ├── nl.lproj/ │ │ │ └── Localizable.strings │ │ ├── pl.lproj/ │ │ │ └── Localizable.strings │ │ ├── pt.lproj/ │ │ │ └── Localizable.strings │ │ ├── ru.lproj/ │ │ │ └── Localizable.strings │ │ ├── sv.lproj/ │ │ │ └── Localizable.strings │ │ ├── zh-Hans.lproj/ │ │ │ └── Localizable.strings │ │ └── zh-Hant.lproj/ │ │ └── Localizable.strings │ ├── Pods.xcodeproj/ │ │ └── project.pbxproj │ ├── RxCocoa/ │ │ ├── LICENSE.md │ │ ├── Platform/ │ │ │ ├── DataStructures/ │ │ │ │ ├── Bag.swift │ │ │ │ ├── InfiniteSequence.swift │ │ │ │ ├── PriorityQueue.swift │ │ │ │ └── Queue.swift │ │ │ ├── DispatchQueue+Extensions.swift │ │ │ ├── Platform.Darwin.swift │ │ │ ├── Platform.Linux.swift │ │ │ └── RecursiveLock.swift │ │ ├── README.md │ │ └── RxCocoa/ │ │ ├── Common/ │ │ │ ├── ControlTarget.swift │ │ │ ├── DelegateProxy.swift │ │ │ ├── DelegateProxyType.swift │ │ │ ├── Infallible+Bind.swift │ │ │ ├── Observable+Bind.swift │ │ │ ├── RxCocoaObjCRuntimeError+Extensions.swift │ │ │ ├── RxTarget.swift │ │ │ ├── SectionedViewDataSourceType.swift │ │ │ └── TextInput.swift │ │ ├── Foundation/ │ │ │ ├── KVORepresentable+CoreGraphics.swift │ │ │ ├── KVORepresentable+Swift.swift │ │ │ ├── KVORepresentable.swift │ │ │ ├── NSObject+Rx+KVORepresentable.swift │ │ │ ├── NSObject+Rx+RawRepresentable.swift │ │ │ ├── NSObject+Rx.swift │ │ │ ├── NotificationCenter+Rx.swift │ │ │ └── URLSession+Rx.swift │ │ ├── Runtime/ │ │ │ ├── _RX.m │ │ │ ├── _RXDelegateProxy.m │ │ │ ├── _RXKVOObserver.m │ │ │ ├── _RXObjCRuntime.m │ │ │ └── include/ │ │ │ ├── RxCocoaRuntime.h │ │ │ ├── _RX.h │ │ │ ├── _RXDelegateProxy.h │ │ │ ├── _RXKVOObserver.h │ │ │ └── _RXObjCRuntime.h │ │ ├── RxCocoa.h │ │ ├── RxCocoa.swift │ │ ├── Traits/ │ │ │ ├── ControlEvent.swift │ │ │ ├── ControlProperty.swift │ │ │ ├── Driver/ │ │ │ │ ├── BehaviorRelay+Driver.swift │ │ │ │ ├── ControlEvent+Driver.swift │ │ │ │ ├── ControlProperty+Driver.swift │ │ │ │ ├── Driver+Subscription.swift │ │ │ │ ├── Driver.swift │ │ │ │ └── ObservableConvertibleType+Driver.swift │ │ │ ├── SharedSequence/ │ │ │ │ ├── ObservableConvertibleType+SharedSequence.swift │ │ │ │ ├── SchedulerType+SharedSequence.swift │ │ │ │ ├── SharedSequence+Operators+arity.swift │ │ │ │ ├── SharedSequence+Operators.swift │ │ │ │ └── SharedSequence.swift │ │ │ └── Signal/ │ │ │ ├── ControlEvent+Signal.swift │ │ │ ├── ObservableConvertibleType+Signal.swift │ │ │ ├── PublishRelay+Signal.swift │ │ │ ├── Signal+Subscription.swift │ │ │ └── Signal.swift │ │ ├── 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 │ │ │ │ └── RxWKNavigationDelegateProxy.swift │ │ │ ├── UIActivityIndicatorView+Rx.swift │ │ │ ├── UIApplication+Rx.swift │ │ │ ├── UIBarButtonItem+Rx.swift │ │ │ ├── UIButton+Rx.swift │ │ │ ├── UICollectionView+Rx.swift │ │ │ ├── UIControl+Rx.swift │ │ │ ├── UIDatePicker+Rx.swift │ │ │ ├── UIGestureRecognizer+Rx.swift │ │ │ ├── UINavigationController+Rx.swift │ │ │ ├── UIPickerView+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 │ │ │ ├── UITabBar+Rx.swift │ │ │ ├── UITabBarController+Rx.swift │ │ │ ├── UITableView+Rx.swift │ │ │ ├── UITextField+Rx.swift │ │ │ ├── UITextView+Rx.swift │ │ │ └── WKWebView+Rx.swift │ │ └── macOS/ │ │ ├── NSButton+Rx.swift │ │ ├── NSControl+Rx.swift │ │ ├── NSSlider+Rx.swift │ │ ├── NSTextField+Rx.swift │ │ ├── NSTextView+Rx.swift │ │ └── NSView+Rx.swift │ ├── RxRelay/ │ │ ├── LICENSE.md │ │ ├── README.md │ │ └── RxRelay/ │ │ ├── BehaviorRelay.swift │ │ ├── Observable+Bind.swift │ │ ├── PublishRelay.swift │ │ ├── ReplayRelay.swift │ │ └── Utils.swift │ ├── RxSwift/ │ │ ├── LICENSE.md │ │ ├── Platform/ │ │ │ ├── AtomicInt.swift │ │ │ ├── DataStructures/ │ │ │ │ ├── Bag.swift │ │ │ │ ├── InfiniteSequence.swift │ │ │ │ ├── PriorityQueue.swift │ │ │ │ └── Queue.swift │ │ │ ├── DispatchQueue+Extensions.swift │ │ │ ├── Platform.Darwin.swift │ │ │ ├── Platform.Linux.swift │ │ │ └── RecursiveLock.swift │ │ ├── README.md │ │ └── RxSwift/ │ │ ├── AnyObserver.swift │ │ ├── Binder.swift │ │ ├── Cancelable.swift │ │ ├── Concurrency/ │ │ │ ├── AsyncLock.swift │ │ │ ├── Lock.swift │ │ │ ├── LockOwnerType.swift │ │ │ ├── SynchronizedDisposeType.swift │ │ │ ├── SynchronizedOnType.swift │ │ │ └── SynchronizedUnsubscribeType.swift │ │ ├── ConnectableObservableType.swift │ │ ├── Date+Dispatch.swift │ │ ├── Disposable.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 │ │ ├── Errors.swift │ │ ├── Event.swift │ │ ├── Extensions/ │ │ │ └── Bag+Rx.swift │ │ ├── GroupedObservable.swift │ │ ├── ImmediateSchedulerType.swift │ │ ├── Observable.swift │ │ ├── ObservableConvertibleType.swift │ │ ├── ObservableType+Extensions.swift │ │ ├── ObservableType.swift │ │ ├── Observables/ │ │ │ ├── AddRef.swift │ │ │ ├── Amb.swift │ │ │ ├── AsMaybe.swift │ │ │ ├── AsSingle.swift │ │ │ ├── Buffer.swift │ │ │ ├── Catch.swift │ │ │ ├── CombineLatest+Collection.swift │ │ │ ├── CombineLatest+arity.swift │ │ │ ├── CombineLatest.swift │ │ │ ├── CompactMap.swift │ │ │ ├── Concat.swift │ │ │ ├── Create.swift │ │ │ ├── Debounce.swift │ │ │ ├── Debug.swift │ │ │ ├── Decode.swift │ │ │ ├── DefaultIfEmpty.swift │ │ │ ├── Deferred.swift │ │ │ ├── Delay.swift │ │ │ ├── DelaySubscription.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 │ │ │ ├── Switch.swift │ │ │ ├── SwitchIfEmpty.swift │ │ │ ├── Take.swift │ │ │ ├── TakeLast.swift │ │ │ ├── TakeWithPredicate.swift │ │ │ ├── Throttle.swift │ │ │ ├── Timeout.swift │ │ │ ├── Timer.swift │ │ │ ├── ToArray.swift │ │ │ ├── Using.swift │ │ │ ├── Window.swift │ │ │ ├── WithLatestFrom.swift │ │ │ ├── WithUnretained.swift │ │ │ ├── Zip+Collection.swift │ │ │ ├── Zip+arity.swift │ │ │ └── Zip.swift │ │ ├── ObserverType.swift │ │ ├── Observers/ │ │ │ ├── AnonymousObserver.swift │ │ │ ├── ObserverBase.swift │ │ │ └── TailRecursiveSink.swift │ │ ├── Reactive.swift │ │ ├── Rx.swift │ │ ├── RxMutableBox.swift │ │ ├── SchedulerType.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 │ │ ├── Subjects/ │ │ │ ├── AsyncSubject.swift │ │ │ ├── BehaviorSubject.swift │ │ │ ├── PublishSubject.swift │ │ │ ├── ReplaySubject.swift │ │ │ └── SubjectType.swift │ │ ├── SwiftSupport/ │ │ │ └── SwiftSupport.swift │ │ └── Traits/ │ │ ├── Infallible/ │ │ │ ├── Infallible+CombineLatest+arity.swift │ │ │ ├── Infallible+Create.swift │ │ │ ├── Infallible+Operators.swift │ │ │ ├── Infallible+Zip+arity.swift │ │ │ ├── Infallible.swift │ │ │ └── ObservableConvertibleType+Infallible.swift │ │ └── PrimitiveSequence/ │ │ ├── Completable+AndThen.swift │ │ ├── Completable.swift │ │ ├── Maybe.swift │ │ ├── ObservableType+PrimitiveSequence.swift │ │ ├── PrimitiveSequence+Zip+arity.swift │ │ ├── PrimitiveSequence.swift │ │ └── Single.swift │ └── Target Support Files/ │ ├── Alamofire/ │ │ ├── Alamofire-Info.plist │ │ ├── Alamofire-dummy.m │ │ ├── Alamofire-prefix.pch │ │ ├── Alamofire-umbrella.h │ │ ├── Alamofire.debug.xcconfig │ │ ├── Alamofire.modulemap │ │ ├── Alamofire.release.xcconfig │ │ ├── Alamofire.xcconfig │ │ └── Info.plist │ ├── BRLOptionParser/ │ │ ├── BRLOptionParser-dummy.m │ │ ├── BRLOptionParser-prefix.pch │ │ ├── BRLOptionParser.debug.xcconfig │ │ ├── BRLOptionParser.release.xcconfig │ │ └── BRLOptionParser.xcconfig │ ├── GCDWebServer/ │ │ ├── GCDWebServer-Info.plist │ │ ├── GCDWebServer-dummy.m │ │ ├── GCDWebServer-prefix.pch │ │ ├── GCDWebServer-umbrella.h │ │ ├── GCDWebServer.debug.xcconfig │ │ ├── GCDWebServer.modulemap │ │ ├── GCDWebServer.release.xcconfig │ │ ├── GCDWebServer.xcconfig │ │ └── Info.plist │ ├── MASShortcut/ │ │ ├── Info.plist │ │ ├── MASShortcut-Info.plist │ │ ├── MASShortcut-dummy.m │ │ ├── MASShortcut-prefix.pch │ │ ├── MASShortcut-umbrella.h │ │ ├── MASShortcut.debug.xcconfig │ │ ├── MASShortcut.modulemap │ │ ├── MASShortcut.release.xcconfig │ │ ├── MASShortcut.xcconfig │ │ ├── ResourceBundle-MASShortcut-Info.plist │ │ └── ResourceBundle-MASShortcut-MASShortcut-Info.plist │ ├── Pods-ShadowsocksX-NG/ │ │ ├── Info.plist │ │ ├── Pods-ShadowsocksX-NG-Info.plist │ │ ├── Pods-ShadowsocksX-NG-acknowledgements.markdown │ │ ├── Pods-ShadowsocksX-NG-acknowledgements.plist │ │ ├── Pods-ShadowsocksX-NG-dummy.m │ │ ├── Pods-ShadowsocksX-NG-frameworks.sh │ │ ├── Pods-ShadowsocksX-NG-resources.sh │ │ ├── Pods-ShadowsocksX-NG-umbrella.h │ │ ├── Pods-ShadowsocksX-NG.debug.xcconfig │ │ ├── Pods-ShadowsocksX-NG.modulemap │ │ └── Pods-ShadowsocksX-NG.release.xcconfig │ ├── Pods-ShadowsocksX-NGTests/ │ │ ├── Info.plist │ │ ├── Pods-ShadowsocksX-NGTests-Info.plist │ │ ├── Pods-ShadowsocksX-NGTests-acknowledgements.markdown │ │ ├── Pods-ShadowsocksX-NGTests-acknowledgements.plist │ │ ├── Pods-ShadowsocksX-NGTests-dummy.m │ │ ├── Pods-ShadowsocksX-NGTests-frameworks.sh │ │ ├── Pods-ShadowsocksX-NGTests-resources.sh │ │ ├── Pods-ShadowsocksX-NGTests-umbrella.h │ │ ├── Pods-ShadowsocksX-NGTests.debug.xcconfig │ │ ├── Pods-ShadowsocksX-NGTests.modulemap │ │ └── Pods-ShadowsocksX-NGTests.release.xcconfig │ ├── Pods-proxy_conf_helper/ │ │ ├── Pods-proxy_conf_helper-acknowledgements.markdown │ │ ├── Pods-proxy_conf_helper-acknowledgements.plist │ │ ├── Pods-proxy_conf_helper-dummy.m │ │ ├── Pods-proxy_conf_helper-frameworks.sh │ │ ├── Pods-proxy_conf_helper-resources.sh │ │ ├── Pods-proxy_conf_helper.debug.xcconfig │ │ └── Pods-proxy_conf_helper.release.xcconfig │ ├── RxCocoa/ │ │ ├── Info.plist │ │ ├── RxCocoa-Info.plist │ │ ├── RxCocoa-dummy.m │ │ ├── RxCocoa-prefix.pch │ │ ├── RxCocoa-umbrella.h │ │ ├── RxCocoa.debug.xcconfig │ │ ├── RxCocoa.modulemap │ │ ├── RxCocoa.release.xcconfig │ │ └── RxCocoa.xcconfig │ ├── RxRelay/ │ │ ├── RxRelay-Info.plist │ │ ├── RxRelay-dummy.m │ │ ├── RxRelay-prefix.pch │ │ ├── RxRelay-umbrella.h │ │ ├── RxRelay.debug.xcconfig │ │ ├── RxRelay.modulemap │ │ └── RxRelay.release.xcconfig │ └── RxSwift/ │ ├── Info.plist │ ├── RxSwift-Info.plist │ ├── RxSwift-dummy.m │ ├── RxSwift-prefix.pch │ ├── RxSwift-umbrella.h │ ├── RxSwift.debug.xcconfig │ ├── RxSwift.modulemap │ ├── RxSwift.release.xcconfig │ └── RxSwift.xcconfig ├── README.md ├── ShadowsocksX-NG/ │ ├── AppDelegate.swift │ ├── Assets.xcassets/ │ │ ├── AppIcon.appiconset/ │ │ │ └── Contents.json │ │ └── Contents.json │ ├── Base.lproj/ │ │ ├── ImportWindowController.xib │ │ ├── Localizable.strings │ │ ├── MainMenu.xib │ │ ├── PreferencesWinController.xib │ │ ├── PreferencesWindowController.xib │ │ ├── ShareServerProfilesWindowController.xib │ │ └── UserRulesController.xib │ ├── Credits.rtf │ ├── Diagnose.swift │ ├── ImportWindowController.swift │ ├── Info.plist │ ├── LaunchAgentUtils.swift │ ├── LaunchAtLoginController.h │ ├── LaunchAtLoginController.m │ ├── Notifications.swift │ ├── PACURLFormatter.swift │ ├── PACUtils.swift │ ├── PreferencesWinController.swift │ ├── PreferencesWindowController.swift │ ├── ProxyConfHelper.h │ ├── ProxyConfHelper.m │ ├── ProxyConfTool.h │ ├── ProxyConfTool.m │ ├── ProxyInterfacesViewCtrl.swift │ ├── SWBApplication.h │ ├── SWBApplication.m │ ├── SWBQRCodeWindowController.h │ ├── SWBQRCodeWindowController.m │ ├── SWBQRCodeWindowController.xib │ ├── ServerProfile.swift │ ├── ServerProfileManager.swift │ ├── ShadowsocksX-NG-Bridging-Header.h │ ├── ShareServerProfilesWindowController.swift │ ├── ShortcutsController.h │ ├── ShortcutsController.m │ ├── ToastWindowController.swift │ ├── ToastWindowController.xib │ ├── UserRulesController.swift │ ├── Utils.h │ ├── Utils.m │ ├── Utils.swift │ ├── abp.js │ ├── fix_dir_owner.sh │ ├── gfwlist.txt │ ├── install_helper.sh │ ├── kcptun/ │ │ ├── install_kcptun.sh │ │ └── kcptun.sh │ ├── privoxy/ │ │ ├── install_privoxy.sh │ │ ├── privoxy.template.config │ │ ├── start_privoxy.sh │ │ ├── stop_privoxy.sh │ │ └── user-privoxy.config │ ├── proxy_conf_helper_version.h │ ├── simple-obfs/ │ │ └── install_simple_obfs.sh │ ├── ss-local/ │ │ ├── install_ss_local.sh │ │ ├── start_ss_local.sh │ │ └── stop_ss_local.sh │ ├── user-rule.txt │ ├── v2ray-plugin/ │ │ └── install_v2ray_plugin.sh │ └── zh-Hans.lproj/ │ ├── ImportWindowController.strings │ ├── Localizable.strings │ ├── MainMenu.strings │ ├── PreferencesWinController.strings │ ├── PreferencesWindowController.strings │ ├── ShareServerProfilesWindowController.strings │ └── UserRulesController.strings ├── ShadowsocksX-NG.xcodeproj/ │ ├── project.pbxproj │ └── xcshareddata/ │ └── xcschemes/ │ ├── ShadowsocksX-NG.xcscheme │ ├── ShadowsocksX-NGTests.xcscheme │ └── proxy_conf_helper.xcscheme ├── ShadowsocksX-NG.xcworkspace/ │ └── xcshareddata/ │ └── WorkspaceSettings.xcsettings ├── ShadowsocksX-NGTests/ │ ├── Info.plist │ ├── ServerProfileTests.swift │ └── ShadowsocksX_NGTests.swift ├── _config.yml ├── deps/ │ ├── Makefile │ └── patch/ │ └── privoxy/ │ └── configure.in.patch ├── genstrings.py └── proxy_conf_helper/ └── main.m