From 48e42b83c11106cc25da4c1f952a23cbc1bd952d Mon Sep 17 00:00:00 2001 From: Rudy Yang Date: Tue, 24 Oct 2017 14:23:36 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E4=BD=BF=E7=94=A8cocoapods=E9=9B=86?= =?UTF-8?q?=E6=88=90PingUtil=202=E3=80=81=E5=9C=A8=E5=AF=BC=E5=85=A5?= =?UTF-8?q?=E3=80=81=E6=96=B0=E5=A2=9E=E3=80=81=E4=BF=AE=E6=94=B9=E7=9A=84?= =?UTF-8?q?=E6=97=B6=E5=80=99=E5=88=B7=E6=96=B0ping=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Podfile | 1 + Podfile.lock | 7 +- Pods/Manifest.lock | 7 +- Pods/Pods.xcodeproj/project.pbxproj | 4022 +++++++++-------- .../Alamofire/Alamofire.xcconfig | 6 +- .../BRLOptionParser/BRLOptionParser.xcconfig | 6 +- .../GCDWebServer/GCDWebServer.xcconfig | 6 +- .../MASShortcut/MASShortcut.xcconfig | 6 +- ...-ShadowsocksX-NG-acknowledgements.markdown | 23 + ...ods-ShadowsocksX-NG-acknowledgements.plist | 29 + .../Pods-ShadowsocksX-NG-frameworks.sh | 43 +- .../Pods-ShadowsocksX-NG-resources.sh | 25 +- .../Pods-ShadowsocksX-NG.debug.xcconfig | 11 +- .../Pods-ShadowsocksX-NG.release.xcconfig | 11 +- .../Pods-ShadowsocksX-NGTests-frameworks.sh | 21 +- .../Pods-ShadowsocksX-NGTests-resources.sh | 25 +- .../Pods-ShadowsocksX-NGTests.debug.xcconfig | 11 +- ...Pods-ShadowsocksX-NGTests.release.xcconfig | 11 +- .../Pods-proxy_conf_helper-frameworks.sh | 21 +- .../Pods-proxy_conf_helper-resources.sh | 25 +- .../Pods-proxy_conf_helper.debug.xcconfig | 7 +- .../Pods-proxy_conf_helper.release.xcconfig | 7 +- .../RxCocoa/RxCocoa.xcconfig | 8 +- .../RxSwift/RxSwift.xcconfig | 6 +- .../XYPingUtil/Info.plist | 26 + .../XYPingUtil/XYPingUtil-dummy.m | 5 + .../XYPingUtil/XYPingUtil-prefix.pch | 12 + .../XYPingUtil/XYPingUtil-umbrella.h | 19 + .../XYPingUtil/XYPingUtil.modulemap | 6 + .../XYPingUtil/XYPingUtil.xcconfig | 11 + Pods/XYPingUtil/LICENSE | 19 + Pods/XYPingUtil/PingUtil/PingManager.h | 14 + Pods/XYPingUtil/PingUtil/PingManager.m | 267 ++ Pods/XYPingUtil/PingUtil/PingUtil.h | 24 + Pods/XYPingUtil/PingUtil/PingUtil.m | 36 + Pods/XYPingUtil/PingUtil/SimplePing.h | 272 ++ Pods/XYPingUtil/PingUtil/SimplePing.m | 782 ++++ Pods/XYPingUtil/README.md | 1 + ShadowsocksX-NG.xcodeproj/project.pbxproj | 28 +- ShadowsocksX-NG/AppDelegate.swift | 3 +- .../Base.lproj/Localizable.strings | 2 + .../PreferencesWindowController.swift | 1 + ShadowsocksX-NG/ServerProfile.swift | 24 +- ShadowsocksX-NG/ServerProfileManager.swift | 7 + .../zh-Hans.lproj/Localizable.strings | 2 + 45 files changed, 3859 insertions(+), 2047 deletions(-) create mode 100644 Pods/Target Support Files/XYPingUtil/Info.plist create mode 100644 Pods/Target Support Files/XYPingUtil/XYPingUtil-dummy.m create mode 100644 Pods/Target Support Files/XYPingUtil/XYPingUtil-prefix.pch create mode 100644 Pods/Target Support Files/XYPingUtil/XYPingUtil-umbrella.h create mode 100644 Pods/Target Support Files/XYPingUtil/XYPingUtil.modulemap create mode 100644 Pods/Target Support Files/XYPingUtil/XYPingUtil.xcconfig create mode 100755 Pods/XYPingUtil/LICENSE create mode 100644 Pods/XYPingUtil/PingUtil/PingManager.h create mode 100644 Pods/XYPingUtil/PingUtil/PingManager.m create mode 100644 Pods/XYPingUtil/PingUtil/PingUtil.h create mode 100644 Pods/XYPingUtil/PingUtil/PingUtil.m create mode 100755 Pods/XYPingUtil/PingUtil/SimplePing.h create mode 100644 Pods/XYPingUtil/PingUtil/SimplePing.m create mode 100644 Pods/XYPingUtil/README.md diff --git a/Podfile b/Podfile index 8f765ec..1ccb424 100644 --- a/Podfile +++ b/Podfile @@ -9,6 +9,7 @@ target 'ShadowsocksX-NG' do pod 'Alamofire', '~> 4.2.0' pod "GCDWebServer", "~> 3.0" pod 'MASShortcut', '~> 2' + pod 'XYPingUtil', '~> 0.0.1' # https://github.com/ReactiveX/RxSwift/blob/master/Documentation/GettingStarted.md pod 'RxSwift', '~> 3.0' diff --git a/Podfile.lock b/Podfile.lock index 2e4d5ff..be4ed05 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -8,6 +8,7 @@ PODS: - RxCocoa (3.3.1): - RxSwift (~> 3.3) - RxSwift (3.3.1) + - XYPingUtil (0.0.1) DEPENDENCIES: - Alamofire (~> 4.2.0) @@ -16,6 +17,7 @@ DEPENDENCIES: - MASShortcut (~> 2) - RxCocoa (~> 3.0) - RxSwift (~> 3.0) + - XYPingUtil (~> 0.0.1) SPEC CHECKSUMS: Alamofire: aa2e09d871c9160ac53c90e83c68064a94e3dfbe @@ -24,7 +26,8 @@ SPEC CHECKSUMS: MASShortcut: 9c215e8a8a78f3d01ce56da48e2730ab66b538fa RxCocoa: 7dcb7a1860fc9cd0e23dae67ab105fc2916670b6 RxSwift: 8fc9f2de6275a9101d518444e00bf32f1a42caac + XYPingUtil: 707e3b113c0ed9d85ca8ef7b13c12ee9cd21b276 -PODFILE CHECKSUM: e59f622df37d0fe135432c1ccda243973c311def +PODFILE CHECKSUM: 175af699fc3044cb595eea78783dea931a37bf9f -COCOAPODS: 1.2.0 +COCOAPODS: 1.4.0.beta.1 diff --git a/Pods/Manifest.lock b/Pods/Manifest.lock index 2e4d5ff..be4ed05 100644 --- a/Pods/Manifest.lock +++ b/Pods/Manifest.lock @@ -8,6 +8,7 @@ PODS: - RxCocoa (3.3.1): - RxSwift (~> 3.3) - RxSwift (3.3.1) + - XYPingUtil (0.0.1) DEPENDENCIES: - Alamofire (~> 4.2.0) @@ -16,6 +17,7 @@ DEPENDENCIES: - MASShortcut (~> 2) - RxCocoa (~> 3.0) - RxSwift (~> 3.0) + - XYPingUtil (~> 0.0.1) SPEC CHECKSUMS: Alamofire: aa2e09d871c9160ac53c90e83c68064a94e3dfbe @@ -24,7 +26,8 @@ SPEC CHECKSUMS: MASShortcut: 9c215e8a8a78f3d01ce56da48e2730ab66b538fa RxCocoa: 7dcb7a1860fc9cd0e23dae67ab105fc2916670b6 RxSwift: 8fc9f2de6275a9101d518444e00bf32f1a42caac + XYPingUtil: 707e3b113c0ed9d85ca8ef7b13c12ee9cd21b276 -PODFILE CHECKSUM: e59f622df37d0fe135432c1ccda243973c311def +PODFILE CHECKSUM: 175af699fc3044cb595eea78783dea931a37bf9f -COCOAPODS: 1.2.0 +COCOAPODS: 1.4.0.beta.1 diff --git a/Pods/Pods.xcodeproj/project.pbxproj b/Pods/Pods.xcodeproj/project.pbxproj index 6316b87..e38be1f 100644 --- a/Pods/Pods.xcodeproj/project.pbxproj +++ b/Pods/Pods.xcodeproj/project.pbxproj @@ -7,373 +7,355 @@ objects = { /* Begin PBXBuildFile section */ - 008D88E94858B0B8190DD42951253AD2 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EA9A1A86E1594EEC96C2B7214E16E50F /* Cocoa.framework */; }; - 015A2D47B6DA8E170E4E64108EC177CA /* GCDWebServerFileRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F9B04B4F8691154899A7BB06F149941 /* GCDWebServerFileRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 03810806C0578A750613717248DC37CC /* GCDWebServerPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 941AC673759A8487CD0E31D9222FE395 /* GCDWebServerPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 03AEC3CDFC3EAC2C0366631AA17F0021 /* Reduce.swift in Sources */ = {isa = PBXBuildFile; fileRef = E149E56489936102F081551F32C5F5EB /* Reduce.swift */; }; - 03F3C06659D9C05E49701C68B2F368DB /* ElementAt.swift in Sources */ = {isa = PBXBuildFile; fileRef = C524B1525327F67736740D5488CEAFD6 /* ElementAt.swift */; }; - 0551162B7568A0F3028CF7CE13E9C1C7 /* GCDWebServerURLEncodedFormRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 360EB85AC720C078D420EADAF6C654ED /* GCDWebServerURLEncodedFormRequest.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - 06067FEB1AB279D49A3F16553693D98C /* NSTextField+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 088BD130A0FBEAEA4D9FDAE864B58DC7 /* NSTextField+Rx.swift */; }; - 07147440201D62C544F94526CA96A5C3 /* SharedSequence+Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9DC1F4EFF87C0AA04AFAB87CB07ACFC2 /* SharedSequence+Operators.swift */; }; - 08067F41CEECB56CE74FFCA481092E8D /* RxCocoaRuntime.h in Headers */ = {isa = PBXBuildFile; fileRef = F8EA91701D31DC73ED6AA21F7AD637B2 /* RxCocoaRuntime.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 08DB8704904133A00B55601FAD0A012F /* AsMaybe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34AEA52D361570E78F8B9792A835A1A1 /* AsMaybe.swift */; }; - 095B15AD34057F9AF7AF7DC0CD7CC6E5 /* InfiniteSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A7A485A268FA20FBE6CEAB65881AF6F /* InfiniteSequence.swift */; }; - 098AA417A5494FC829E777DC5CF06ECC /* GCDWebServerURLEncodedFormRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = DB83C3266870BCD77C80A5BF5F71BFE0 /* GCDWebServerURLEncodedFormRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0990CFB289EC7E60955ACCF0DE727364 /* Deferred.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B7E831C7BD9ACCDA16302B15F5A8035 /* Deferred.swift */; }; - 0A018C2159E3422F73CC243BE77CB879 /* Observable+StandardSequenceOperators.swift in Sources */ = {isa = PBXBuildFile; fileRef = DA80549D390412FB66E8ADB1475C39D2 /* Observable+StandardSequenceOperators.swift */; }; - 0A402C97D8A2855E4F69D8E2BFEE752E /* BRLOptionParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 234D1504F40F558DF1303E8C160D47BD /* BRLOptionParser.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - 0B02531D97A04A562AD8FEFE3075E528 /* RxMutableBox.swift in Sources */ = {isa = PBXBuildFile; fileRef = 912AE5C728F325B6D86D33E827E266C8 /* RxMutableBox.swift */; }; - 0B8140968914C908CFB4949F67745DD7 /* GCDWebServerFileResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 015CDD34C2C3E889192595296079F633 /* GCDWebServerFileResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0C59FF6E931F35DE452E544B4E9366E3 /* ObserverBase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F0C370A9E746A9710DCDBF48091819B /* ObserverBase.swift */; }; - 0C963577F459E5A7F345D0FBD58E0A67 /* ImmediateSchedulerType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60B4EBBBD5D3F3346F7E7334498186B2 /* ImmediateSchedulerType.swift */; }; - 0EF1FE250F2BFFABD61D2918C76E2916 /* SingleAsync.swift in Sources */ = {isa = PBXBuildFile; fileRef = 271DC7562BA32ADD28B4A53CA4C92137 /* SingleAsync.swift */; }; - 1012A309E82945C38EA9CA39444380DF /* NSButton+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C4F41A96AB13FAA06EB576B1286FD61 /* NSButton+Rx.swift */; }; - 106520C21CE01A94879410E99DD37F47 /* Take.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5208F42E4D16971BBD8698E9C751B6ED /* Take.swift */; }; - 10EB23E9ECC4B33E16933BB1EA560B6A /* Timeline.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59B5C5DECEBDC9747029DD2086C6B00D /* Timeline.swift */; }; - 11C0C606C5CDBA15C8F0E1C06BEE3799 /* PriorityQueue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C1694FBE9CBF06E4F1C9F38B5DFA930 /* PriorityQueue.swift */; }; - 12149EA10608B7DE38879E6242D2826C /* ko.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 9C1DEE1416BA8E32A4D01FC91692DDA2 /* ko.lproj */; }; - 12C4D8F003A5CAEC8FA3C7D03A4A1484 /* Window.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1AE55DF48B45CC65465B461F51CA3EA /* Window.swift */; }; - 1568BC317134F1902AB76EE65E0A18CE /* GCDWebServerDataResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = FD0EA79B1967F9A248BD807632BC9C79 /* GCDWebServerDataResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 157AE1FBA8F6C3B710CDE90F86492010 /* MASShortcut.m in Sources */ = {isa = PBXBuildFile; fileRef = C2F0513828D310E221B920200A0AF8B9 /* MASShortcut.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - 15C09589084D116390E3B04BF3B026B6 /* ControlEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59AAA65A3B3DF93288B9973C7991DA37 /* ControlEvent.swift */; }; - 17848AD97F24126359BC05C4E675F0A4 /* SharedSequence+Operators+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1B81A53E7BA7B919692592FBAEB2C093 /* SharedSequence+Operators+arity.swift */; }; - 184571546F643ABB4ADDC1DAAB6FBE78 /* ToArray.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7DB18E3EF0102CDC82F31CA6B466A8B3 /* ToArray.swift */; }; + 00616446FE37EC07EDF821E6079956F5 /* Observable+Creation.swift in Sources */ = {isa = PBXBuildFile; fileRef = F39B6017A1E05F853E61EEDF12541495 /* Observable+Creation.swift */; }; + 008D88E94858B0B8190DD42951253AD2 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 541635D209381E226C6EBA22A418CD79 /* Cocoa.framework */; }; + 00BC651843DF8E2EE2D10269168ADC2E /* RxTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 377A7BD15ACA2551B8FF20D84523C92E /* RxTarget.swift */; }; + 015A2D47B6DA8E170E4E64108EC177CA /* GCDWebServerFileRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BA50A17BB31B56D675B2664C6656204 /* GCDWebServerFileRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 03705B04DE33C19084B60BBC77E95F99 /* Variable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 56271ED3B51AE5D5902932040A00DF63 /* Variable.swift */; }; + 03810806C0578A750613717248DC37CC /* GCDWebServerPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = DB6161524DC5318B621B1F8E7A118FFB /* GCDWebServerPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 03C5F1980E8D147062D8A70BD9BB608E /* ObserverType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 995DE74885B81C140E5039D023558CC8 /* ObserverType.swift */; }; + 03E2A58758B79A20AD51B981C4886718 /* RefCountDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC7D7E3CFDC72C9559407AD6CD855188 /* RefCountDisposable.swift */; }; + 0551162B7568A0F3028CF7CE13E9C1C7 /* GCDWebServerURLEncodedFormRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 5BE0C68CAAE6B6D69963CBBBDCB9F12F /* GCDWebServerURLEncodedFormRequest.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + 059F01CD35F3DD3BADC6C322DC0366F2 /* Do.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79DB5F1751C4AB2410135041CDCD8F68 /* Do.swift */; }; + 05F2F5BBF87C0A2708454989B76D4632 /* Error.swift in Sources */ = {isa = PBXBuildFile; fileRef = B2C8B938120E0F478D293F232849C4CE /* Error.swift */; }; + 071F3B3F0ABA56A7EE9F753051344630 /* Variable+SharedSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42A79E3A3EFF4AABEC6BB96F1AE1F024 /* Variable+SharedSequence.swift */; }; + 07CCAE5B2170442C716E78A1699F2E71 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 993BDC80A901642001B6FF19B91930A9 /* Foundation.framework */; }; + 098AA417A5494FC829E777DC5CF06ECC /* GCDWebServerURLEncodedFormRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = DC51C4D74DD2DABECE22BF29BC268561 /* GCDWebServerURLEncodedFormRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 09D5E6CA952BF86344C3D3AEBA67C717 /* NSObject+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C4F87A77C2D070B728208C241875718 /* NSObject+Rx.swift */; }; + 09DC4D970FD92A3E9D954D9C4E65DBDF /* AddRef.swift in Sources */ = {isa = PBXBuildFile; fileRef = 596FDF0DEDCF85B03726FDE23D6A6D3D /* AddRef.swift */; }; + 0A0EF3A90FEBB5A097AEE93864A7EB96 /* SharedSequence+Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = A4F43B223D2F404F20F33C1D2FB14B39 /* SharedSequence+Operators.swift */; }; + 0A402C97D8A2855E4F69D8E2BFEE752E /* BRLOptionParser.m in Sources */ = {isa = PBXBuildFile; fileRef = AB24C996740BEF1D75AD8261765C204C /* BRLOptionParser.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + 0A79258D536781E0ED86896A287E8FBC /* KVORepresentable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A055428BBC845FE3F6F82FE5039BD7D /* KVORepresentable.swift */; }; + 0B389FA8703AC6A3CB29F0EC5DAC0110 /* BooleanDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C58EF9F1447710214CE549119BB38A6D /* BooleanDisposable.swift */; }; + 0B8140968914C908CFB4949F67745DD7 /* GCDWebServerFileResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 6F80F9D570ECC43F0D6BA9391F8FA9BA /* GCDWebServerFileResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0CBF3AFEC13BD3E6166AA3DA7053E8C0 /* Reactive.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37CDF09D539295CF92C1177F3198BE36 /* Reactive.swift */; }; + 0E09BF58B70FC62107C157DF892331A7 /* UIBindingObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36019BD0EE41D3607C2C27C0ADB04D74 /* UIBindingObserver.swift */; }; + 10854F26DFA7604DA0372DDEF2955C3A /* SubjectType.swift in Sources */ = {isa = PBXBuildFile; fileRef = C25BEDBD001052110E57A88CA96E0A90 /* SubjectType.swift */; }; + 10EB23E9ECC4B33E16933BB1EA560B6A /* Timeline.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC6A08F2A0872D746F505B0E0D6B4457 /* Timeline.swift */; }; + 114427E8C429C46858ECF5C96C202CD7 /* RxMutableBox.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A20E2059987CF8909AA4771423FA8F6 /* RxMutableBox.swift */; }; + 12149EA10608B7DE38879E6242D2826C /* ko.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 9DEE71E8EC741FEDDC4843DC88745956 /* ko.lproj */; }; + 1286ED6CE4F07503C88CC145F5677F10 /* Filter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27F7A725E1DC59BCF652E079C08ACFD5 /* Filter.swift */; }; + 1414C05E1E966901E52499785F06846A /* TakeLast.swift in Sources */ = {isa = PBXBuildFile; fileRef = F90BF79C3C962AD5CA3624420AAA3AC4 /* TakeLast.swift */; }; + 146E8A26206DD2A82712EF825EEB11AC /* SimplePing.h in Headers */ = {isa = PBXBuildFile; fileRef = 503ED062E5FE7FF6DB0A1F861FF575AB /* SimplePing.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1568BC317134F1902AB76EE65E0A18CE /* GCDWebServerDataResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 937175BE71F2E6D6A0271C60E7173952 /* GCDWebServerDataResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 157AE1FBA8F6C3B710CDE90F86492010 /* MASShortcut.m in Sources */ = {isa = PBXBuildFile; fileRef = 40B45BE14874598162E4FE62B0CD9054 /* MASShortcut.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + 1860758F64DDE2D0642F959879190195 /* MainScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7530F8A923B1254344B7B67782C6A9B0 /* MainScheduler.swift */; }; 1AB0577134E333EA71DCCE332191A260 /* Pods-ShadowsocksX-NGTests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 46662EB64876AD1C891F548C69A89E89 /* Pods-ShadowsocksX-NGTests-dummy.m */; }; - 1AC61C1EA2DF1703163518C3858684FC /* Errors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8E9FC22AFD2BA36D7C298505DD97DB07 /* Errors.swift */; }; - 1B3A98673592E3650381A338F20CA81A /* WithLatestFrom.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7B90D6B38782365F4D874C83ED140A8 /* WithLatestFrom.swift */; }; - 1B4686F080E5DB31E0FDEC12AD725B0B /* Using.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDCCB04DF57C106193307E90684240A9 /* Using.swift */; }; - 1B5CEAC4BA4628D84ED636748404D3E3 /* HistoricalSchedulerTimeConverter.swift in Sources */ = {isa = PBXBuildFile; fileRef = CDFACEE80381FE2B4BC6E4FE88D93A85 /* HistoricalSchedulerTimeConverter.swift */; }; - 1B9EDEDC964E6B08F78920B4F4B9DB84 /* Alamofire-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 88C081789EDC0560233A76D711CE9659 /* Alamofire-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1BE8F717FDCFA2CC8DC9318624D80952 /* RecursiveScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = D402F8A4734F5C848DA2287CD48E6202 /* RecursiveScheduler.swift */; }; - 1C7F09EA3B480077170395B01076A2CF /* Debug.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC674E9D1A6B6D72CE70D5CC2FD43735 /* Debug.swift */; }; - 1EF1D9B948C91F3CAD0F2998F3765D8B /* GCDWebServerErrorResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 7CD1750A494B17CF183B50C961117C6D /* GCDWebServerErrorResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1FBC620BCD08041C114EEC0A11DDF69D /* DefaultIfEmpty.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06571839F983E684AE0631A949E65709 /* DefaultIfEmpty.swift */; }; - 20887597017160017549465EBFB7E977 /* zh-Hant.lproj in Resources */ = {isa = PBXBuildFile; fileRef = C06C7EB1ACC794EDA28251B83A3D8922 /* zh-Hant.lproj */; }; - 2247209AAAE299B2C89F2CFC75D3490D /* GroupBy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 804280091995DFB0D7791D5300473723 /* GroupBy.swift */; }; - 2519514CB62A290340D6D2B43ECC1459 /* OperationQueueScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 435BB7E73157084CAF2FE80FBE224AF2 /* OperationQueueScheduler.swift */; }; - 2527F62CEADDA5CE60852E0C067D3438 /* GCDWebServerResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = C74A3DC1AECDEFEFB44AB3F60FFDDC33 /* GCDWebServerResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2545E11592C408516EA9AC047FFD47FD /* BRLOptionParser-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 62543C716FC9EBEA1CAC093AD57E93FD /* BRLOptionParser-dummy.m */; }; - 266E93ACE8FFB80FDF783822D630E927 /* NSControl+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0BE0BBDCBD8F691F0357C2BFD2A61DF7 /* NSControl+Rx.swift */; }; - 27776D059250B2AEEA4FD883A98F18E2 /* Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC318351A8A11C1C21A0A22107B2C46B /* Driver.swift */; }; - 286A79B0F2405FD08804042FE30407B1 /* GCDWebServerMultiPartFormRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 1BD87FA3022EFB5D55062335BBAA6CDC /* GCDWebServerMultiPartFormRequest.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - 29D6BFCA8351A8E55B3A9B9FBBBB316D /* Sink.swift in Sources */ = {isa = PBXBuildFile; fileRef = B2FB3E4A7941F31C1970E3CC7568BC25 /* Sink.swift */; }; - 2AF6E7F79209F1F5EC7E2928FBEABC64 /* Filter.swift in Sources */ = {isa = PBXBuildFile; fileRef = BCCCC4E79BB0BC425916AD8DE96CA785 /* Filter.swift */; }; - 2B60F28247A564FD61AF32BB988582DD /* ShareReplay1.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F4AD3BB60C4064C0FBE13775748D456 /* ShareReplay1.swift */; }; - 2C16189485F3647493E5E74E8C629E54 /* Pods-ShadowsocksX-NG-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 14A9EC2BB1EC6484018A5EB4B9B2C231 /* Pods-ShadowsocksX-NG-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2C2579538078FA3F4F5945718C44ACB4 /* SerialDispatchQueueScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = F786CE1FD64B7570C24F231E23D7566A /* SerialDispatchQueueScheduler.swift */; }; - 2C75CE551E9FD25187BC830078E6DD59 /* SwitchIfEmpty.swift in Sources */ = {isa = PBXBuildFile; fileRef = C1A4207D9981121566B1401ED299ECB8 /* SwitchIfEmpty.swift */; }; + 1AF49D45455E3B41876F2240F7076A94 /* Observable+Concurrency.swift in Sources */ = {isa = PBXBuildFile; fileRef = E5366D434A2068AFEA79004980F44A40 /* Observable+Concurrency.swift */; }; + 1B9EDEDC964E6B08F78920B4F4B9DB84 /* Alamofire-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = BD74326685D6A50E522251206F820C7B /* Alamofire-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1C4468F6110A0BF15D943DEB75E05456 /* PriorityQueue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 14CF736F2CED1BC21A76B2CAF94C76E6 /* PriorityQueue.swift */; }; + 1CD5A67C47F7B743BE6D345C5A03157E /* AnonymousObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 748E705AEF29F7189CB715E55F267483 /* AnonymousObserver.swift */; }; + 1DC97F78ED29161695FD2E398F74CE52 /* TailRecursiveSink.swift in Sources */ = {isa = PBXBuildFile; fileRef = EADF97246B53EAECA07179255DB9A9F4 /* TailRecursiveSink.swift */; }; + 1E2F21AEEF1E1B03EA741DDBA644D0DE /* ControlProperty+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4400F922FD830B1F115DC11FDEDCFE6B /* ControlProperty+Driver.swift */; }; + 1EF1D9B948C91F3CAD0F2998F3765D8B /* GCDWebServerErrorResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 9A7EC671B3A9BC64575CE36E04984535 /* GCDWebServerErrorResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1F74CCFE495942AE0A8CB44AA4E3B230 /* Catch.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8333526D56752C918A2A26AFDA9723C1 /* Catch.swift */; }; + 2063639BC088FCB8DA8ABB3F19FE3ED9 /* Logging.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A7566D04F342A7DD5AF118AD3859D77 /* Logging.swift */; }; + 20887597017160017549465EBFB7E977 /* zh-Hant.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 1384B0D55D00589C9F0E6463FA9F6725 /* zh-Hant.lproj */; }; + 228DD29ECAD11BE65872ECD29BF1A25D /* ControlEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 97B583E0D0453F55A079C6689587E982 /* ControlEvent.swift */; }; + 23C4A22087104DA1DC8BB3F02F310517 /* DisposeBase.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3C6B02A75B463EED1D4CD6B4DDA23E9 /* DisposeBase.swift */; }; + 24D7EAEB1BB49D7678AA3DFB12359964 /* HistoricalSchedulerTimeConverter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 26B40F2A33CA44543255D2EBBEBDCA7D /* HistoricalSchedulerTimeConverter.swift */; }; + 2527F62CEADDA5CE60852E0C067D3438 /* GCDWebServerResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 3FAE3A7339C3A29FB22934395FA2EA45 /* GCDWebServerResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2545E11592C408516EA9AC047FFD47FD /* BRLOptionParser-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 9D340E814C58BE19BCC41E24F8517669 /* BRLOptionParser-dummy.m */; }; + 27BAEB60D66090CD9AEC60AC563891AA /* VirtualTimeScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 174C74BF316A87074BB513F4EBE462A3 /* VirtualTimeScheduler.swift */; }; + 281904D4A787EBA58BEBF73687E92CE0 /* ObserverBase.swift in Sources */ = {isa = PBXBuildFile; fileRef = EF337C81B0A64DDD5C8ECFEEEE55A0B9 /* ObserverBase.swift */; }; + 286A79B0F2405FD08804042FE30407B1 /* GCDWebServerMultiPartFormRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 6648C6A5E7AA88F2486DBAB18C40B4BD /* GCDWebServerMultiPartFormRequest.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + 289B997EFA17F4E3F5D838CF7E9E3A0E /* Debug.swift in Sources */ = {isa = PBXBuildFile; fileRef = 316B1DE86825E2C3880D9C45EB2307C0 /* Debug.swift */; }; + 29EF97DBF618D3C086D1BC516E1263AE /* Bag.swift in Sources */ = {isa = PBXBuildFile; fileRef = 105C5CC086BEB4A7DA3B53DC6475F1E0 /* Bag.swift */; }; + 2AC9CAABFB9B97528DAFA455704EE151 /* Sample.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD19E8A585BB6C77F279F17B96D46398 /* Sample.swift */; }; + 2B72966511DBAAA91DBBADE59A2FC39B /* Delay.swift in Sources */ = {isa = PBXBuildFile; fileRef = D15E9FE08B43C4F2E3C14298ED008361 /* Delay.swift */; }; 2DBAC0452D6B85DF3E41E3AEFB4EEC16 /* Pods-ShadowsocksX-NGTests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = D7E8128F302CF60BEF206008CE11F6D3 /* Pods-ShadowsocksX-NGTests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2E3A8BCE3E4D9114ABCBB4D7966812A8 /* NSSlider+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9BA7C38118F80CD261A2C1877652FBAE /* NSSlider+Rx.swift */; }; - 2FBF7BF077F416DB8C7C99AEAD139F9B /* UIBindingObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51D83FA8652F1FBA030AB17ED7FE6A3C /* UIBindingObserver.swift */; }; - 3076DFAD05E4F7F0356153478F071D74 /* MASShortcut-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 8F1D6D87906CF7A06C84F16A89701364 /* MASShortcut-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 30E2A73CDE464DC6C23D3524F07FBB9F /* GCDWebServer-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 6E1351027B3142F486A98424D9F42779 /* GCDWebServer-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3330B1E49DA9623EA683C8808CCDAF2F /* Buffer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 525C68580D6831E607AD3D862DC133DD /* Buffer.swift */; }; - 33669A1E8FF6BB34131FB94871DDF908 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EA9A1A86E1594EEC96C2B7214E16E50F /* Cocoa.framework */; }; - 33856730EE17C2CA1481049F1422FA6A /* Logging.swift in Sources */ = {isa = PBXBuildFile; fileRef = AFA95DC4A3942FDA10B5AF5875F3D960 /* Logging.swift */; }; - 338E1BFAB40B2106D7B32979145BBBF3 /* Skip.swift in Sources */ = {isa = PBXBuildFile; fileRef = 48FAC49BD2A6F874166D24BB5C9BA1AE /* Skip.swift */; }; - 35413ADE5985AB5E408AF576A84B4C24 /* KVORepresentable+Swift.swift in Sources */ = {isa = PBXBuildFile; fileRef = 828EB8509B88B335C1D7D0C2B3D7D895 /* KVORepresentable+Swift.swift */; }; - 358C6A1EF83AAD32B9453D2A9E6D6AA1 /* BinaryDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0DBFAF6F1BA01CE6183C3B565DB8322C /* BinaryDisposable.swift */; }; - 35B3DA850A250223EE5CEB9DB04D1FC4 /* GCDWebServerResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = C5A524C4B1015097B4130310EBF6D6B0 /* GCDWebServerResponse.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - 3626B94094672CB1C9DEA32B9F9502E1 /* TaskDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6D4A286AAC017AE5547B794DD2C8AF59 /* TaskDelegate.swift */; }; - 363C02C0DC1D05C96E4C99FA291EFDE1 /* _RXKVOObserver.m in Sources */ = {isa = PBXBuildFile; fileRef = 7E8FD5D8A77584D71B37963D270CBAE2 /* _RXKVOObserver.m */; }; - 36E0FA5FE4424D20F0215B1C2CD85D90 /* GCDWebServerRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 1529BF693979ADC95825A232E3F7F71B /* GCDWebServerRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 380776E07A38623224A8D296024B2C9F /* CompositeDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = DAAD2858D71A42847A49EE0FC347E9FB /* CompositeDisposable.swift */; }; - 382EEA9832CF0E0860B998EAD0EE66E1 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4FEC4B8DFE8753A9B1DE598293568F30 /* SystemConfiguration.framework */; }; - 38974DB132715266ADE00F2E3DFBB320 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EA9A1A86E1594EEC96C2B7214E16E50F /* Cocoa.framework */; }; - 39F610E5C7762C98378BF845AC774621 /* NotificationCenter+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 717C5EDEA19D4107A1C3112D049EBB9C /* NotificationCenter+Rx.swift */; }; - 3ABDC8F6AC096D1B402D23DDE0DA663D /* TextInput.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D803CC81BFCD9AE0F09CC693CCD4993 /* TextInput.swift */; }; - 3DD0362B0B6B939B5D087A150121A4B1 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EA9A1A86E1594EEC96C2B7214E16E50F /* Cocoa.framework */; }; - 3DD39CA7E6E7BDADC4A4126FC3310FAC /* LockOwnerType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 48B2C17385071197F259AB746341B272 /* LockOwnerType.swift */; }; - 3E715DFE443524EB6ADE892E4A676224 /* GCDWebServerMultiPartFormRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = DF0D4DE6D3365036C0FA32D93DE77D46 /* GCDWebServerMultiPartFormRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3F5958F756DADBE2D0850A0F17186CCE /* Event.swift in Sources */ = {isa = PBXBuildFile; fileRef = BED1E9CAFD7494BC65249B31B68985C6 /* Event.swift */; }; - 3F68F1F5B35DB36E1D1A35AF93621DC0 /* InfiniteSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = F2B98DC1F57C36B412E2E662A8170642 /* InfiniteSequence.swift */; }; - 3FA20C251DB09C90B6E357ED89B534D7 /* VirtualTimeConverterType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9591C37093C86F6625E89B7ECD358BDE /* VirtualTimeConverterType.swift */; }; - 4105ADAD2C51D3E4230C170EA0EC6C5B /* ReplaySubject.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3AC8F7EF565790CE58751914BAB4C1B3 /* ReplaySubject.swift */; }; - 4193C34CAA37C733D8231452EBBE0A46 /* SynchronizedDisposeType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30E2E47F7B982BA49DF174E3FDFB288B /* SynchronizedDisposeType.swift */; }; - 42B796D37251F4BCF59ADC3C56B0C05C /* ConcurrentDispatchQueueScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 002B67F5C7E4ECAD0D0339BF321BF117 /* ConcurrentDispatchQueueScheduler.swift */; }; - 42EBF5069D107883B2BAFC32E539345A /* Observable+Concurrency.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE7494AFBC1F396F79B1E5BE66FDDFCD /* Observable+Concurrency.swift */; }; - 451920991DC451B2676E9A139C857DD2 /* Queue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9E5961CAA9976325C800898EBC9E0C8A /* Queue.swift */; }; - 46507181FD708FCB8B9066F54D38F9D2 /* PrimitiveSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB9BC8FFFB6D237A0A82BB90707A89FA /* PrimitiveSequence.swift */; }; - 46661BD5FD35D16A1D72B05C32BA4805 /* Observable+Bind.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0D3C195DE57AB12AEADA0C216773CC29 /* Observable+Bind.swift */; }; - 47C776FC4A5D9C0FE6E5541509E2B06E /* AddRef.swift in Sources */ = {isa = PBXBuildFile; fileRef = 40784518B3B077970ACD76FF6ADC6E18 /* AddRef.swift */; }; - 4811AC35475C767F778C6E3B68648F94 /* PriorityQueue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1344965A836EE2DFFA93D27044532B30 /* PriorityQueue.swift */; }; - 48FE45BD7BF4ABB32A024550ED96B4C6 /* GCDWebServerStreamedResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = A07A8BDB7BFA69AA9291E71416EC58CF /* GCDWebServerStreamedResponse.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - 494C1BDAACA36787EE7312E98F2984CA /* PrimitiveSequence+Zip+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD39D59D26656AE80FD3F9C683849740 /* PrimitiveSequence+Zip+arity.swift */; }; - 4A4C1E2799F10F07FD0349A686041EC3 /* NSLayoutConstraint+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = EEA9F8AE14D36C1EDC66F1C167C4146D /* NSLayoutConstraint+Rx.swift */; }; - 4A6AF0A712D4C473177BE88389D15D2A /* MASDictionaryTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = 66999DB6AE23289A4ECDBEBCC7A09C5F /* MASDictionaryTransformer.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - 4B69C82E603D53AC00B7733414B831A9 /* RetryWhen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A595C2E180CE19ADB5A7218E78FD8BC /* RetryWhen.swift */; }; - 4BB5255894FF4DC65E495662590280B3 /* ScheduledItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = B4AAA88BD8CDEC58F63BB1EABFBFE6EC /* ScheduledItem.swift */; }; - 4DD7E070B3A0D803370EE6CCA28CCA63 /* TakeUntil.swift in Sources */ = {isa = PBXBuildFile; fileRef = BE2FFA6014D5EA973E00B658481C4016 /* TakeUntil.swift */; }; - 4EDE49009B5B68074CD71F8B362F0DDC /* GCDWebServerDataRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 47B14EF7B2C9724416D7F4F875D1CB32 /* GCDWebServerDataRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4FF29AE3D6A968F4167A336AC81D6E0D /* ObserverType.swift in Sources */ = {isa = PBXBuildFile; fileRef = D3A7C466E29109C01509C4619554BB05 /* ObserverType.swift */; }; - 51358F3E24AC8F1A4172E388769FF1FA /* MASShortcutView.h in Headers */ = {isa = PBXBuildFile; fileRef = 16E2BA0967647D17B5A037805E7CF195 /* MASShortcutView.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 5207EF225F11ACDE1EBB58D61DB61014 /* Observable+Multiple.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C56E70499D215B611C87DF7E81D7DF9 /* Observable+Multiple.swift */; }; - 5209FF4069635478A47FC5F929C25812 /* ObservableType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C980D73B55B8361629ADA1668748A31 /* ObservableType.swift */; }; - 5377A1F2185BF5247D6BC1CE35827700 /* NopDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4F4D6DC50E558CC6AE51E3AF56E5018B /* NopDisposable.swift */; }; - 5387216E723A3C68E851CA15573CDD71 /* Request.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0969FFD491CA3150D85C991F9D642BA /* Request.swift */; }; - 53D63A17DB43C044EFBAA17337600276 /* GCDWebServerRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 5E149596B24A0F722AAD04DD0E7648FC /* GCDWebServerRequest.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - 54D22FC915545C2DBECC569A2763FA93 /* RefCount.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8402EA2D03C261FDFF31CEC2F3E17390 /* RefCount.swift */; }; - 569E360D93A0FCB66F506D87E9BA7759 /* Just.swift in Sources */ = {isa = PBXBuildFile; fileRef = D85F519585040CC0D398A38AA0930EC4 /* Just.swift */; }; - 576C8796EAC4084B6F49BFC5C839E9D1 /* RxSwift-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 67E751429B6B9BC0FABF01B8867EF866 /* RxSwift-dummy.m */; }; - 57BC884F6BD181585A0B6F7719A49E2B /* Observable+Time.swift in Sources */ = {isa = PBXBuildFile; fileRef = 69B06482690AB04BAC88256758995B90 /* Observable+Time.swift */; }; - 58CE04D9C6CAC7243825ABF4AB20EF32 /* MASShortcutValidator.m in Sources */ = {isa = PBXBuildFile; fileRef = D12B3B0AB6BBE5692CC30020ED890E6C /* MASShortcutValidator.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - 59CF390612B666999922B2F9B6032D43 /* SingleAssignmentDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 385EF54CE93CF6561FBD6FCD4BC908CF /* SingleAssignmentDisposable.swift */; }; - 59FAD0BBD4C663C17F44B59EFCA2A982 /* CombineLatest+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = C1714F14E43A69F77960977683265141 /* CombineLatest+arity.swift */; }; - 5A30DAB76BB1814664FA7DC30939DA24 /* MASShortcutBinder.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C0EC59C08B29B12978B1C4DBDD6491F /* MASShortcutBinder.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - 5AA7F01B9354C3DD1AB37F4AE65A5F4E /* Observable+Debug.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64A21A2EB387821C687BFB0B5FC0D242 /* Observable+Debug.swift */; }; - 5AB880D9ADA38379AE40B94C492D6541 /* SharedSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89BD8062B3919962E8EFBC3E6DBA8537 /* SharedSequence.swift */; }; - 5D8999DD4665B8E0F332EEC6B75CD6CF /* BooleanDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = DEA3B8F9A25C60DBAD70F2E3BA7DEC79 /* BooleanDisposable.swift */; }; - 5E74113E3B8562A64DB64EF45BCA52C9 /* DisposeBase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 77A56791C067FBC9E3AC1405C667F1BA /* DisposeBase.swift */; }; - 5EA93C9BD770ADB728BD2CFE4FF44DC7 /* Never.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8EF3B7799254D602BB02B42C4E30CFFF /* Never.swift */; }; - 5F1FA9D431587CD257C703AF16134030 /* ja.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 76BDABDC97B3B4B0598FB6DF3966C3EA /* ja.lproj */; }; - 5FF7D42F51FEAEB192E61355AAEAC6DE /* MASShortcutMonitor.h in Headers */ = {isa = PBXBuildFile; fileRef = E4B98A26D58EDEECA20933684CC1C45F /* MASShortcutMonitor.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 61200D01A1855D7920CEF835C8BE00B0 /* DispatchQueue+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = 72D5CA8AF08CC028C391EB1A38C661B0 /* DispatchQueue+Alamofire.swift */; }; - 618D3C71663174E07B65950421C46D48 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 139134EE845E284F4B3ED2EF2F9A302B /* AppKit.framework */; }; - 625FB12932BD111CA0CB053F2820F15A /* NSObject+Rx+RawRepresentable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D934D4D41993FB7CED17EF07D57ED0C /* NSObject+Rx+RawRepresentable.swift */; }; - 626A7B01D3D6B6EA0869551ACE82FB8B /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EA9A1A86E1594EEC96C2B7214E16E50F /* Cocoa.framework */; }; - 62F65AD8DC4F0F9610F4B8B4738EC094 /* ServerTrustPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 49F857A6751201ED3D72F96DC13C729F /* ServerTrustPolicy.swift */; }; - 63B5A98D9EF3325EEF1F93ACFAB7DC39 /* Timeout.swift in Sources */ = {isa = PBXBuildFile; fileRef = B42525F3404A9781D07CAE62FD5E4918 /* Timeout.swift */; }; - 64E8CC7D517563FA0FE904F5917FE2E1 /* TailRecursiveSink.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A1F43CF3068C2DCAA16CAF4E7EDCE4E /* TailRecursiveSink.swift */; }; - 6670B050A7427F9C7393AB5D8D2E26FC /* NSView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96A99E648BA7AA9728B58FA257DAAB8E /* NSView+Rx.swift */; }; - 66AD0D86950A5C05121AE482F5257717 /* GCDWebServerConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = FAFB76E73828C3673CEC60577DD3D7F0 /* GCDWebServerConnection.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 66DEB394C39F5DCCD70A27ECEF274983 /* de.lproj in Resources */ = {isa = PBXBuildFile; fileRef = B306B418AC914FC9F036591616123AAF /* de.lproj */; }; - 677791FD8851F4D960BD70AE613BBA14 /* Disposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94E567C35466451FC7539A0BD8DA6046 /* Disposable.swift */; }; - 68EFC793F03DFFF389E88AA969A8BB70 /* Switch.swift in Sources */ = {isa = PBXBuildFile; fileRef = F9ABBB68077D7AD074DFC9923895B5D6 /* Switch.swift */; }; - 69BDA19A850913A07F745502A2943BDA /* SkipWhile.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A46EF6D6AE7B13EF91E0A19B18EABEE /* SkipWhile.swift */; }; - 69E55ABC7A2FD0420B1F5DB3172B10E1 /* URLSession+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = A88DC5BE37CE2B71CAC10B055D989D0D /* URLSession+Rx.swift */; }; - 6A46A6E9EC3D5EBE6868B267874C7F75 /* DispatchQueueConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = AF6621583BA40AE9A61D2F58B49462B2 /* DispatchQueueConfiguration.swift */; }; - 6B4361F5ADC6268E7953732371174FE9 /* MASShortcut-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 999B20A513A4091BA573B86714915DD0 /* MASShortcut-dummy.m */; }; - 6C62ACD1AF9B80626023D3E654D3E77B /* GCDWebServerStreamedResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 49AA0901E701115CB7028794961FEE8E /* GCDWebServerStreamedResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6CE32532AE4F14383FC5987D2EFC594B /* SubjectType.swift in Sources */ = {isa = PBXBuildFile; fileRef = DAF4B22EF3D343BEF33D2881F14213DF /* SubjectType.swift */; }; - 6CE3F1A01E6DE8F58A874B780C66A6FA /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EA9A1A86E1594EEC96C2B7214E16E50F /* Cocoa.framework */; }; - 6CEB47895E9B0D9170C31591412A7490 /* Sample.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63973CDD0819B187A85E746CC55ED88F /* Sample.swift */; }; - 6D1A95ED4B8C56039BEA5CB0242D1B29 /* Debounce.swift in Sources */ = {isa = PBXBuildFile; fileRef = 49D0AEBF622CB33505BCC1202E398B34 /* Debounce.swift */; }; - 6D1B82733CCD35C7B720D8B306969DB2 /* _RXObjCRuntime.h in Headers */ = {isa = PBXBuildFile; fileRef = B6411B80A4E73D2B05D6D2DC38B39232 /* _RXObjCRuntime.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6D71A4D5D45590A99D42928E14133A61 /* RxCocoa.swift in Sources */ = {isa = PBXBuildFile; fileRef = F684374BB1F33C4CA323178463EB2028 /* RxCocoa.swift */; }; - 6DEC6398861E6DCBB4D67813B1E75036 /* Map.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7D0D3E3125AF3C4C71554245E74E3A8C /* Map.swift */; }; - 6E8DF9E210380F39D45784980A71822F /* CombineLatest.swift in Sources */ = {isa = PBXBuildFile; fileRef = A04BDAC57478865FE5DD3EC203E58F10 /* CombineLatest.swift */; }; - 71AF173C50F15DA473F398350C6A5FED /* Lock.swift in Sources */ = {isa = PBXBuildFile; fileRef = EFDF2D18587604D407F5C9C506D4018D /* Lock.swift */; }; - 74EFCC6DC65CEBCF60B106F7FBB14EA2 /* MASShortcutMonitor.m in Sources */ = {isa = PBXBuildFile; fileRef = 77B1E0282CBC343B82CC78C567B8B534 /* MASShortcutMonitor.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - 751AC207B038ADC338015FD80AA54B76 /* MASLocalization.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D679D13A827958B8B727FA6E970D093 /* MASLocalization.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 75780983A83E65A597525566173E3C7C /* RxSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B792280B7BC7CA44B5D7090C8F732A0D /* RxSwift.framework */; }; - 76537FCDFF46E2EAA84E9632DB6A21ED /* MASKeyMasks.h in Headers */ = {isa = PBXBuildFile; fileRef = 259F77E2EC48E07223226DD78300AABD /* MASKeyMasks.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7743CB22A5AE8379D41C0BDA7FA85470 /* ShareReplay1WhileConnected.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71150F3D7194C1783C37A070F1AD879E /* ShareReplay1WhileConnected.swift */; }; - 77CFCF08FC8EA9F7758207854CED1E55 /* BehaviorSubject.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6D71F1C033CF6233A31594BA370062CA /* BehaviorSubject.swift */; }; - 7841A7635F46B11A9A96F101CF5F4354 /* DelegateProxyType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2DED940C0868591ED86659234813AF5B /* DelegateProxyType.swift */; }; - 78EBCD44C7BC4E2AB3ED660E9CAECFBB /* Empty.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB76A421976FAB6ECBC3D127F6A77FC9 /* Empty.swift */; }; - 7A303312792E091ABAE7157A9FB83B23 /* _RX.m in Sources */ = {isa = PBXBuildFile; fileRef = 42677271ADFD7C38E4A2D9A129A60105 /* _RX.m */; }; - 7B5FE28C7EA4122B0598738E54DBEBD8 /* SessionDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C4A3D2ED8D2752319AA3649ECF09EA1 /* SessionDelegate.swift */; }; - 7B70A32CB535894B889DC0400D0DE4B5 /* GCDWebServerDataRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F9C2E8F767184184382C0659D0B57C6 /* GCDWebServerDataRequest.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - 7C46C6DFBF9F5A96C6BCE1C93052B63D /* GCDWebServerHTTPStatusCodes.h in Headers */ = {isa = PBXBuildFile; fileRef = 2D2D8747A63B260F80C40C9DCDAC357E /* GCDWebServerHTTPStatusCodes.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7CD1DD00190DB1ACA427120A0F54AAB5 /* _RXObjCRuntime.m in Sources */ = {isa = PBXBuildFile; fileRef = 37276F2D8D3AED22ABF63827FF4C2E1D /* _RXObjCRuntime.m */; }; - 7D6E4A9CA431CA9D7BAF04817FB59C61 /* Observable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6200462FD0350D942C06454BF3959B8D /* Observable.swift */; }; - 7D8CC01E8C9EFFF9F4D65406CDE0AB66 /* Result.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A03D18B60F1C426EF558F967B149830 /* Result.swift */; }; - 7E0C22AADD7C94FAED4BA3FA5802EA11 /* ObservableType+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 69DF594FDFE7BC49AA1019B10D7065E7 /* ObservableType+Extensions.swift */; }; - 7E20F5346ADC8F4F5C069EDDE10897FD /* MASShortcut.h in Headers */ = {isa = PBXBuildFile; fileRef = BFBCCDD4FB2BFEE4F62E4783156E5C68 /* MASShortcut.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7F04E0567A70E986129DD6C9E2B467F1 /* Deprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC7FD09C09D1BDD8476A89AA647DAF8C /* Deprecated.swift */; }; - 7F3021ED7A62270BBCA3F9A4C13285EA /* SynchronizedSubscribeType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6DEED24A26C9B7E2A8FFD080F9C8C2AF /* SynchronizedSubscribeType.swift */; }; - 7F56F52F0503DF86BAFA5E0245643804 /* Queue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 214BCB3965A64FB0986840C0E083418A /* Queue.swift */; }; - 7FB525438AD4F2FB899B71CE0FC1A059 /* Platform.Darwin.swift in Sources */ = {isa = PBXBuildFile; fileRef = 87580AD4D9D45E84D60D81B7D6E97C0A /* Platform.Darwin.swift */; }; - 7FF7CAC8360011983D8A150A70ECAB6B /* ObserveOnSerialDispatchQueue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8FE77EB2349A660DFADBF5CE01DEF91C /* ObserveOnSerialDispatchQueue.swift */; }; - 8087E705CC00CA7C021AF6601E343C7B /* AnonymousDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 56E8831C108769CCDBD44A22DC79FC6C /* AnonymousDisposable.swift */; }; - 81B5B2FE5823C56C6B5E712BF392F1B4 /* Sequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88C9C68749757A2F4BCA7FFF1CA0F9BA /* Sequence.swift */; }; - 81B6397FECC803695902CEDB37CB4DFA /* MASShortcutBinder.h in Headers */ = {isa = PBXBuildFile; fileRef = 90BD54F6E711E6C0C832CFD421265D40 /* MASShortcutBinder.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 83EF434424E7664543A3087F24738083 /* DelaySubscription.swift in Sources */ = {isa = PBXBuildFile; fileRef = 135780AE39D9C9BBD7443F7F21288DFB /* DelaySubscription.swift */; }; - 84A730F255D8C54A7F8A020CAC048A5A /* Optional.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0394897FCAD2777CF1A4384FE731D25C /* Optional.swift */; }; - 84CE2F3B9BC695F0B6E48B2D6405659F /* KVORepresentable+CoreGraphics.swift in Sources */ = {isa = PBXBuildFile; fileRef = B548E9BFF5CF1A650F920B46F2078971 /* KVORepresentable+CoreGraphics.swift */; }; - 852BFFEC5A19EC92A4A72C7072E11224 /* Repeat.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5A11BED0A468B53EAE2F900A790FB03A /* Repeat.swift */; }; - 85A2F7602621DE3FBE64FE43DE060EA7 /* Platform.Linux.swift in Sources */ = {isa = PBXBuildFile; fileRef = 912D7029A05911D1FB4ABFF9E2B851C7 /* Platform.Linux.swift */; }; - 86F7FE179A98E2787500CA0DD68F2574 /* _RX.h in Headers */ = {isa = PBXBuildFile; fileRef = C0064AD98E8E57DDFB68577F20E20FAC /* _RX.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 886E89D85907BBD7A8C8BAA088D23E3D /* GCDWebServerFileResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 04FCB8C241708CC45FF52AFA691DA336 /* GCDWebServerFileResponse.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - 889A7A900C61A4B93329387833E2C65B /* ObservableConvertibleType.swift in Sources */ = {isa = PBXBuildFile; fileRef = F72515DA7F790ADA9DF78910C67193DB /* ObservableConvertibleType.swift */; }; - 8AE3D3F02C4FC2EB6A10602D6A18A234 /* RxCocoaObjCRuntimeError+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9761A45C8B106617BE144782B56D8C8C /* RxCocoaObjCRuntimeError+Extensions.swift */; }; - 8B192520AA37984CAF1D2D760A62307E /* Merge.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B3D790CC9A67D70E3E0EDD445F085E1 /* Merge.swift */; }; - 8BAF2E7597F1559A99FFB9C4DBDD9279 /* Observable+Creation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E634B678C5C5CF993CA1475A75B7DEE /* Observable+Creation.swift */; }; - 8C5EA18EEE22A60BF10955E38F0D3A75 /* MASShortcutValidator.h in Headers */ = {isa = PBXBuildFile; fileRef = C6CF6A88B14EECBA592B26FDE26199CA /* MASShortcutValidator.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8C8CC54FC0B2BC4ACE282AD7EDE2CB6D /* Variable.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1F45AC654673C96B25C288CE2ED7757 /* Variable.swift */; }; - 8CBA48409C86D95E6C4ABF3B26B8D0B8 /* Concat.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7104A53E83466AD81DBF532DBA762E1 /* Concat.swift */; }; - 8CE914272F3F97EA9F1568043975674A /* ControlTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C59EAD8143A508A0231627DD42D5C23 /* ControlTarget.swift */; }; - 8D12A35F60C0393445B793DBB638575D /* ControlProperty.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99EFFE07C47D5D98611714C066D640BC /* ControlProperty.swift */; }; - 8E48DA9023ED9B9E18414F2827949056 /* Cancelable.swift in Sources */ = {isa = PBXBuildFile; fileRef = AB8D181B14C53055CA4F2D61166A6C7D /* Cancelable.swift */; }; - 8EA651DF52CCAF3C7F7F8DFE3EBA4130 /* ScheduledDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = FCBF6FFFBBE49493E089992E786E1A20 /* ScheduledDisposable.swift */; }; - 8F3401FDD9D855007B24BE4AB7C0FC04 /* SchedulerType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0947568290847B529166B4C9F28347BB /* SchedulerType.swift */; }; - 8FEBDE87BFA67E4AD0EC88774A1097F2 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EA9A1A86E1594EEC96C2B7214E16E50F /* Cocoa.framework */; }; - 8FFA3A6A77962B3A36B009A49634D081 /* MASHotKey.m in Sources */ = {isa = PBXBuildFile; fileRef = 550F2C93957EF2301541066CF63D46BC /* MASHotKey.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - 92805E4E337491904604FE86909924FA /* Timer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 81A1AAE28282C31243C72011FF5A4830 /* Timer.swift */; }; - 951C065E37A9ED6736A9697B231AC365 /* Multicast.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5374966D42537C6369072660B48CF199 /* Multicast.swift */; }; - 96719B2401B89179B97BE8828702C730 /* SynchronizedUnsubscribeType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 528841720C50D9A4B73EE2A4C6A8E132 /* SynchronizedUnsubscribeType.swift */; }; - 9676160A622D6A1E0ED9A304D56E9E0B /* Variable+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5EFC56330DB909884DFCFFEE79C788F2 /* Variable+Driver.swift */; }; - 977E457DD1A321217C8A9CA0B1AC8C61 /* SkipUntil.swift in Sources */ = {isa = PBXBuildFile; fileRef = B90BBC0A33E35F445599411A4755CA2E /* SkipUntil.swift */; }; - 9794085A02FC87CF773A9EFB60C40F78 /* ConnectableObservable.swift in Sources */ = {isa = PBXBuildFile; fileRef = F6A1E5B8450A97482BAF559588B3DD71 /* ConnectableObservable.swift */; }; - 97B374490F695A6ECB06271EF080EB6C /* nl.lproj in Resources */ = {isa = PBXBuildFile; fileRef = C32CA98BF3892E9768040A5EE4DCCCD2 /* nl.lproj */; }; - 98FBAAEB02A3A0CAA335BD31829CF985 /* ObservableConvertibleType+SharedSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6CE6F293A7A5280E8364DA3F1C0B4B1B /* ObservableConvertibleType+SharedSequence.swift */; }; - 99662A21FAA5C025E034AAA5428E8D63 /* Observable+Binding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34B22FFDD2CE991366EAEE41BA0B706A /* Observable+Binding.swift */; }; - 9A551C74F80912EFDFC942535ECA28BE /* RxCocoa.h in Headers */ = {isa = PBXBuildFile; fileRef = 8865ABAF07DEA295CE14F00DEB443C41 /* RxCocoa.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9B18C2229AEFC7674EF9795A7A77DCEB /* Driver+Subscription.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3690656BBFBCA6B31887844429A9D961 /* Driver+Subscription.swift */; }; - 9B622302DDDA1881AC9ABA9EA4C81564 /* BRLOptionParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B53429CB1F8A25076762F2D82D97CCF /* BRLOptionParser.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9BDE5D29C68F5622298CA4A54A2BCDD0 /* DistinctUntilChanged.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBCDC9591CE194B7B56FC4194F75DB4E /* DistinctUntilChanged.swift */; }; - 9BE2B48A0DE5CE3C3B4EAF39DA85A876 /* CurrentThreadScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = B4FB77C479CBE2951C13C488C5CBE57E /* CurrentThreadScheduler.swift */; }; - 9D6566D484F3BA80C9400E9DD202C281 /* Bag.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2EBB434DC5BFF77FC3F8C0215BDFC40F /* Bag.swift */; }; - 9DB91F7B392D045AB8451F515D20D649 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EA9A1A86E1594EEC96C2B7214E16E50F /* Cocoa.framework */; }; - 9EACF2968862DF9219BBE32011842CDF /* Reactive.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7D6462467149007CC9112C18E0FA2BE0 /* Reactive.swift */; }; - 9ED2BB2981896E0A39EFA365503F58CE /* AFError.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7CAE213EE8F8ECB17980C4BF269D35A /* AFError.swift */; }; - 9F5E6138A3FE1726687C407708C71B4F /* ConcurrentMainScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0B2BA85AB97126B7F170B024F033AF4F /* ConcurrentMainScheduler.swift */; }; - A0C03D1525E6CED9442AE65F080B12E2 /* CombineLatest+Collection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 58FCD780817CA60F10D6C39A083DDCDC /* CombineLatest+Collection.swift */; }; - A2215749D44CF8D1C3F40EBF3FDE3DBD /* DispatchQueue+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30D8B840460D79AB3B8AB39A4164F4B7 /* DispatchQueue+Extensions.swift */; }; - A2871C692E9B86522F46AA4100144621 /* Zip+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23D34D0E9C66E6F9595722372B9AED8D /* Zip+arity.swift */; }; - A2A6F71B727312BD45CC7A4AAD7B0AB7 /* NetworkReachabilityManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = EFC679B790AD9EE3F36E8291BBECFF33 /* NetworkReachabilityManager.swift */; }; - A2CF744BF46B0F17DC6607F4D0D82944 /* KVORepresentable.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF51438B3E3A777BFCF7D021F49B4043 /* KVORepresentable.swift */; }; - A2E3CE14430670CE78113A4AA2282522 /* _RXDelegateProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = 0EED0973795941F05F42B25E0C0F6D99 /* _RXDelegateProxy.m */; }; - A41241F5F212D2959EE88A02DA4B8006 /* ObserveOn.swift in Sources */ = {isa = PBXBuildFile; fileRef = A24870AF7F42FAA0AD9ABB0325F1E135 /* ObserveOn.swift */; }; - A4DBF0AB2E88B1A9D1078042F47618B0 /* ru.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 15FDCB75F28FF0766B21B59543A5AFED /* ru.lproj */; }; - A66A89FE5B6FC0BB454C391B22DA9E5D /* ControlProperty+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = F91767E7613F8479E6F65DDF39CDB558 /* ControlProperty+Driver.swift */; }; - A802DC058B09432DF8F56F89406CF4F3 /* InvocableType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D21B3357EAEBF44D19D3A611848628E /* InvocableType.swift */; }; - A8F15851A3BDF0B2474224E5776281DA /* RefCountDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62A7E7809BC29FA83778B027FE2021B6 /* RefCountDisposable.swift */; }; - A9EA920651EC47BDE57A5BAAD44EF55B /* AnonymousObservable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1C5B91DC04B3865DDDDC72512A5C3F54 /* AnonymousObservable.swift */; }; - A9EEEA7477981DEEBC72432DE9990A4B /* Alamofire-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = A030F5167FA6558FE91D25425A0B9CBA /* Alamofire-dummy.m */; }; - AA7CDF00DFA1EAFF7F28CAF33FE5BC37 /* MASHotKey.h in Headers */ = {isa = PBXBuildFile; fileRef = DE1C155D92F36B81A10B04D3AECC44DE /* MASHotKey.h */; settings = {ATTRIBUTES = (Public, ); }; }; - AB8322F9B396436A004AAEBD01BF3015 /* PublishSubject.swift in Sources */ = {isa = PBXBuildFile; fileRef = 65268C40FD5106D32C7C227F38209B3F /* PublishSubject.swift */; }; - AC5D1A3CC7602A05322EF0B0B7BF8B85 /* TakeWhile.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33045890E1D4469FBFD24F367E827FAC /* TakeWhile.swift */; }; - ACA9C9D1223FED43AAE8C8130225DCCF /* RecursiveLock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 911BAB036265D98689D411112E34B452 /* RecursiveLock.swift */; }; - ACBE29C4BF8BAEA483D6EEA940FE5314 /* MASShortcutView+Bindings.m in Sources */ = {isa = PBXBuildFile; fileRef = F9A79C0537300E8EC3B4938AE3FCCE88 /* MASShortcutView+Bindings.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + 2F09C0E96FFB9BB5E1C6859FFEE52243 /* RetryWhen.swift in Sources */ = {isa = PBXBuildFile; fileRef = B02D2CCB55C79CC489105A284681E7CA /* RetryWhen.swift */; }; + 2F3AC9381A9E7FAC24E5FCE88A4CE5B3 /* _RXDelegateProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = D513AE23EF59822A50C842BD0DBCC48B /* _RXDelegateProxy.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3076DFAD05E4F7F0356153478F071D74 /* MASShortcut-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 86EF52D40469183E91E1F9F4A4C3DB7E /* MASShortcut-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 30C68E520A23F2584DAB2A79211BEBF2 /* String+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = E3D82CA8C47AF99EB856A84326C3E899 /* String+Rx.swift */; }; + 30E2A73CDE464DC6C23D3524F07FBB9F /* GCDWebServer-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 49D1B1D3362220CE4BD47D6A84010E56 /* GCDWebServer-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 31E3754BD8CB50E1F603FA8187D0BAEB /* Platform.Darwin.swift in Sources */ = {isa = PBXBuildFile; fileRef = AB5416312C70D75361A0DB946599AE8F /* Platform.Darwin.swift */; }; + 329499C76B9B50E41F81D8811F286751 /* AnonymousInvocable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6CBE7E6944508A0EF00550266DE8CEBA /* AnonymousInvocable.swift */; }; + 32F4CE3866CF64A7E8ED48218423C50B /* InvocableType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 394DF70A944D44426FACC5545FD86F50 /* InvocableType.swift */; }; + 33669A1E8FF6BB34131FB94871DDF908 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 541635D209381E226C6EBA22A418CD79 /* Cocoa.framework */; }; + 34CEFB3816548F7DE18E93992EBB8B39 /* InfiniteSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0DCD43005EB1830DB699BC936D350202 /* InfiniteSequence.swift */; }; + 34D45081AE5854C510060D3213EC54FC /* NSObject+Rx+KVORepresentable.swift in Sources */ = {isa = PBXBuildFile; fileRef = D51C648881341C71C889F4CA77AB28C6 /* NSObject+Rx+KVORepresentable.swift */; }; + 34F323310C01C832E9B33501A1E67D6C /* Driver+Subscription.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC8E40C8AA1540219126B37677E9DFA1 /* Driver+Subscription.swift */; }; + 35067D15322894181C213B15742EF0ED /* NSSlider+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C18D7C6E0956FEAEC4D3F5B34AF9FB5F /* NSSlider+Rx.swift */; }; + 35B3DA850A250223EE5CEB9DB04D1FC4 /* GCDWebServerResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 853F87DF9EDE5FA2086B4A5E269E74AA /* GCDWebServerResponse.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + 36007A4DE5D5AD3FBDFF1BB65670AC90 /* RecursiveLock.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA4C77465D09EEC5691F5A4A055D6617 /* RecursiveLock.swift */; }; + 3626B94094672CB1C9DEA32B9F9502E1 /* TaskDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4ED617F852769328CA7989F542A1B539 /* TaskDelegate.swift */; }; + 36E0FA5FE4424D20F0215B1C2CD85D90 /* GCDWebServerRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = CB4D69786E5F8A46929EF2093BE3CB0F /* GCDWebServerRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 382EEA9832CF0E0860B998EAD0EE66E1 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9B307DD582C1B1C686F962200D2FB63D /* SystemConfiguration.framework */; }; + 38974DB132715266ADE00F2E3DFBB320 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 541635D209381E226C6EBA22A418CD79 /* Cocoa.framework */; }; + 38A405B7BE5AE9335ED1184C9AA39BB3 /* Observable+Single.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE7619ED4FDEDB6024E82D2D42CF324B /* Observable+Single.swift */; }; + 38E1C586DFAE6FE4AEC184142A258A8A /* RxSwift-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = CC19C5B8ECC4D43997825C975DD96B95 /* RxSwift-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3B0444A4F038DD378185F890F477B06E /* RxCocoa.swift in Sources */ = {isa = PBXBuildFile; fileRef = 360DA50C9A08694D5E723C8D33F6B531 /* RxCocoa.swift */; }; + 3BBEA6ECB2BDD5C142B27FBC119CB592 /* DelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 69158B24E577C42B2B47AF7F1DAA88B5 /* DelegateProxy.swift */; }; + 3BE9C85B9E63D2B0F62FFAB155818FD0 /* NSControl+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42F07685AEED1A5E7C5A5E77B6A9A4A9 /* NSControl+Rx.swift */; }; + 3CBED5F76AF5EBF439C788188CB413F4 /* NSLayoutConstraint+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BC7E4E8C739AB1B6167C07AA04EEDFE /* NSLayoutConstraint+Rx.swift */; }; + 3DD0362B0B6B939B5D087A150121A4B1 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 541635D209381E226C6EBA22A418CD79 /* Cocoa.framework */; }; + 3E0DBF5FA0FA6FA05D39A1278AC8EBE4 /* DelegateProxyType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 837E8E741DAEAEB0326BF12C8509386C /* DelegateProxyType.swift */; }; + 3E715DFE443524EB6ADE892E4A676224 /* GCDWebServerMultiPartFormRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 9FF05C2DEA8CE1D195F74E268C828FEE /* GCDWebServerMultiPartFormRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3E9CBD489D752B59F4BAFEA743FD3263 /* Observable+StandardSequenceOperators.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DE1A985FFB33D04EE108BA94B2CC300 /* Observable+StandardSequenceOperators.swift */; }; + 400E90601302DBBBB9A0C1238CFB378C /* Queue.swift in Sources */ = {isa = PBXBuildFile; fileRef = FA7E0ECF594372C7B7C3636C13056BEB /* Queue.swift */; }; + 40244570E31BDC4D13572A226B50DCF5 /* SynchronizedUnsubscribeType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8951081556657AFE491F4F47CEC8FDC9 /* SynchronizedUnsubscribeType.swift */; }; + 41826BEFDB497FE15CD2A5BE8FCBCEBF /* ControlTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = B7259270F8E34C847D7D5C20753986D4 /* ControlTarget.swift */; }; + 41B7697D953D7CBF8C2269467644E35E /* Sequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = F0CF53499248C2BA38EB7329DCC0F385 /* Sequence.swift */; }; + 428F1C1E2760D29B6D913561B3A411BF /* AnonymousObservable.swift in Sources */ = {isa = PBXBuildFile; fileRef = ABEAA09A8F460B8E0F9C841B67FBA878 /* AnonymousObservable.swift */; }; + 42B1F1781501E30E4C18AAC2E257D47F /* Platform.Linux.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9D1DF532DB987144FB7ADD52824BACB /* Platform.Linux.swift */; }; + 4382F015B0F61FD36A235650F75C4605 /* SkipUntil.swift in Sources */ = {isa = PBXBuildFile; fileRef = D95D2CEDDFE60DCB16DBE51DDFCBDC0F /* SkipUntil.swift */; }; + 4541C2177A5383985349E0A51FCE225E /* CombineLatest+Collection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09501B20A99EA64EF086677B5E09B83D /* CombineLatest+Collection.swift */; }; + 457C330AB459C778CF438436BFEC6ADC /* Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 22417B0BBC393F8B418FD1980F87677B /* Driver.swift */; }; + 45E9E2F38B985EF6FA9EF159C2FBB34C /* Concat.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D2FF899CC2BC0E2287C5427B03E9CDF /* Concat.swift */; }; + 460574FE11E2D1422F64E94116DD7885 /* Observable+Time.swift in Sources */ = {isa = PBXBuildFile; fileRef = 031D174D193D61C814A6A4AB319D3D39 /* Observable+Time.swift */; }; + 46CC11334B9096D86E249C3D99176B4F /* PingUtil.h in Headers */ = {isa = PBXBuildFile; fileRef = 8872F699901E18AE0FB6D36963747A18 /* PingUtil.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 480440D429395DDA6D3743627383EEF5 /* AnyObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E22BF4F555FDF5E0BF0318947891E5C /* AnyObserver.swift */; }; + 4818C1BB29E7C2BF255D9941737665EA /* MASShortcut.bundle in Resources */ = {isa = PBXBuildFile; fileRef = A8A0A3D0716F080419F265C10AADD4A7 /* MASShortcut.bundle */; }; + 48F848F3041EDD002CEEB571CFBD92F9 /* ScheduledItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 12501C8036DF392CCADD9A024DE70E8A /* ScheduledItem.swift */; }; + 48FE45BD7BF4ABB32A024550ED96B4C6 /* GCDWebServerStreamedResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = ED16BB320405FDB93EB12CA5924D4BC6 /* GCDWebServerStreamedResponse.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + 493E24A302918E1415A8BF5D6631E4D1 /* ConnectableObservableType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0FDD8C2877DC3FBFD524D52FD741FEC9 /* ConnectableObservableType.swift */; }; + 49EB792DE2350BCC128C152D15AE2C1E /* SubscribeOn.swift in Sources */ = {isa = PBXBuildFile; fileRef = C56E2865B9D007A6A69EAE79796C6D08 /* SubscribeOn.swift */; }; + 4A0AB68C051A5D12CF763C5314F3139E /* AsyncSubject.swift in Sources */ = {isa = PBXBuildFile; fileRef = 496D48DC6591837199B96F5194A8C1FF /* AsyncSubject.swift */; }; + 4A6AF0A712D4C473177BE88389D15D2A /* MASDictionaryTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = F4BFC0CAE4438D1B80B1E09CBD690E9F /* MASDictionaryTransformer.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + 4AA0CED4F606872DEF4F61B1D5FFD53F /* StartWith.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4074D54AC8FF5825E9482EA326C54D6 /* StartWith.swift */; }; + 4B1C4ACADC903FEF72C343808A99ABE8 /* PrimitiveSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 935A68B10956CAFB7C47182213A28F72 /* PrimitiveSequence.swift */; }; + 4BC3CC2D51B6526FBE46AD71901DFE98 /* Multicast.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9EE7FFD7664638E522BE120AF2E62CE /* Multicast.swift */; }; + 4E1956EF3CF509B3EAE80C4438FDD18F /* SectionedViewDataSourceType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1D25426388E3A75086898CD2D008D429 /* SectionedViewDataSourceType.swift */; }; + 4ED7E0534E6B997446FEC52CF8BB36F3 /* InfiniteSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = EEB29114C165F4D3F6DD09742E3560AC /* InfiniteSequence.swift */; }; + 4EDE49009B5B68074CD71F8B362F0DDC /* GCDWebServerDataRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 6935A55DCDAA25AE27D43322A3B5F25C /* GCDWebServerDataRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 50529966E724F6B99CA48503817DDD2E /* SchedulerType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 213CD63772496C86BA19EDA1F199E2AB /* SchedulerType.swift */; }; + 50B407D5FCD4526ABE4DAE67F766410A /* Platform.Darwin.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A6740BC86965C485F8B76DA8E1F3B13 /* Platform.Darwin.swift */; }; + 50C8C8E4F72460010439E54ECE7108D3 /* Amb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 410BA16F83DF36ED64759FCA083473DC /* Amb.swift */; }; + 50FB485D65543696C6533784C5C73C0E /* ControlProperty.swift in Sources */ = {isa = PBXBuildFile; fileRef = DA8DA42C1D5084460D4C3B2574E89E3C /* ControlProperty.swift */; }; + 51358F3E24AC8F1A4172E388769FF1FA /* MASShortcutView.h in Headers */ = {isa = PBXBuildFile; fileRef = C846A01E2C13E47993767941C9F38B45 /* MASShortcutView.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 52363BFF8DA89A2DF3A96125A0C6A503 /* VirtualTimeConverterType.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA6A090788261C4370975C10777C7218 /* VirtualTimeConverterType.swift */; }; + 52A961E1778F8815140E0100496FA737 /* KVORepresentable+CoreGraphics.swift in Sources */ = {isa = PBXBuildFile; fileRef = 739C766D62048607EB6A576C3A68FB7E /* KVORepresentable+CoreGraphics.swift */; }; + 52D60744960E75138AE4BE9D7FC5D1A8 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 541635D209381E226C6EBA22A418CD79 /* Cocoa.framework */; }; + 52FF712751DFFBED45BB205CC2942047 /* TakeWhile.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0A06C73B27B8E761462B3D7D5719FBC /* TakeWhile.swift */; }; + 5387216E723A3C68E851CA15573CDD71 /* Request.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9A6E80EAEA3F19D3F2CCFA9C71542F7 /* Request.swift */; }; + 53D63A17DB43C044EFBAA17337600276 /* GCDWebServerRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 9A17CA28B45C048234AFE70E575A4CBD /* GCDWebServerRequest.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + 53D7019EAFDBDEDA057BF35898C389C4 /* Observable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 772FBF1C6AE60546045AFCF785D15A60 /* Observable.swift */; }; + 546CF011930D11BBF190A58B52BCA7C4 /* AnonymousDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8251D9CF87DF3740CA82F5DA8E1A2CE /* AnonymousDisposable.swift */; }; + 58CE04D9C6CAC7243825ABF4AB20EF32 /* MASShortcutValidator.m in Sources */ = {isa = PBXBuildFile; fileRef = CB8BD7CB2DE097E36340ACCC44E60C1F /* MASShortcutValidator.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + 5A30DAB76BB1814664FA7DC30939DA24 /* MASShortcutBinder.m in Sources */ = {isa = PBXBuildFile; fileRef = 1C534EA5295FCF66868EE87F6E183146 /* MASShortcutBinder.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + 5AF4463F09295FEF4385B01616A66AE8 /* TakeUntil.swift in Sources */ = {isa = PBXBuildFile; fileRef = D88E546DA4DC8A6885E32165B6B7CDC8 /* TakeUntil.swift */; }; + 5C35B49DED9CDEBBDB3AF15AE4CB1656 /* _RXKVOObserver.h in Headers */ = {isa = PBXBuildFile; fileRef = F04D9081D505B2B570DC33DE20B55D0F /* _RXKVOObserver.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5C4112995450C3A39978B8717B6D4F10 /* ScheduledDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78BD95BEC3668F37DBC2E000C117ED3F /* ScheduledDisposable.swift */; }; + 5D18125D1E7AFAA8FB4E812251774EDD /* InvocableScheduledItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = DBC8A4EDCC04F46400A2E68C68BD8B02 /* InvocableScheduledItem.swift */; }; + 5DC71F1088EAD8F09FE4A142E1A0051D /* SynchronizedOnType.swift in Sources */ = {isa = PBXBuildFile; fileRef = B48374C2D832D3A98114DE13C0E8C30B /* SynchronizedOnType.swift */; }; + 5E11B9D778FEC4E0027E2B18EB026094 /* PrimitiveSequence+Zip+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE04C5620868F5FBB86509FA74FF6C18 /* PrimitiveSequence+Zip+arity.swift */; }; + 5F1FA9D431587CD257C703AF16134030 /* ja.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 0B7454F8E7539A20A531754287691887 /* ja.lproj */; }; + 5F2EC5C73DC23AD4B8B289702B2040D6 /* Disposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C69558656458B4337B7A7F5991E8F8AC /* Disposable.swift */; }; + 5F4889FB8DF3609135C00C3F24141D81 /* Range.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01C37DDB396A31B5404BBCF5F44D7151 /* Range.swift */; }; + 5FF7D42F51FEAEB192E61355AAEAC6DE /* MASShortcutMonitor.h in Headers */ = {isa = PBXBuildFile; fileRef = 7B43BD81C11C56E833936C952A16337A /* MASShortcutMonitor.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 61200D01A1855D7920CEF835C8BE00B0 /* DispatchQueue+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC47BC8B2FE9F53B44ABD444462F7220 /* DispatchQueue+Alamofire.swift */; }; + 618D3C71663174E07B65950421C46D48 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B93FE6C9D4DD39AC96E0F2748AC55A16 /* AppKit.framework */; }; + 6233CE6AAB7F8B37C083EA39A8EEA4E1 /* DispatchQueueConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = C71BE0180CAD9FF63D6198C7C8BF63E0 /* DispatchQueueConfiguration.swift */; }; + 62D51BDD5CDBAE0F3C2B0AC9CAE16822 /* DefaultIfEmpty.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE96E14244F53E32E37D2501A7C44E4B /* DefaultIfEmpty.swift */; }; + 62ECAC93A1DD7F7E8FBBF4EC7AE4766E /* ShareReplay1WhileConnected.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8800AE6CCDAE1B7F4AB8A1C3AEC716CB /* ShareReplay1WhileConnected.swift */; }; + 62F65AD8DC4F0F9610F4B8B4738EC094 /* ServerTrustPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 14FBFC574BADC66C81F27ECF39C5F086 /* ServerTrustPolicy.swift */; }; + 63595F4168565B6BDD4BBB0DB7EDDE1C /* Zip+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1FCE1459ABAAC6CF32AE041118D097A8 /* Zip+arity.swift */; }; + 64C161A1B66557D4D03CC116FE30907B /* DisposeBag.swift in Sources */ = {isa = PBXBuildFile; fileRef = 170DCD05D6AB7844F8D431D40453305C /* DisposeBag.swift */; }; + 6602426F34CB177621F50A1521FD40EE /* Observable+Bind.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4246404957CA85BBF1FF5AB2B05B9987 /* Observable+Bind.swift */; }; + 662D3653FA79037EEB57D8439E2731B6 /* Merge.swift in Sources */ = {isa = PBXBuildFile; fileRef = B361466558591FD3F593DD4E6752491C /* Merge.swift */; }; + 66AD0D86950A5C05121AE482F5257717 /* GCDWebServerConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = 42DD341BD8230394DBACAE756A98F50B /* GCDWebServerConnection.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 66DEB394C39F5DCCD70A27ECEF274983 /* de.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 1F7B0CA157E36128B7D80398A249A2FB /* de.lproj */; }; + 66FD65B14E83621A1ECBE66714E0A17E /* Errors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5087073736A4C953879F5B993727F81B /* Errors.swift */; }; + 6784CE40B3F108925E837764E2DA14AD /* NotificationCenter+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5942EC9B2B959537ECEFB73154F32915 /* NotificationCenter+Rx.swift */; }; + 689E3853DB4EC9F349A6A02FBFA612EE /* SerialDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68EC6D81C4720C4DBCC1A91BA6F809C5 /* SerialDisposable.swift */; }; + 6B4361F5ADC6268E7953732371174FE9 /* MASShortcut-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = B486C2D8CBBC773FB719D2FB702EDA76 /* MASShortcut-dummy.m */; }; + 6BBF85C5416BC6D4CC16F5B9A696F422 /* Pods-ShadowsocksX-NG-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 14A9EC2BB1EC6484018A5EB4B9B2C231 /* Pods-ShadowsocksX-NG-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6BF9BF549BA5A63E908438ABB4B72E03 /* RxSwift-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 3EF9A2072EA869E89AE127F63D78C077 /* RxSwift-dummy.m */; }; + 6C62ACD1AF9B80626023D3E654D3E77B /* GCDWebServerStreamedResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = A17C629CDD2B77E8335385ADBE479957 /* GCDWebServerStreamedResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6D63F0EABD901E66044CA93D64FF9709 /* SubscriptionDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8075738A1371E1A9B350132FDBEC9268 /* SubscriptionDisposable.swift */; }; + 6E7FC681B86F2C29AE1E263838BF33AD /* PingManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EA305566CE160175F2810DDA334B448 /* PingManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6F499FF6C2CB9C2D19F990B73BDD758C /* Variable+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68E6DAA9FF19D551E5E3DF14725FD9BA /* Variable+Driver.swift */; }; + 6F551B3DB9330EE56759808F80A5667B /* Reduce.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8F6E06740346183D5BE4336802A9412B /* Reduce.swift */; }; + 706576B85A1ED681821E779DAB62E113 /* ShareReplay1.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27F3FE292B2319024D9974F77AA33647 /* ShareReplay1.swift */; }; + 72771B5B5BC439EF3F21D1EB3B0A566C /* XYPingUtil-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 01A90D7AB3281F887DDA6B292B2AEAE2 /* XYPingUtil-dummy.m */; }; + 73A018AD0A797855553E5E875B4DC25A /* Scan.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5CB739C4773DCCBE2418B05EF30FCA6D /* Scan.swift */; }; + 74274D2E6B24F39195E9446E46D757E0 /* SchedulerServices+Emulation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6486E45659F40A59C6D1C0F375BC0663 /* SchedulerServices+Emulation.swift */; }; + 74EFCC6DC65CEBCF60B106F7FBB14EA2 /* MASShortcutMonitor.m in Sources */ = {isa = PBXBuildFile; fileRef = 56A163745012A5285864F554FCCDA5A8 /* MASShortcutMonitor.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + 751AC207B038ADC338015FD80AA54B76 /* MASLocalization.h in Headers */ = {isa = PBXBuildFile; fileRef = 36484E288D4341558E1F3EE234449FBF /* MASLocalization.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 75E5E32A6A16B89FB92D90C4399EA959 /* ReplaySubject.swift in Sources */ = {isa = PBXBuildFile; fileRef = 107E9EA23BF6700E79C50CDC280142AF /* ReplaySubject.swift */; }; + 7609A481F5A3F1175E15BEE4422FD4F8 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 541635D209381E226C6EBA22A418CD79 /* Cocoa.framework */; }; + 76537FCDFF46E2EAA84E9632DB6A21ED /* MASKeyMasks.h in Headers */ = {isa = PBXBuildFile; fileRef = 373382D953B210F2B54E4302BA7352FB /* MASKeyMasks.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 765937186C18E032C3E7ADA8AB15D8E4 /* BinaryDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECB9009F158B673C0CBEA6F1DB183A7C /* BinaryDisposable.swift */; }; + 7684B9ACE6F892A454E87B0059708FEA /* Event.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84B3E5EAEDA6817ABA811BD0879AE625 /* Event.swift */; }; + 76C020F1B74267F4E00392ADFB5158FA /* Using.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3671A983CF6BB3A955D63C0EE38A42F /* Using.swift */; }; + 77866A2A0A426A7DE33401EAFC92EA51 /* DelaySubscription.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7736B6B772B3A781434235A79FD7FE03 /* DelaySubscription.swift */; }; + 77F1A6AC76F9667E21075A3512C33662 /* RxSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0DD11AC12391ADB0A9D7FCABF49377EF /* RxSwift.framework */; }; + 7805728F6455C7D31149ABFFCBD85A90 /* ObserveOn.swift in Sources */ = {isa = PBXBuildFile; fileRef = 20AA113AD0049F0795CC22FD95BBB826 /* ObserveOn.swift */; }; + 783FF9A8E4EBF76BA340A6802DEC041B /* Zip+Collection.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63D51308803184BBD23A21BEF2CAC2E /* Zip+Collection.swift */; }; + 792A4427694FB1931A07A62A11507DE2 /* RxCocoa-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = E6D55B5F10C548CABD9A58BC50DA464D /* RxCocoa-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 794E58C182C9FA6974A69B41E81515DE /* _RXObjCRuntime.m in Sources */ = {isa = PBXBuildFile; fileRef = BFC42B9BD33E8EC7BCCBDD020BD54D40 /* _RXObjCRuntime.m */; }; + 79625A4CE4AE36636F930EBBCDD2954F /* ControlEvent+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B01C689FD3DA95E7F9C9CE150395340 /* ControlEvent+Driver.swift */; }; + 79FD82966621903E8313A125D44BE93A /* Observable+Aggregate.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3235C7761F201DDD236EE8D42110E15 /* Observable+Aggregate.swift */; }; + 7B0CDF4E87F1D47F72CA2007D6F32F99 /* Timer.swift in Sources */ = {isa = PBXBuildFile; fileRef = A13B83F2C8CA6635B43983B04B08195B /* Timer.swift */; }; + 7B2D47B24C516306105A0B71DADE0E9A /* Bag.swift in Sources */ = {isa = PBXBuildFile; fileRef = 72F525D23BB02F278F13FE1D8039E96B /* Bag.swift */; }; + 7B5FE28C7EA4122B0598738E54DBEBD8 /* SessionDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 92CA538AFEA6F001423616DA08DDB61C /* SessionDelegate.swift */; }; + 7B6D03AB71890047F797E7A59B27B2EA /* Observable+Multiple.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F4A3554E28AD5D6CAA661C59A4FDCD9 /* Observable+Multiple.swift */; }; + 7B70A32CB535894B889DC0400D0DE4B5 /* GCDWebServerDataRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = CF670BD3F4B454A037B3F97C7C1C088C /* GCDWebServerDataRequest.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + 7B8A5703BEE2D9BD213396C962FC1804 /* Debounce.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9D5EA0A9E8217AEE79B6F95E23BBC30 /* Debounce.swift */; }; + 7C46C6DFBF9F5A96C6BCE1C93052B63D /* GCDWebServerHTTPStatusCodes.h in Headers */ = {isa = PBXBuildFile; fileRef = A2763F2948983CA8DF530DA70A8DCE8E /* GCDWebServerHTTPStatusCodes.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7D8CC01E8C9EFFF9F4D65406CDE0AB66 /* Result.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59D4E2909118474F4509B22696DC8922 /* Result.swift */; }; + 7E1D2502415371D0B97026801DA8AD68 /* WithLatestFrom.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61DE68AB8FF9A1B46A343FD457B2BA0A /* WithLatestFrom.swift */; }; + 7E20F5346ADC8F4F5C069EDDE10897FD /* MASShortcut.h in Headers */ = {isa = PBXBuildFile; fileRef = 557CECDC6DDDC2CA7B81A5E4A7AEAA95 /* MASShortcut.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7E57E94DA036D065CCDDE3838A430803 /* Platform.Linux.swift in Sources */ = {isa = PBXBuildFile; fileRef = B62FA5DBBFAAEB9DCCA03AD7F5B86538 /* Platform.Linux.swift */; }; + 7F761FD1228BB195BCDA41CEFB33D2AF /* GroupedObservable.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7303C27407BC41C7142BF4A43116A8B /* GroupedObservable.swift */; }; + 800D3C6760439199F642FFD8A72F636C /* CombineLatest.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB2BC1FD6BD755AA62FBFE8D34E0BFE4 /* CombineLatest.swift */; }; + 8025DDDD86DFF50136621E8CD0EFF49F /* NSButton+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1080DFC47570C1C01A3AD84409B8C952 /* NSButton+Rx.swift */; }; + 8068D036F7D7316EF625AFE29ECEB05F /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 541635D209381E226C6EBA22A418CD79 /* Cocoa.framework */; }; + 81B6397FECC803695902CEDB37CB4DFA /* MASShortcutBinder.h in Headers */ = {isa = PBXBuildFile; fileRef = 173E823C413E3587212438EEC2E0FFC2 /* MASShortcutBinder.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 857F22278E75DDF29A9698F975439469 /* Skip.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7521EC263853AD7395BC8B85F548D46E /* Skip.swift */; }; + 878BF050FDA8909A4BFB945F30B2AEE4 /* ObserveOnSerialDispatchQueue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6173B4694F9D3D845CB4D9D50EC41087 /* ObserveOnSerialDispatchQueue.swift */; }; + 886E89D85907BBD7A8C8BAA088D23E3D /* GCDWebServerFileResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 7C6FCC78D09A845D08FCB5E08C0D54E8 /* GCDWebServerFileResponse.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + 888B85289F06B737C0BA1F9B1DF57233 /* Take.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C640DAED5BA3A58BED1DB9863F13D5A /* Take.swift */; }; + 890B1FCF479DF4D27561E143B0680286 /* ElementAt.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB52BA9380CA292BDA95779F46DDC439 /* ElementAt.swift */; }; + 891F9C8AA1F6A62016BEB276B2384596 /* _RX.m in Sources */ = {isa = PBXBuildFile; fileRef = 714BB33CF2C0A1869EE104FBC3FC7B43 /* _RX.m */; }; + 892420D6E5AA7E203A19E605FE75000B /* Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 581D5A04F00F822F1B2D48BC9E62548F /* Rx.swift */; }; + 896F79AF189D33E993ED4875D31DF7DC /* SkipWhile.swift in Sources */ = {isa = PBXBuildFile; fileRef = 449BC1DF0D4CE4C2BC6FA4C1E46C8776 /* SkipWhile.swift */; }; + 8ACB79AA505AD2974A625DF1AFCCC8CD /* CurrentThreadScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18BDBCB4C5EBD3EC43DD98B59015822C /* CurrentThreadScheduler.swift */; }; + 8ACD9947963C0D8FC67AAF64B95EA5E6 /* Repeat.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F06090977A101E9A348F9512FBD5963 /* Repeat.swift */; }; + 8BBDA02E9EA5371C8775343B5A3D3F62 /* NSObject+Rx+RawRepresentable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F1CD32D28255586A9D5889E5F401198 /* NSObject+Rx+RawRepresentable.swift */; }; + 8C49B4E397E993F44D9CDF82C869DB11 /* NSTextField+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9A4FB373BBCA9641D08F276694B338E /* NSTextField+Rx.swift */; }; + 8C50E5BB7107788841E6E71039C8932A /* Cancelable.swift in Sources */ = {isa = PBXBuildFile; fileRef = F22511ECC3C239934195103A8969B9F0 /* Cancelable.swift */; }; + 8C5EA18EEE22A60BF10955E38F0D3A75 /* MASShortcutValidator.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B9E4025914D7F3569C3F170C0857AB0 /* MASShortcutValidator.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 8D92B3A07B2FBFE05143259AA86656CA /* ObservableType+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9CF0525D72C48EB23D1F63D5E3ADA325 /* ObservableType+Extensions.swift */; }; + 8FC310D0EBDD40F0B7C0A465DBE2B075 /* SingleAsync.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC928D4069D072E9A0416FDD4D19BAEB /* SingleAsync.swift */; }; + 8FFA3A6A77962B3A36B009A49634D081 /* MASHotKey.m in Sources */ = {isa = PBXBuildFile; fileRef = F1F24CFC2917FBD63A5BEE8338464031 /* MASHotKey.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + 900F2FA68841E2235F4F0E3C40ACA5F2 /* SerialDispatchQueueScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 86437738F02288E7D2F61E326E88B973 /* SerialDispatchQueueScheduler.swift */; }; + 9245F5E200F5524D8A7D09889E563FCB /* ScheduledItemType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 942803270D96FC6A462D7D073F0172F2 /* ScheduledItemType.swift */; }; + 935300A0813D5EE7304234859ABBF34A /* ObservableConvertibleType+SharedSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 20756754FEABF062656B7A90628FB243 /* ObservableConvertibleType+SharedSequence.swift */; }; + 93C97D4281BFD2C2D6D1E15A29509487 /* GroupBy.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA9AD8F999263CC2A50BB409CA132FCA /* GroupBy.swift */; }; + 9700F9841DC79916857426578B72C7DC /* AsMaybe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96CAD7B3794996568E4DA83C44A90DF8 /* AsMaybe.swift */; }; + 97B374490F695A6ECB06271EF080EB6C /* nl.lproj in Resources */ = {isa = PBXBuildFile; fileRef = EFDD7F6B0BF3FDA0B54A286C67E25166 /* nl.lproj */; }; + 98C28BB352EEDD363122F244CC934BFA /* ConcurrentDispatchQueueScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4BE1B26021A336516A8A062DB13243CB /* ConcurrentDispatchQueueScheduler.swift */; }; + 9AB49D82B36A65549A32C6385316E45B /* Window.swift in Sources */ = {isa = PBXBuildFile; fileRef = A41BB146AABCC8CE57A1BB3344AD663E /* Window.swift */; }; + 9B1496C9DC001AC73C77AB1D88D409DF /* _RXObjCRuntime.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C178B18798BBD55606EF80DA2C1A212 /* _RXObjCRuntime.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9B622302DDDA1881AC9ABA9EA4C81564 /* BRLOptionParser.h in Headers */ = {isa = PBXBuildFile; fileRef = A6177527A7FB1DCDB83570CBECCB10EA /* BRLOptionParser.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9DB91F7B392D045AB8451F515D20D649 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 541635D209381E226C6EBA22A418CD79 /* Cocoa.framework */; }; + 9ED2BB2981896E0A39EFA365503F58CE /* AFError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9DB47B26EE37F1328B8F4694EB5F1804 /* AFError.swift */; }; + 9F4693368B07C2738CEE522AAF021EB8 /* Producer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 210B0D95A2BE9C73189824B2138A4FA4 /* Producer.swift */; }; + 9FEDCCFEE728734D4790D4A49B8D4659 /* SwitchIfEmpty.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A36D783DDE370E8E04E080AE3F46E2F /* SwitchIfEmpty.swift */; }; + A2A6F71B727312BD45CC7A4AAD7B0AB7 /* NetworkReachabilityManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 777A725E8F7739B90AC1A98CF7044517 /* NetworkReachabilityManager.swift */; }; + A36FC423698674E72A1DD5FCD8FA077D /* HistoricalScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64C9AFA630CDDC69A34A3A3EC227D4D0 /* HistoricalScheduler.swift */; }; + A4DBF0AB2E88B1A9D1078042F47618B0 /* ru.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 05FFA34D450387E7C88314C97A2D048D /* ru.lproj */; }; + A6C9EF87C7551C00D1A3157C57AFBC6D /* NopDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1B99DAB4F0748D15007A40D5B0547B21 /* NopDisposable.swift */; }; + A79BFFB18D36B5C3B98160D3B46036E4 /* XYPingUtil-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 45C65FA3F78F0AA16EE65F4F0AF2080F /* XYPingUtil-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A9EEEA7477981DEEBC72432DE9990A4B /* Alamofire-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E70B73466255186AB739B758E86AA9E /* Alamofire-dummy.m */; }; + AA52149DECEDAFB9F82D4A0EEE137966 /* _RX.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C0A005DAAE9E72BC44AFA2AC39570E3 /* _RX.h */; settings = {ATTRIBUTES = (Public, ); }; }; + AA7CDF00DFA1EAFF7F28CAF33FE5BC37 /* MASHotKey.h in Headers */ = {isa = PBXBuildFile; fileRef = E8D99A31D180383D08E83F87DC83E793 /* MASHotKey.h */; settings = {ATTRIBUTES = (Public, ); }; }; + AB10BBBC1CE9749827B14E1B9E9D8B01 /* Observable+Binding.swift in Sources */ = {isa = PBXBuildFile; fileRef = D3FA4F043A678102DDC435041EC5C295 /* Observable+Binding.swift */; }; + AC341D4277F26382A0473B2A3C60C64C /* RecursiveLock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D2AFD9DCE2A92C03D06E0322DD6C351 /* RecursiveLock.swift */; }; + AC454128B30D6C4B999A745E27EBECCD /* ConnectableObservable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 034479979C5FA71A17E66C64A8E5ED76 /* ConnectableObservable.swift */; }; + ACBE29C4BF8BAEA483D6EEA940FE5314 /* MASShortcutView+Bindings.m in Sources */ = {isa = PBXBuildFile; fileRef = FFBB47AF39FAB6F15F6EAB4468429D5F /* MASShortcutView+Bindings.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + AD0B5013398A53541DE6FE2A82FDF2FD /* SharedSequence+Operators+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9FCC5B78277CEFFB7FAFF57F3E1AE10E /* SharedSequence+Operators+arity.swift */; }; + AD5121506A0550A16653F0A5BBA8736B /* SynchronizedSubscribeType.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2B70457E577A355C32D6131D01E34D1 /* SynchronizedSubscribeType.swift */; }; + ADE37332A65217431C0A85A88EC10ED0 /* Zip.swift in Sources */ = {isa = PBXBuildFile; fileRef = 861B619C52D195B616174FAE200B35B3 /* Zip.swift */; }; ADE45FBACDF07286A544DC20605FE624 /* Pods-proxy_conf_helper-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = CE50445A73ECB9A2ED31A6FF93D45808 /* Pods-proxy_conf_helper-dummy.m */; }; - AE1EF48399533730D0066E04B22CA2D6 /* SessionManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78D3C582CD284C68D7B5FCF58D73BF07 /* SessionManager.swift */; }; - AE2B4C3519BCF47ED52108E615A778DE /* Observable+Single.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED29315833FAA1E5A338CFA8005377A9 /* Observable+Single.swift */; }; - AF816ABCF197AAB5DA7362510CBC36AF /* AsyncLock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7CBC95D81A39FE47DF7664F12F9FF6E1 /* AsyncLock.swift */; }; - AFA4B1D93CB3D6DC0AA571F54239C102 /* AnyObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = A57E4C19B3887697A8F7105471594B11 /* AnyObserver.swift */; }; - B0C1DEAEF59617FD104B45651A9E02E7 /* NSObject+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C22C8CFBFCA98BD54BABA13BDA83B12F /* NSObject+Rx.swift */; }; - B442B2E0FBC57B32C68E7F970A890863 /* SchedulerServices+Emulation.swift in Sources */ = {isa = PBXBuildFile; fileRef = CDC25BCC601EFEC02F400739EAD16FDE /* SchedulerServices+Emulation.swift */; }; - B65FCF589DA398C3EFE0128064E510EC /* MultipartFormData.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA733FB551621A6A266D57AAB2CEDC2C /* MultipartFormData.swift */; }; - B6E8854A928CDD5A03A136A92BAFFDC6 /* Generate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 423730810CF7CCE34FE8316CFF58F0B8 /* Generate.swift */; }; - B6FE3D84E41A57384175035BC92ABEAA /* RxCocoa-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = A299EE214CF95998A680C2E5EBEEC779 /* RxCocoa-dummy.m */; }; - B7EF65DA3A34ABF3B41F50ADCD198BDC /* GCDWebServerFunctions.h in Headers */ = {isa = PBXBuildFile; fileRef = BFD17FB0B8D729EB83B1AA769D30726F /* GCDWebServerFunctions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - BA54F883C123CBEDD90E739B2B2ACCAE /* Variable+SharedSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E934534DD61AA5D52BB8BD519A53726 /* Variable+SharedSequence.swift */; }; - BA6C45B6BC8AED9DCFC82D7CF7A8A929 /* VirtualTimeScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = D14826507A4DA27653782BD16CF7B1A4 /* VirtualTimeScheduler.swift */; }; - BBEFE2F9CEB73DC7BD97FFA66A0D9D4F /* Validation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C3DDD5AE0D4C7DFC098D473F24ADFC5 /* Validation.swift */; }; - BC1C0A9BB7F0E803C621E106D2DD292B /* Do.swift in Sources */ = {isa = PBXBuildFile; fileRef = 806CAD0BC89F898F94D939211ABC3384 /* Do.swift */; }; - BE5C67A07E289FE1F9BE27335B159997 /* ParameterEncoding.swift in Sources */ = {isa = PBXBuildFile; fileRef = C32DA9D913B14198C262DA3670259B16 /* ParameterEncoding.swift */; }; - BED10B12B35FCD3CA735FE8A3B65774A /* MainScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = B4A0B1A36A704F964703C9BC39827964 /* MainScheduler.swift */; }; - C06EE84D23391E9FA94864DEDE34F548 /* fr.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 8EDBB56EE738F917614C08B706C06291 /* fr.lproj */; }; - C171A65415727D094B9AF634E1D172A8 /* Zip+Collection.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB6A96F3AD4E1A22FFED4E6F0A4D1ECD /* Zip+Collection.swift */; }; - C50FA5B211B8916770FBE55623B83DA4 /* MASLocalization.m in Sources */ = {isa = PBXBuildFile; fileRef = 874D347DB51D5D3E716E95F6E97CFF9A /* MASLocalization.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - C6696D7D4F90372F47C224F1687AB5D0 /* DisposeBag.swift in Sources */ = {isa = PBXBuildFile; fileRef = D83C9C9C216CD46EAD7B39EB3A0A703C /* DisposeBag.swift */; }; - C733DF41496B0364EF379F77068B4367 /* SectionedViewDataSourceType.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF2C9231D3FFC3BBC92AD47C894E1F5D /* SectionedViewDataSourceType.swift */; }; - C779A6C734EA83712332BA6A13EFFE5C /* DelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8B0382153B0EC132C2BECD3DCB1193B6 /* DelegateProxy.swift */; }; - C7A9B35BE31DF4C7DE1082BB94D1E8F2 /* StartWith.swift in Sources */ = {isa = PBXBuildFile; fileRef = 612574DE7BC9EB82F4DCE7D2E38318B9 /* StartWith.swift */; }; - C8FF11576430A8FC899515C128F80A67 /* Error.swift in Sources */ = {isa = PBXBuildFile; fileRef = 941AD6E4532B1B070D2592FE3A2AE752 /* Error.swift */; }; - C96E54153198E59FF0F8B9F7408523E0 /* GCDWebServerDataResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 1E0CFCE9AB3B6AFD0691E63F63F62B18 /* GCDWebServerDataResponse.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - CAA6C816B24605177BB40AA731710460 /* ConnectableObservableType.swift in Sources */ = {isa = PBXBuildFile; fileRef = D34A2C6821DD92D46F0901C579DAEF53 /* ConnectableObservableType.swift */; }; - CAAA66DC11EF7A8AFC3F9E08689BE08A /* AsyncSubject.swift in Sources */ = {isa = PBXBuildFile; fileRef = ACEE1641B4A1142BE9D66F1E19A1A083 /* AsyncSubject.swift */; }; - CAFB60F384AE9659EDB5D377F5D183F9 /* Platform.Linux.swift in Sources */ = {isa = PBXBuildFile; fileRef = 58CB8D564AB01DBEED55DBEB75380239 /* Platform.Linux.swift */; }; - CB6D60925223897FFA2662667DF83E8A /* Response.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30FBBC7DFAD0F5694D59ACC330B005E0 /* Response.swift */; }; - CC5DF94AD0EDC78D929C06C6E2AC1E95 /* Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 85BE206744586C11C8C71BF92918AB7B /* Rx.swift */; }; - CD97073476795E5EAA07C91A7F7890D2 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EA9A1A86E1594EEC96C2B7214E16E50F /* Cocoa.framework */; }; - CECC009E42390657E216EAC1EDC6274C /* AsSingle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 351C16C6C5C0715F1C876D91D0EDEA09 /* AsSingle.swift */; }; - D14AF917AAA665B36A071D4272716548 /* Amb.swift in Sources */ = {isa = PBXBuildFile; fileRef = D06609DFEDC0A7E3A67145994809FAAB /* Amb.swift */; }; - D2B04C075D6CA6AF10C35D8BF7DEF0D3 /* GCDWebServerFileRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 7E1780CA78CC5EE56892186D6699471D /* GCDWebServerFileRequest.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - D32273245E8606A37F7600158C272C01 /* Bag.swift in Sources */ = {isa = PBXBuildFile; fileRef = F88F573DA82E488BDAE8BC55E93B96B1 /* Bag.swift */; }; - D5A9F983227BEB62BCA37F568897987C /* RxTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA70E613DAD83B8D5F2C1F9DE64ECAC7 /* RxTarget.swift */; }; - D6315D7F0CC2C411BEC2097E2BEA7242 /* HistoricalScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1369962E25E1F6E43620FE725E9CE874 /* HistoricalScheduler.swift */; }; - D63E514E26A060F7C90A92AE8E9B49F9 /* GCDWebServer-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 405572D03A3BCC4C3EEC1F1CECFFD7EC /* GCDWebServer-dummy.m */; }; - D6EA93219364CDC135BAFE63084F6361 /* es.lproj in Resources */ = {isa = PBXBuildFile; fileRef = B10F73EA14E609E0D648284083AE9228 /* es.lproj */; }; - D7524216B4C0994A50624825DFB7CB6B /* GCDWebServerConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = 4387584024C546AD5AD6B7EDD37485BF /* GCDWebServerConnection.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - D9ACDAE812F7F132507CBD9D783613D6 /* SynchronizedOnType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64EE1C0399B2FC8E5B84F059BC3B89F9 /* SynchronizedOnType.swift */; }; - D9ED1A4C6F894B1DC0298C280C8056EB /* NSObject+Rx+KVORepresentable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57D2E434BDBDBAFB4EAB539971677BB3 /* NSObject+Rx+KVORepresentable.swift */; }; - DB94D782C6F193FB6F56D52926F2A84B /* RxCocoa-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 622BE644A5BCF7100BB04E2E0578F8C2 /* RxCocoa-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - DCEB10616CAFEFE12B6D4F6A7DDBBFD4 /* String+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0708DD73E84866CEA805B9C7AB60ADE4 /* String+Rx.swift */; }; - DE24C629B3DB152EE4924B56E3CC59F5 /* pl.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 5151ABAABBD1A1CE800C52AB2A585634 /* pl.lproj */; }; - DF2762B53F71DBC62F8CE6D5A89E7461 /* _RXDelegateProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 1407079A40EB921E4490FEA9DDB23222 /* _RXDelegateProxy.h */; settings = {ATTRIBUTES = (Public, ); }; }; - DF4F1845181D496D965AD3FFD6366CCE /* GroupedObservable.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2654F715A28779785D3AD91F2ED2388 /* GroupedObservable.swift */; }; - DFA6E4455415B3EB3BB38A9F48EEB044 /* Shortcut.h in Headers */ = {isa = PBXBuildFile; fileRef = 8EC98D40BE7139C7559F4E49AD0B9202 /* Shortcut.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E16B1A45A5741C6A98DFAE5C24764F55 /* NSImageView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = F7519EEDC18867A7D4354752DF4FFB06 /* NSImageView+Rx.swift */; }; - E442EEDE70730AB746DADBB7B509B070 /* RecursiveLock.swift in Sources */ = {isa = PBXBuildFile; fileRef = D4CD8E837A63DA5890EF98BA6E98D9D5 /* RecursiveLock.swift */; }; - E4BC2475373C69F1F805A462F1CA469D /* SubscribeOn.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9DA9F52CD97C9FFDD1A42400020B5C86 /* SubscribeOn.swift */; }; - E5312C0FED7C61135F252D3A7A112990 /* MASShortcutView.m in Sources */ = {isa = PBXBuildFile; fileRef = 64D637E8C0ED768E21CFCAE9641662B6 /* MASShortcutView.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - E560A21728B29AF234BD0F37AFE16F36 /* en.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 967C15B6D2FAA4BA22B657F647B6B412 /* en.lproj */; }; - E62DD91C60246BD1E4E8A0AF5D7BF0E7 /* GCDWebServerErrorResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = E85ED0518085EBD804CA390B52EDDFE5 /* GCDWebServerErrorResponse.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - E63AC9803426E8646E59772DBED7864E /* Zip.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C4E480F924E52E479BFE519D781A826 /* Zip.swift */; }; - E66F7AFACFC665B23022A09E46815B5C /* it.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 2C391D236625ECDDDADDF2E2CF327C90 /* it.lproj */; }; - E88ABB06791F804707EA13EFF1BB714F /* Throttle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 430E0E395046F19946D55C7F791DDCC4 /* Throttle.swift */; }; - E95C2409BDE4CB6BA371A54DD05D7996 /* Platform.Darwin.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94F74323508484A216D1C8AECF3B836C /* Platform.Darwin.swift */; }; - E97573A653DE3A4CB8BAC26FB7B3E9A9 /* MASShortcutView+Bindings.h in Headers */ = {isa = PBXBuildFile; fileRef = 1918A3E00F323095B9B4FE41517A6FDA /* MASShortcutView+Bindings.h */; settings = {ATTRIBUTES = (Public, ); }; }; - EA6D2E46B967F447FFC46520EC328B5E /* GCDWebServer.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BA1E955FC23E417978F5DE57553C65 /* GCDWebServer.h */; settings = {ATTRIBUTES = (Public, ); }; }; - EBC1F84329AD2225017D47F63D55CA77 /* Disposables.swift in Sources */ = {isa = PBXBuildFile; fileRef = B29423A3BD529F4181880C1CC35631C5 /* Disposables.swift */; }; - EBEFF85070E25F0A581B7BA1E08138AC /* Pods-ShadowsocksX-NG-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 24B01D81E3D7058FA14A053EC19874D0 /* Pods-ShadowsocksX-NG-dummy.m */; }; - ECC084E104E80FB7345F76B6B0C15FAC /* DispatchQueue+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB8FD0BE80EE67981541A1D0567EDF2A /* DispatchQueue+Extensions.swift */; }; - ED270C801E50A979CD21211BD2685550 /* TakeLast.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4209C3E1C531131A7CA7A2DA0BB1F334 /* TakeLast.swift */; }; - ED3B6D9F5F3F89371B6425AB21A42BD5 /* SerialDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 478441DBD43555BE4C13427FB4B1F102 /* SerialDisposable.swift */; }; - ED97B464615625E0F41D4CFE8321AF1B /* AnonymousObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 198E9BC39A4EAE7AF6607A3DE9DBD031 /* AnonymousObserver.swift */; }; - EE3A79FAA60A198321767854B60B772F /* MASDictionaryTransformer.h in Headers */ = {isa = PBXBuildFile; fileRef = CDD891211BCACC371F9D43363C3FD01F /* MASDictionaryTransformer.h */; settings = {ATTRIBUTES = (Public, ); }; }; - EE85F313D5EC70842C812EB16038F4F2 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EFD468F10CD22B3EFAB406DAC3FCC7C9 /* Carbon.framework */; }; - EFBF1BDB8CD460EA4A9610EF91C54928 /* Range.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F28BB197905FA93BEC98E5D1F6B9F75 /* Range.swift */; }; - EFD264FC408EBF3BA2528E70B08DDD94 /* Notifications.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2437216A55ECC76844C12B5DC39280A0 /* Notifications.swift */; }; - EFFA4247C90B98FD9160F30905A64569 /* cs.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 5048979CBD31FB3468F7CBE0F6623336 /* cs.lproj */; }; - F0CA204303CD1FDCC9AE08D89B231BA8 /* ImmediateScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFAE13F86521FDD3838D3DA229D4AC25 /* ImmediateScheduler.swift */; }; - F22B5B760326351832F4648F432136D8 /* ObservableConvertibleType+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8770BF62499E1DA3EDF0659C91CBE4 /* ObservableConvertibleType+Driver.swift */; }; - F2853E97BDDC82B8F91AE2954D27F775 /* RxSwift-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 1D4C11F8F1650F1661596A0F530E6BDF /* RxSwift-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F359857602B1D4C91B4AC3D1A2CDFE1B /* GCDWebServerFunctions.m in Sources */ = {isa = PBXBuildFile; fileRef = 51C85F34568C70DB96CF9B23E0D503AB /* GCDWebServerFunctions.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - F3C83071EFA9A3A1CEFD3DD9817AC887 /* Bag+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59D23F0528F3A7600784924A107552D0 /* Bag+Rx.swift */; }; - F44386819D44846A436139CEF3D372A5 /* zh-Hans.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 0444897C0A30423DE512BC301413EBC3 /* zh-Hans.lproj */; }; - F46CAF4542DF0C7D5C7B62CB1AABD54B /* Catch.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC77664C6DB0A9CA9F4AC1E93463971A /* Catch.swift */; }; - F4D944E38AA9EEB0850C85C303E8E3C2 /* Delay.swift in Sources */ = {isa = PBXBuildFile; fileRef = 87C033CF62C6A03D67EA9056684E74B2 /* Delay.swift */; }; - F68A07679A05EFEF9BFDED2B37886513 /* Producer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 11C39B1421798570CF7E02C57F90EC4B /* Producer.swift */; }; - F6BECD98B97CBFEBE2C96F0E9E72A6C0 /* ResponseSerialization.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C564EF425F990F06F9867FD48C5AAC9 /* ResponseSerialization.swift */; }; - F7DCEFB4AC63035A92A1A1361DAC5D12 /* ScheduledItemType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67DA5A6F6EDD732F5332FE2EAC8DB9EE /* ScheduledItemType.swift */; }; - F8815ECB42FCF09BBC99D3730DFD577C /* MASShortcut.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 288F0992DFCC5E6027AA31FD385C34D6 /* MASShortcut.bundle */; }; - F8B3D3092ED0417E8CDF32033F6122F5 /* Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7DE4B15A2C7B806D42D1BC1189CFC19 /* Alamofire.swift */; }; - F8FDBDB785D58B00E3DD49EFD58CFA34 /* Scan.swift in Sources */ = {isa = PBXBuildFile; fileRef = B2E3D4D905C0E79E9AB56BF024A35180 /* Scan.swift */; }; - F94ACA6AA0DD416E5BF05E2425E5F2A6 /* MASKeyCodes.h in Headers */ = {isa = PBXBuildFile; fileRef = D38D66B8CF136FA1B9D3A067600536AE /* MASKeyCodes.h */; settings = {ATTRIBUTES = (Public, ); }; }; - FB241DBEEFCA95FE872EF4CD6623157A /* AnonymousInvocable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4F4BE5C3ABEB89172F29F09B174D6883 /* AnonymousInvocable.swift */; }; - FBF219CBB84DD6F373B818708C889C9D /* GCDWebServer.m in Sources */ = {isa = PBXBuildFile; fileRef = AB35CD1ECD0CD3643AE3F5B53C269AF5 /* GCDWebServer.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - FC296F43271A48D9D4C58B5715C051D5 /* ControlEvent+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEDE61F66A8638FA807B3FD84A14A57E /* ControlEvent+Driver.swift */; }; - FE567BBF31C04A25708225C9DD0B3B3F /* SubscriptionDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 187F6C028E99961913EF8CD45D358107 /* SubscriptionDisposable.swift */; }; - FF4F2998C2F400957C309F52B81C8F25 /* InvocableScheduledItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0F158686BD10F093816366CBB70A6E30 /* InvocableScheduledItem.swift */; }; - FF647F4502B0AE29095FA14A256612EE /* _RXKVOObserver.h in Headers */ = {isa = PBXBuildFile; fileRef = 6CBFE7DED568FC1C077023212FEEA6C4 /* _RXKVOObserver.h */; settings = {ATTRIBUTES = (Public, ); }; }; - FF6798A03CC53C99950B31DE10942B90 /* Observable+Aggregate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A5020E5D284EBAF7DED99AB83881F38 /* Observable+Aggregate.swift */; }; + AE1EF48399533730D0066E04B22CA2D6 /* SessionManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E460480C9AB1696DF23F2BEE6FA8DD8 /* SessionManager.swift */; }; + AF3DDA9D688360179E81FCDA8016572C /* RxCocoa-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = B9F052C6C33E66176E62899848AB02B5 /* RxCocoa-dummy.m */; }; + B06D1DC3883AD1F4F9397B5CA6022933 /* SynchronizedDisposeType.swift in Sources */ = {isa = PBXBuildFile; fileRef = D561BC20DDD29546AC6FBC4014080660 /* SynchronizedDisposeType.swift */; }; + B12D46ADF0FD32C4737954A56E8731B5 /* CombineLatest+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAF89D9260ADF5ABA538983E0F25B62A /* CombineLatest+arity.swift */; }; + B1EE7C0B6A55B8EC266C48847A8851FB /* SingleAssignmentDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5FD6D1D17496E22EB3C146A1AB450938 /* SingleAssignmentDisposable.swift */; }; + B22EDEA5514A4279437115EDC5E7C002 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 541635D209381E226C6EBA22A418CD79 /* Cocoa.framework */; }; + B382BDA887412B9C2317D0C7D97375FC /* NSView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6574C38EFF8485B784CB3001709E2854 /* NSView+Rx.swift */; }; + B3EDF298F39001394B78EEA7417EACD0 /* Never.swift in Sources */ = {isa = PBXBuildFile; fileRef = 315E1E45AAFEDB5A3E61F331B3FD3229 /* Never.swift */; }; + B4BD359172FEDE2CC10B658C8F287A2D /* ObservableConvertibleType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75826486287006EA76C6E631DFAB1448 /* ObservableConvertibleType.swift */; }; + B65FCF589DA398C3EFE0128064E510EC /* MultipartFormData.swift in Sources */ = {isa = PBXBuildFile; fileRef = CF2BD51FBAF9857C0CEB9432F3D094DC /* MultipartFormData.swift */; }; + B7BE75E5ACF3F9003E97981C62F4848E /* Switch.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61F6EDE85777BF55B6A77EBE779A81D6 /* Switch.swift */; }; + B7EF65DA3A34ABF3B41F50ADCD198BDC /* GCDWebServerFunctions.h in Headers */ = {isa = PBXBuildFile; fileRef = 842D3EBF759D57C30020E9E454D53B18 /* GCDWebServerFunctions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B88A2D8B4A4C8293507154A1F8C77789 /* KVORepresentable+Swift.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6FFD5A22A90E101CA6FA12CF1E94D1A7 /* KVORepresentable+Swift.swift */; }; + BBEFE2F9CEB73DC7BD97FFA66A0D9D4F /* Validation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BB539B4AC0ACC9675335E47738AD942 /* Validation.swift */; }; + BDCBBA215EB8176A5CF99CC037EB60E8 /* RefCount.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67D90AB2B6EFE1F7489F45D68C4173E3 /* RefCount.swift */; }; + BE5C67A07E289FE1F9BE27335B159997 /* ParameterEncoding.swift in Sources */ = {isa = PBXBuildFile; fileRef = B99EEE79B7E0166318A96CAE164E2438 /* ParameterEncoding.swift */; }; + BEB4BC2C98989EBAA255F98DCA2BEAF8 /* RxCocoaObjCRuntimeError+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 763468E668DEB1E078B7BB50D21375D3 /* RxCocoaObjCRuntimeError+Extensions.swift */; }; + C06EE84D23391E9FA94864DEDE34F548 /* fr.lproj in Resources */ = {isa = PBXBuildFile; fileRef = D28C7D4E53ACD6557641B3B5C95D1532 /* fr.lproj */; }; + C196A0B9EDC9527EFF935E995BEDE9D1 /* CompositeDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6380406A92A445B5DB6FD788446065D3 /* CompositeDisposable.swift */; }; + C26CDE750E51AA528324448DD9C48A0A /* Timeout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E0B7327CD3D2968D5C1D90DD0C16469 /* Timeout.swift */; }; + C31507D209CDACF33113CF9CE65B5147 /* Lock.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC5F404CA6E1C917948CD313BA0A2F51 /* Lock.swift */; }; + C3F483118B2881907DB635B299B6344A /* PublishSubject.swift in Sources */ = {isa = PBXBuildFile; fileRef = 835E6CB9743C0DD2CB95B5999EC8680F /* PublishSubject.swift */; }; + C4D027251723DF3C3C7AC299DFAC5804 /* Pods-ShadowsocksX-NG-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 24B01D81E3D7058FA14A053EC19874D0 /* Pods-ShadowsocksX-NG-dummy.m */; }; + C50FA5B211B8916770FBE55623B83DA4 /* MASLocalization.m in Sources */ = {isa = PBXBuildFile; fileRef = 9FA0AD606FB1DC680587C6680435BAB4 /* MASLocalization.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + C57E93AF1EBECB80C94BA9382ABCA118 /* _RXDelegateProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = 23E5A8C87DFB5B058A07E2F30AD0FC34 /* _RXDelegateProxy.m */; }; + C7C6AD45C1063FBC56FB2147C23108A6 /* Queue.swift in Sources */ = {isa = PBXBuildFile; fileRef = A750C52EA2EE9B5ABEFAAD2666886077 /* Queue.swift */; }; + C96E54153198E59FF0F8B9F7408523E0 /* GCDWebServerDataResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 50A4823751182A0833647B475DC72A10 /* GCDWebServerDataResponse.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + CB264322B6E9F506D34F2E3136E445E0 /* ToArray.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B12C28BAC495787799993326A4B12A9 /* ToArray.swift */; }; + CB6D60925223897FFA2662667DF83E8A /* Response.swift in Sources */ = {isa = PBXBuildFile; fileRef = EF7AE52D06AE7909058FBFB1D5E5342A /* Response.swift */; }; + CD97073476795E5EAA07C91A7F7890D2 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 541635D209381E226C6EBA22A418CD79 /* Cocoa.framework */; }; + CF2564A6A0EA656DAA2AEA09FEF0993D /* SharedSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 638DF4C579B1918C76A79C46A8FC857E /* SharedSequence.swift */; }; + CF67659B01872F89F837DF9EAB6D7B93 /* Throttle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61BA2B0BD6D48C6C10274956282FA9FB /* Throttle.swift */; }; + D15B988F8134FA508F6DEEEB4DEEC0A9 /* Map.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78BA9E278E68ECCF7D20A36E98E46DAD /* Map.swift */; }; + D2B04C075D6CA6AF10C35D8BF7DEF0D3 /* GCDWebServerFileRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = C332139931C84CB443EFCC490DB2FD1C /* GCDWebServerFileRequest.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + D35E06F608850DB190F07D37608B6A18 /* DispatchQueue+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = AB1F39E8FCA0BC7A39522B99B4A7784E /* DispatchQueue+Extensions.swift */; }; + D3CCC06C927380145B6DED3E01FDB190 /* Deprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23E10AA19F2FF8E83A2FD4CAC09AD7F9 /* Deprecated.swift */; }; + D47D618EDDE23B9C4E7BB52D34C6E88D /* OperationQueueScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41638B7D3C22323377901B651D1F37A7 /* OperationQueueScheduler.swift */; }; + D4CBEE66702991A8186BD763553F077A /* ImmediateSchedulerType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7C28F293470866DDE15AC5B07820EE6C /* ImmediateSchedulerType.swift */; }; + D63E514E26A060F7C90A92AE8E9B49F9 /* GCDWebServer-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 2503F4A39B92AC5FD1CD7839EC5E5C37 /* GCDWebServer-dummy.m */; }; + D6EA93219364CDC135BAFE63084F6361 /* es.lproj in Resources */ = {isa = PBXBuildFile; fileRef = D9DAEE1A23EEC477CC0A084AE6F55BFA /* es.lproj */; }; + D7524216B4C0994A50624825DFB7CB6B /* GCDWebServerConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = 0CCBF1308C04082BB1E533130C42B36C /* GCDWebServerConnection.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + D8EE7C6DED759032DB7729FB0EDC4F2C /* SimplePing.m in Sources */ = {isa = PBXBuildFile; fileRef = 5BDA02270CF1BA8DE880826400D4B59F /* SimplePing.m */; }; + D9CD050B56E237AF4D8ECDF49083BE59 /* Sink.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5BF63E3A3756014DA1196BBA2EB7DE8 /* Sink.swift */; }; + DE24C629B3DB152EE4924B56E3CC59F5 /* pl.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 3A1307AC53289CB23C4D900ABA797CCB /* pl.lproj */; }; + DEAA4E05D3470CAFCF5103F87DB16CCC /* Empty.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E5F1228B3A3D194254A5CE088F5EE35 /* Empty.swift */; }; + DF7E4A83443DCD8CFF222D54F5755C9B /* ObservableType.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD89A8362C3C3BA469B44FED6B1E4864 /* ObservableType.swift */; }; + DFA6E4455415B3EB3BB38A9F48EEB044 /* Shortcut.h in Headers */ = {isa = PBXBuildFile; fileRef = 68A500E1043DC47693BB9C3F1E633860 /* Shortcut.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E030981E149A688448E7F1D0965D270A /* PingUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = 1F0E40AE71E0D55FB849DE9FF6F9DA11 /* PingUtil.m */; }; + E09FCF5A9F225ECBCA900A97FBC402D1 /* BehaviorSubject.swift in Sources */ = {isa = PBXBuildFile; fileRef = CDF97765D960C2736AA68A63C5A0ECA9 /* BehaviorSubject.swift */; }; + E24C8C0788514DD2873695CF72C8FA21 /* Optional.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D92176701E7CDBFFF90FEE478C8207A /* Optional.swift */; }; + E26DECEB32D5A28E4138D107F7DDC802 /* Deferred.swift in Sources */ = {isa = PBXBuildFile; fileRef = DA9FB31A9751BB94D56C7F646D8B9ECE /* Deferred.swift */; }; + E2AF44B2F2F0BFC51D8E135E643F06F8 /* NSImageView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C44242AA0CA404DE87D41F1AF0B694FA /* NSImageView+Rx.swift */; }; + E33D874096F36162BF556CE81E4C81AA /* PriorityQueue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04BE6BBF21018D3E4D17AD7CD53000E0 /* PriorityQueue.swift */; }; + E5312C0FED7C61135F252D3A7A112990 /* MASShortcutView.m in Sources */ = {isa = PBXBuildFile; fileRef = 587BACC4C98331BE24B87FA37825B878 /* MASShortcutView.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + E560A21728B29AF234BD0F37AFE16F36 /* en.lproj in Resources */ = {isa = PBXBuildFile; fileRef = D534A541E3345FA30089E3CA3514436E /* en.lproj */; }; + E62DD91C60246BD1E4E8A0AF5D7BF0E7 /* GCDWebServerErrorResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 7E3ABEB4812FF4219C70ACEA83333729 /* GCDWebServerErrorResponse.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + E66F7AFACFC665B23022A09E46815B5C /* it.lproj in Resources */ = {isa = PBXBuildFile; fileRef = BD0A73D025F702B73E8C08876023CA7C /* it.lproj */; }; + E6856B55D2BAAF4F75289E294F588191 /* DistinctUntilChanged.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F409396EA99B1F6E332F817F2DDA9A7 /* DistinctUntilChanged.swift */; }; + E8AC2EEE8DC09047B9F5D9853287140B /* Observable+Debug.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5380CB1D4DB7B80A10655618CBE87513 /* Observable+Debug.swift */; }; + E97573A653DE3A4CB8BAC26FB7B3E9A9 /* MASShortcutView+Bindings.h in Headers */ = {isa = PBXBuildFile; fileRef = 5EF992724FD09BBDA363D1880AB0D121 /* MASShortcutView+Bindings.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E98CF1FFA39F6144046AB195F32A8705 /* ImmediateScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7D7B9A798AE4EEE3CFFEF83DDA901B20 /* ImmediateScheduler.swift */; }; + EA3D463E1136BF68BA7BB760073B5744 /* Buffer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A70CFF2D266D78536477593314BB842 /* Buffer.swift */; }; + EA6D2E46B967F447FFC46520EC328B5E /* GCDWebServer.h in Headers */ = {isa = PBXBuildFile; fileRef = 58437D55AAA11DA9CF981F9A29D598CE /* GCDWebServer.h */; settings = {ATTRIBUTES = (Public, ); }; }; + EC2C7A72191005606415EAC996F8EE79 /* _RXKVOObserver.m in Sources */ = {isa = PBXBuildFile; fileRef = 9D5E498ABFAC00469D2A7CA54004C844 /* _RXKVOObserver.m */; }; + EC2D09800658E21A3987E15EC695F3BB /* Just.swift in Sources */ = {isa = PBXBuildFile; fileRef = E27ECA21CA52781ECD8051CA0052BC44 /* Just.swift */; }; + EDB362AE33EAB03B860CA408925B4CC7 /* ConcurrentMainScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54C6C19CAAD376AEA176DB9808BB2982 /* ConcurrentMainScheduler.swift */; }; + EE3A79FAA60A198321767854B60B772F /* MASDictionaryTransformer.h in Headers */ = {isa = PBXBuildFile; fileRef = 668198EDD6FDCC5AB38CB33DA7659011 /* MASDictionaryTransformer.h */; settings = {ATTRIBUTES = (Public, ); }; }; + EE4FA9EE72F9E9F31BFD9B1E565E056F /* AsSingle.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC81BF35BC7CF1717037FEBF22FCC96A /* AsSingle.swift */; }; + EE85F313D5EC70842C812EB16038F4F2 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 988A6E1015F0EE8A2C32D673049EB480 /* Carbon.framework */; }; + EF2FC271267572CE5523B30A26AB0085 /* Disposables.swift in Sources */ = {isa = PBXBuildFile; fileRef = 805A3A55207538C1E212E5F7C9E99E31 /* Disposables.swift */; }; + EF62C439CDB49B2025E1129DABE0E3E7 /* PingManager.m in Sources */ = {isa = PBXBuildFile; fileRef = AF76601EFC29C9D911DD5237DA66FFF6 /* PingManager.m */; }; + EFD264FC408EBF3BA2528E70B08DDD94 /* Notifications.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD341B16E7EEEF448A48C2AD4B5F2EED /* Notifications.swift */; }; + EFFA4247C90B98FD9160F30905A64569 /* cs.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 2A556E97F3484384DEFB7B5ED5880176 /* cs.lproj */; }; + F112959E72E4CAF6D39C9325340E7A83 /* Bag+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2DD2C3A792FD6FFF67E69D4851129A52 /* Bag+Rx.swift */; }; + F24BDCE90285452688C676B73B15B8B8 /* LockOwnerType.swift in Sources */ = {isa = PBXBuildFile; fileRef = D712E5BFAE8B46F65DECFFC049BDCC4C /* LockOwnerType.swift */; }; + F2F7E34815F19605884CB9AB6C71C57A /* URLSession+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 11686D3BE71B25FD4D77B2DF9EF87C2B /* URLSession+Rx.swift */; }; + F359857602B1D4C91B4AC3D1A2CDFE1B /* GCDWebServerFunctions.m in Sources */ = {isa = PBXBuildFile; fileRef = B6A5AD9A457A71CE75ED0FED8EADA44C /* GCDWebServerFunctions.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + F38014F19A5F73C78F3AF8FB1EF08385 /* Generate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0DD79E107254DE7D3B08902FF821614B /* Generate.swift */; }; + F44386819D44846A436139CEF3D372A5 /* zh-Hans.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 556E8B77AA1654A804668022C7161A59 /* zh-Hans.lproj */; }; + F5015B4F457CDFFF62367F8469BE5DBE /* AsyncLock.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB55032E43B31B902D12E41E465636E6 /* AsyncLock.swift */; }; + F6B83E0628196D28D4AC0E13FCD2881A /* ObservableConvertibleType+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3B07D308D4922EC158C8B8B91BED161 /* ObservableConvertibleType+Driver.swift */; }; + F6BECD98B97CBFEBE2C96F0E9E72A6C0 /* ResponseSerialization.swift in Sources */ = {isa = PBXBuildFile; fileRef = BE68BDEE2A89046748658FE3635316EF /* ResponseSerialization.swift */; }; + F855630677F901745E5BF32578F7FC52 /* RxCocoaRuntime.h in Headers */ = {isa = PBXBuildFile; fileRef = D16273CFEB79BF8DE67A95AA2E622583 /* RxCocoaRuntime.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F8B3D3092ED0417E8CDF32033F6122F5 /* Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC78487F226B02EE37AC83AE75359CB1 /* Alamofire.swift */; }; + F94ACA6AA0DD416E5BF05E2425E5F2A6 /* MASKeyCodes.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E9C90F3BA4251EA9D6F4DB53B20422A /* MASKeyCodes.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F9C135FBA5C748195689841C914E2ED8 /* TextInput.swift in Sources */ = {isa = PBXBuildFile; fileRef = EF2999AFFB5D1F1B83AB92BB7C35DF7D /* TextInput.swift */; }; + FBF219CBB84DD6F373B818708C889C9D /* GCDWebServer.m in Sources */ = {isa = PBXBuildFile; fileRef = 981583896DBF4FAA2A364B6618873F33 /* GCDWebServer.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + FCEB58B18A0C0D928D2BFAEAC087E955 /* RxCocoa.h in Headers */ = {isa = PBXBuildFile; fileRef = 926176BBD3D30672D7928FC950B3EFFF /* RxCocoa.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FD1FC42234191CB201677CC9A52F6DAF /* DispatchQueue+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39AFDBEEC86FF2A1DBA04DE6AC2CCB8A /* DispatchQueue+Extensions.swift */; }; + FF12CA6F98AF01B6053B87DAEB44C3B6 /* RecursiveScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 77EC3586590703C080B465267A91E532 /* RecursiveScheduler.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 3C966E4001966C610E2B35B4896D0EA0 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = 9759FFB1455B05FE96A5765890590110; - remoteInfo = RxSwift; - }; - 3F9C089DC9458E35616C2D072F1349CE /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = 88E9EC28B8B46C3631E6B242B50F4442; - remoteInfo = Alamofire; - }; - 5A421F3FED66CE2F7D5D41431FD05426 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = 50DA2BB85DEBA27DDBB9E2D53E8E2A1A; - remoteInfo = RxCocoa; - }; - 73B1C6F65534B8F327FD1E3C4EFB4D79 /* PBXContainerItemProxy */ = { + 395B943E3AB38B6371DA7BEE5041AFA0 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; remoteGlobalIDString = 5B8B0ED1046111D92895FC95F12DBC10; remoteInfo = GCDWebServer; }; - 7BF76F7FBFF9CC917BC74620BE20739E /* PBXContainerItemProxy */ = { + 58575E9B14651D9C8140CE3E7BC866FC /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 00C94ED0B49A44FBF0C4E2F6C875CFFC; - remoteInfo = MASShortcut; - }; - 9AAE001A73362881B10E1F0C00EDCC5C /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = 9759FFB1455B05FE96A5765890590110; - remoteInfo = RxSwift; + remoteGlobalIDString = 5425B8CFFAAD7D4B848A7675E261BBE1; + remoteInfo = XYPingUtil; }; A7708F6CFFF6E4FD2E6FDB5109CDF5E7 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; @@ -382,6 +364,41 @@ remoteGlobalIDString = D6E5ED8DAF7CA937C8F68F342C48B26E; remoteInfo = "MASShortcut-MASShortcut"; }; + CC40ABFBBE8775F38F9FA5595C1D4189 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 88E9EC28B8B46C3631E6B242B50F4442; + remoteInfo = Alamofire; + }; + CC9D51BF26A6671ECEB6B2A6A25E1846 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 00C94ED0B49A44FBF0C4E2F6C875CFFC; + remoteInfo = MASShortcut; + }; + D77B242B7D80B4FBFD12A3947CD77C4D /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = DC6681CBBC287D4FE7DCFAF4A86EAF69; + remoteInfo = RxSwift; + }; + E34EFC16B57066A31EFFC80D4090192B /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = DC6681CBBC287D4FE7DCFAF4A86EAF69; + remoteInfo = RxSwift; + }; + F9979B3CE2DDD9A78937371D3D62388F /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 6932E79AD45EC8E5F4DE4B739F2F5301; + remoteInfo = RxCocoa; + }; FDE579D9762D0D9F86EDB1DE6EADE62F /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; @@ -392,376 +409,390 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 002B67F5C7E4ECAD0D0339BF321BF117 /* ConcurrentDispatchQueueScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConcurrentDispatchQueueScheduler.swift; path = RxSwift/Schedulers/ConcurrentDispatchQueueScheduler.swift; sourceTree = ""; }; - 015CDD34C2C3E889192595296079F633 /* GCDWebServerFileResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerFileResponse.h; path = GCDWebServer/Responses/GCDWebServerFileResponse.h; sourceTree = ""; }; - 0394897FCAD2777CF1A4384FE731D25C /* Optional.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Optional.swift; path = RxSwift/Observables/Implementations/Optional.swift; sourceTree = ""; }; - 0444897C0A30423DE512BC301413EBC3 /* zh-Hans.lproj */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = folder; path = "zh-Hans.lproj"; sourceTree = ""; }; - 045B604CBC573827216DD575F3C9A9BE /* MASShortcut-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "MASShortcut-prefix.pch"; sourceTree = ""; }; - 04BA1E955FC23E417978F5DE57553C65 /* GCDWebServer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServer.h; path = GCDWebServer/Core/GCDWebServer.h; sourceTree = ""; }; - 04FCB8C241708CC45FF52AFA691DA336 /* GCDWebServerFileResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerFileResponse.m; path = GCDWebServer/Responses/GCDWebServerFileResponse.m; sourceTree = ""; }; + 01A90D7AB3281F887DDA6B292B2AEAE2 /* XYPingUtil-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "XYPingUtil-dummy.m"; sourceTree = ""; }; + 01C37DDB396A31B5404BBCF5F44D7151 /* Range.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Range.swift; path = RxSwift/Observables/Implementations/Range.swift; sourceTree = ""; }; + 031D174D193D61C814A6A4AB319D3D39 /* Observable+Time.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+Time.swift"; path = "RxSwift/Observables/Observable+Time.swift"; sourceTree = ""; }; + 034479979C5FA71A17E66C64A8E5ED76 /* ConnectableObservable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConnectableObservable.swift; path = RxSwift/Observables/Implementations/ConnectableObservable.swift; sourceTree = ""; }; + 03E3456EFEE530A9893F05C197129802 /* Pods_ShadowsocksX_NG.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_ShadowsocksX_NG.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 04BE6BBF21018D3E4D17AD7CD53000E0 /* PriorityQueue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PriorityQueue.swift; path = Platform/DataStructures/PriorityQueue.swift; sourceTree = ""; }; 054C3E84057CD06DB85D99E7AD207F48 /* Pods-proxy_conf_helper.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-proxy_conf_helper.debug.xcconfig"; sourceTree = ""; }; - 06571839F983E684AE0631A949E65709 /* DefaultIfEmpty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DefaultIfEmpty.swift; path = RxSwift/Observables/Implementations/DefaultIfEmpty.swift; sourceTree = ""; }; - 0708DD73E84866CEA805B9C7AB60ADE4 /* String+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+Rx.swift"; path = "RxSwift/Extensions/String+Rx.swift"; sourceTree = ""; }; - 088BD130A0FBEAEA4D9FDAE864B58DC7 /* NSTextField+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSTextField+Rx.swift"; path = "RxCocoa/macOS/NSTextField+Rx.swift"; sourceTree = ""; }; + 05FFA34D450387E7C88314C97A2D048D /* ru.lproj */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = folder; path = ru.lproj; sourceTree = ""; }; + 0700A91D3934E4A467EF33E682B8399F /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 089EB7E66F64D3A19BB7681AFCE91031 /* Pods-ShadowsocksX-NG.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ShadowsocksX-NG.release.xcconfig"; sourceTree = ""; }; - 0947568290847B529166B4C9F28347BB /* SchedulerType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SchedulerType.swift; path = RxSwift/SchedulerType.swift; sourceTree = ""; }; - 0A7A485A268FA20FBE6CEAB65881AF6F /* InfiniteSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = InfiniteSequence.swift; path = Platform/DataStructures/InfiniteSequence.swift; sourceTree = ""; }; - 0B2BA85AB97126B7F170B024F033AF4F /* ConcurrentMainScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConcurrentMainScheduler.swift; path = RxSwift/Schedulers/ConcurrentMainScheduler.swift; sourceTree = ""; }; - 0BE0BBDCBD8F691F0357C2BFD2A61DF7 /* NSControl+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSControl+Rx.swift"; path = "RxCocoa/macOS/NSControl+Rx.swift"; sourceTree = ""; }; - 0C4E480F924E52E479BFE519D781A826 /* Zip.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Zip.swift; path = RxSwift/Observables/Implementations/Zip.swift; sourceTree = ""; }; - 0D3C195DE57AB12AEADA0C216773CC29 /* Observable+Bind.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+Bind.swift"; path = "RxCocoa/Common/Observable+Bind.swift"; sourceTree = ""; }; - 0DBFAF6F1BA01CE6183C3B565DB8322C /* BinaryDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BinaryDisposable.swift; path = RxSwift/Disposables/BinaryDisposable.swift; sourceTree = ""; }; + 08EAA8D46ACD7B8C5ECE8CCE68A774E5 /* Alamofire.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Alamofire.xcconfig; sourceTree = ""; }; + 09501B20A99EA64EF086677B5E09B83D /* CombineLatest+Collection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "CombineLatest+Collection.swift"; path = "RxSwift/Observables/Implementations/CombineLatest+Collection.swift"; sourceTree = ""; }; + 0B7454F8E7539A20A531754287691887 /* ja.lproj */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = folder; path = ja.lproj; sourceTree = ""; }; + 0C640DAED5BA3A58BED1DB9863F13D5A /* Take.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Take.swift; path = RxSwift/Observables/Implementations/Take.swift; sourceTree = ""; }; + 0CB699738335A47BB60A29F4F0FE016C /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 0CCBF1308C04082BB1E533130C42B36C /* GCDWebServerConnection.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerConnection.m; path = GCDWebServer/Core/GCDWebServerConnection.m; sourceTree = ""; }; + 0DCD43005EB1830DB699BC936D350202 /* InfiniteSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = InfiniteSequence.swift; path = Platform/DataStructures/InfiniteSequence.swift; sourceTree = ""; }; + 0DD11AC12391ADB0A9D7FCABF49377EF /* RxSwift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = RxSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 0DD79E107254DE7D3B08902FF821614B /* Generate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Generate.swift; path = RxSwift/Observables/Implementations/Generate.swift; sourceTree = ""; }; 0E8A27A8C9BD6FF9AE3DCBC4050CCD76 /* Pods-ShadowsocksX-NGTests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-ShadowsocksX-NGTests-frameworks.sh"; sourceTree = ""; }; - 0EED0973795941F05F42B25E0C0F6D99 /* _RXDelegateProxy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _RXDelegateProxy.m; path = RxCocoa/Runtime/_RXDelegateProxy.m; sourceTree = ""; }; - 0F158686BD10F093816366CBB70A6E30 /* InvocableScheduledItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = InvocableScheduledItem.swift; path = RxSwift/Schedulers/Internal/InvocableScheduledItem.swift; sourceTree = ""; }; - 1096074B199A62C38833809533B6325A /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 10AE621FA1B638AD24DC8416AAEA4850 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 11C39B1421798570CF7E02C57F90EC4B /* Producer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Producer.swift; path = RxSwift/Observables/Implementations/Producer.swift; sourceTree = ""; }; - 1255CE4EF584F1227FCFE877388965BE /* GCDWebServer.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = GCDWebServer.xcconfig; sourceTree = ""; }; + 0FDD8C2877DC3FBFD524D52FD741FEC9 /* ConnectableObservableType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConnectableObservableType.swift; path = RxSwift/ConnectableObservableType.swift; sourceTree = ""; }; + 105C5CC086BEB4A7DA3B53DC6475F1E0 /* Bag.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Bag.swift; path = Platform/DataStructures/Bag.swift; sourceTree = ""; }; + 107E9EA23BF6700E79C50CDC280142AF /* ReplaySubject.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ReplaySubject.swift; path = RxSwift/Subjects/ReplaySubject.swift; sourceTree = ""; }; + 1080DFC47570C1C01A3AD84409B8C952 /* NSButton+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSButton+Rx.swift"; path = "RxCocoa/macOS/NSButton+Rx.swift"; sourceTree = ""; }; + 11686D3BE71B25FD4D77B2DF9EF87C2B /* URLSession+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "URLSession+Rx.swift"; path = "RxCocoa/Foundation/URLSession+Rx.swift"; sourceTree = ""; }; + 12501C8036DF392CCADD9A024DE70E8A /* ScheduledItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ScheduledItem.swift; path = RxSwift/Schedulers/Internal/ScheduledItem.swift; sourceTree = ""; }; 13333F29A08390FCEFECA0FDCDDC919F /* Pods-ShadowsocksX-NG-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-ShadowsocksX-NG-frameworks.sh"; sourceTree = ""; }; - 1344965A836EE2DFFA93D27044532B30 /* PriorityQueue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PriorityQueue.swift; path = Platform/DataStructures/PriorityQueue.swift; sourceTree = ""; }; - 135780AE39D9C9BBD7443F7F21288DFB /* DelaySubscription.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DelaySubscription.swift; path = RxSwift/Observables/Implementations/DelaySubscription.swift; sourceTree = ""; }; - 1369962E25E1F6E43620FE725E9CE874 /* HistoricalScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HistoricalScheduler.swift; path = RxSwift/Schedulers/HistoricalScheduler.swift; sourceTree = ""; }; - 139134EE845E284F4B3ED2EF2F9A302B /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/AppKit.framework; sourceTree = DEVELOPER_DIR; }; - 1407079A40EB921E4490FEA9DDB23222 /* _RXDelegateProxy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _RXDelegateProxy.h; path = RxCocoa/Runtime/include/_RXDelegateProxy.h; sourceTree = ""; }; + 1384B0D55D00589C9F0E6463FA9F6725 /* zh-Hant.lproj */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = folder; path = "zh-Hant.lproj"; sourceTree = ""; }; + 13C2265190B5836A507B56C85A593DEA /* Pods_ShadowsocksX_NGTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_ShadowsocksX_NGTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 14A9EC2BB1EC6484018A5EB4B9B2C231 /* Pods-ShadowsocksX-NG-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-ShadowsocksX-NG-umbrella.h"; sourceTree = ""; }; - 1529BF693979ADC95825A232E3F7F71B /* GCDWebServerRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerRequest.h; path = GCDWebServer/Core/GCDWebServerRequest.h; sourceTree = ""; }; - 15FDCB75F28FF0766B21B59543A5AFED /* ru.lproj */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = folder; path = ru.lproj; sourceTree = ""; }; - 16E2BA0967647D17B5A037805E7CF195 /* MASShortcutView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASShortcutView.h; path = Framework/MASShortcutView.h; sourceTree = ""; }; - 187F6C028E99961913EF8CD45D358107 /* SubscriptionDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SubscriptionDisposable.swift; path = RxSwift/Disposables/SubscriptionDisposable.swift; sourceTree = ""; }; - 1918A3E00F323095B9B4FE41517A6FDA /* MASShortcutView+Bindings.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "MASShortcutView+Bindings.h"; path = "Framework/MASShortcutView+Bindings.h"; sourceTree = ""; }; - 198E9BC39A4EAE7AF6607A3DE9DBD031 /* AnonymousObserver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnonymousObserver.swift; path = RxSwift/Observers/AnonymousObserver.swift; sourceTree = ""; }; + 14CF736F2CED1BC21A76B2CAF94C76E6 /* PriorityQueue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PriorityQueue.swift; path = Platform/DataStructures/PriorityQueue.swift; sourceTree = ""; }; + 14FBFC574BADC66C81F27ECF39C5F086 /* ServerTrustPolicy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ServerTrustPolicy.swift; path = Source/ServerTrustPolicy.swift; sourceTree = ""; }; + 151DE95436AED4F35D7B68717140FA1B /* RxSwift.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = RxSwift.xcconfig; sourceTree = ""; }; + 170DCD05D6AB7844F8D431D40453305C /* DisposeBag.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DisposeBag.swift; path = RxSwift/Disposables/DisposeBag.swift; sourceTree = ""; }; + 173E823C413E3587212438EEC2E0FFC2 /* MASShortcutBinder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASShortcutBinder.h; path = Framework/MASShortcutBinder.h; sourceTree = ""; }; + 174C74BF316A87074BB513F4EBE462A3 /* VirtualTimeScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = VirtualTimeScheduler.swift; path = RxSwift/Schedulers/VirtualTimeScheduler.swift; sourceTree = ""; }; + 18BDBCB4C5EBD3EC43DD98B59015822C /* CurrentThreadScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CurrentThreadScheduler.swift; path = RxSwift/Schedulers/CurrentThreadScheduler.swift; sourceTree = ""; }; + 19DC1A7B87E74FF2651F8E01294AF968 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 1A8CE48109F7ED7873F4FF9D2D3603AD /* Pods-proxy_conf_helper-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-proxy_conf_helper-acknowledgements.markdown"; sourceTree = ""; }; - 1B81A53E7BA7B919692592FBAEB2C093 /* SharedSequence+Operators+arity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "SharedSequence+Operators+arity.swift"; path = "RxCocoa/CocoaUnits/SharedSequence/SharedSequence+Operators+arity.swift"; sourceTree = ""; }; - 1BD87FA3022EFB5D55062335BBAA6CDC /* GCDWebServerMultiPartFormRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerMultiPartFormRequest.m; path = GCDWebServer/Requests/GCDWebServerMultiPartFormRequest.m; sourceTree = ""; }; - 1C5B91DC04B3865DDDDC72512A5C3F54 /* AnonymousObservable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnonymousObservable.swift; path = RxSwift/Observables/Implementations/AnonymousObservable.swift; sourceTree = ""; }; - 1D4C11F8F1650F1661596A0F530E6BDF /* RxSwift-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RxSwift-umbrella.h"; sourceTree = ""; }; - 1E0CFCE9AB3B6AFD0691E63F63F62B18 /* GCDWebServerDataResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerDataResponse.m; path = GCDWebServer/Responses/GCDWebServerDataResponse.m; sourceTree = ""; }; + 1B15CE07A3DBA519DFE04CED5766DF7C /* XYPingUtil.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = XYPingUtil.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 1B99DAB4F0748D15007A40D5B0547B21 /* NopDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NopDisposable.swift; path = RxSwift/Disposables/NopDisposable.swift; sourceTree = ""; }; + 1C534EA5295FCF66868EE87F6E183146 /* MASShortcutBinder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASShortcutBinder.m; path = Framework/MASShortcutBinder.m; sourceTree = ""; }; + 1D25426388E3A75086898CD2D008D429 /* SectionedViewDataSourceType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SectionedViewDataSourceType.swift; path = RxCocoa/Common/SectionedViewDataSourceType.swift; sourceTree = ""; }; + 1E5F1228B3A3D194254A5CE088F5EE35 /* Empty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Empty.swift; path = RxSwift/Observables/Implementations/Empty.swift; sourceTree = ""; }; + 1EA305566CE160175F2810DDA334B448 /* PingManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PingManager.h; path = PingUtil/PingManager.h; sourceTree = ""; }; + 1F0E40AE71E0D55FB849DE9FF6F9DA11 /* PingUtil.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = PingUtil.m; path = PingUtil/PingUtil.m; sourceTree = ""; }; 1F162D37B7B6534A6D80FEE301F586EE /* Pods-ShadowsocksX-NGTests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-ShadowsocksX-NGTests-acknowledgements.plist"; sourceTree = ""; }; - 214BCB3965A64FB0986840C0E083418A /* Queue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Queue.swift; path = Platform/DataStructures/Queue.swift; sourceTree = ""; }; - 234D1504F40F558DF1303E8C160D47BD /* BRLOptionParser.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BRLOptionParser.m; path = BRLOptionParser/BRLOptionParser.m; sourceTree = ""; }; - 23D34D0E9C66E6F9595722372B9AED8D /* Zip+arity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Zip+arity.swift"; path = "RxSwift/Observables/Implementations/Zip+arity.swift"; sourceTree = ""; }; - 2437216A55ECC76844C12B5DC39280A0 /* Notifications.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Notifications.swift; path = Source/Notifications.swift; sourceTree = ""; }; + 1F1CD32D28255586A9D5889E5F401198 /* NSObject+Rx+RawRepresentable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSObject+Rx+RawRepresentable.swift"; path = "RxCocoa/Foundation/NSObject+Rx+RawRepresentable.swift"; sourceTree = ""; }; + 1F4A3554E28AD5D6CAA661C59A4FDCD9 /* Observable+Multiple.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+Multiple.swift"; path = "RxSwift/Observables/Observable+Multiple.swift"; sourceTree = ""; }; + 1F7B0CA157E36128B7D80398A249A2FB /* de.lproj */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = folder; path = de.lproj; sourceTree = ""; }; + 1FCE1459ABAAC6CF32AE041118D097A8 /* Zip+arity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Zip+arity.swift"; path = "RxSwift/Observables/Implementations/Zip+arity.swift"; sourceTree = ""; }; + 20756754FEABF062656B7A90628FB243 /* ObservableConvertibleType+SharedSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ObservableConvertibleType+SharedSequence.swift"; path = "RxCocoa/CocoaUnits/SharedSequence/ObservableConvertibleType+SharedSequence.swift"; sourceTree = ""; }; + 20AA113AD0049F0795CC22FD95BBB826 /* ObserveOn.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObserveOn.swift; path = RxSwift/Observables/Implementations/ObserveOn.swift; sourceTree = ""; }; + 210B0D95A2BE9C73189824B2138A4FA4 /* Producer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Producer.swift; path = RxSwift/Observables/Implementations/Producer.swift; sourceTree = ""; }; + 213CD63772496C86BA19EDA1F199E2AB /* SchedulerType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SchedulerType.swift; path = RxSwift/SchedulerType.swift; sourceTree = ""; }; + 22417B0BBC393F8B418FD1980F87677B /* Driver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Driver.swift; path = RxCocoa/CocoaUnits/Driver/Driver.swift; sourceTree = ""; }; + 2356FB918A51C0DA51C8D5CC52A19357 /* MASShortcut-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "MASShortcut-prefix.pch"; sourceTree = ""; }; + 23E10AA19F2FF8E83A2FD4CAC09AD7F9 /* Deprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Deprecated.swift; path = RxSwift/Deprecated.swift; sourceTree = ""; }; + 23E5A8C87DFB5B058A07E2F30AD0FC34 /* _RXDelegateProxy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _RXDelegateProxy.m; path = RxCocoa/Runtime/_RXDelegateProxy.m; sourceTree = ""; }; 24B01D81E3D7058FA14A053EC19874D0 /* Pods-ShadowsocksX-NG-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-ShadowsocksX-NG-dummy.m"; sourceTree = ""; }; - 259F77E2EC48E07223226DD78300AABD /* MASKeyMasks.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASKeyMasks.h; path = Framework/MASKeyMasks.h; sourceTree = ""; }; - 271DC7562BA32ADD28B4A53CA4C92137 /* SingleAsync.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SingleAsync.swift; path = RxSwift/Observables/Implementations/SingleAsync.swift; sourceTree = ""; }; - 288F0992DFCC5E6027AA31FD385C34D6 /* MASShortcut.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = MASShortcut.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; + 2503F4A39B92AC5FD1CD7839EC5E5C37 /* GCDWebServer-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "GCDWebServer-dummy.m"; sourceTree = ""; }; + 26B40F2A33CA44543255D2EBBEBDCA7D /* HistoricalSchedulerTimeConverter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HistoricalSchedulerTimeConverter.swift; path = RxSwift/Schedulers/HistoricalSchedulerTimeConverter.swift; sourceTree = ""; }; + 273661E3FFA3FD1311F913489F764B0A /* RxCocoa.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = RxCocoa.modulemap; sourceTree = ""; }; + 27F3FE292B2319024D9974F77AA33647 /* ShareReplay1.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ShareReplay1.swift; path = RxSwift/Observables/Implementations/ShareReplay1.swift; sourceTree = ""; }; + 27F7A725E1DC59BCF652E079C08ACFD5 /* Filter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Filter.swift; path = RxSwift/Observables/Implementations/Filter.swift; sourceTree = ""; }; 28D7F65F9E64735E3320A028DCDDDD90 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 2A595C2E180CE19ADB5A7218E78FD8BC /* RetryWhen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RetryWhen.swift; path = RxSwift/Observables/Implementations/RetryWhen.swift; sourceTree = ""; }; - 2C391D236625ECDDDADDF2E2CF327C90 /* it.lproj */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = folder; path = it.lproj; sourceTree = ""; }; - 2C4F41A96AB13FAA06EB576B1286FD61 /* NSButton+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSButton+Rx.swift"; path = "RxCocoa/macOS/NSButton+Rx.swift"; sourceTree = ""; }; - 2D2D8747A63B260F80C40C9DCDAC357E /* GCDWebServerHTTPStatusCodes.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerHTTPStatusCodes.h; path = GCDWebServer/Core/GCDWebServerHTTPStatusCodes.h; sourceTree = ""; }; - 2DED940C0868591ED86659234813AF5B /* DelegateProxyType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DelegateProxyType.swift; path = RxCocoa/Common/DelegateProxyType.swift; sourceTree = ""; }; - 2E934534DD61AA5D52BB8BD519A53726 /* Variable+SharedSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Variable+SharedSequence.swift"; path = "RxCocoa/CocoaUnits/SharedSequence/Variable+SharedSequence.swift"; sourceTree = ""; }; - 2EBB434DC5BFF77FC3F8C0215BDFC40F /* Bag.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Bag.swift; path = Platform/DataStructures/Bag.swift; sourceTree = ""; }; - 2F5238F43AAC23E1434E88471A76DAA8 /* RxCocoa-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RxCocoa-prefix.pch"; sourceTree = ""; }; - 30D8B840460D79AB3B8AB39A4164F4B7 /* DispatchQueue+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "DispatchQueue+Extensions.swift"; path = "Platform/DispatchQueue+Extensions.swift"; sourceTree = ""; }; - 30E2E47F7B982BA49DF174E3FDFB288B /* SynchronizedDisposeType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SynchronizedDisposeType.swift; path = RxSwift/Concurrency/SynchronizedDisposeType.swift; sourceTree = ""; }; - 30FBBC7DFAD0F5694D59ACC330B005E0 /* Response.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Response.swift; path = Source/Response.swift; sourceTree = ""; }; - 3261881064E033A3711EA27CE78524FC /* RxSwift.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = RxSwift.xcconfig; sourceTree = ""; }; - 33045890E1D4469FBFD24F367E827FAC /* TakeWhile.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TakeWhile.swift; path = RxSwift/Observables/Implementations/TakeWhile.swift; sourceTree = ""; }; + 2A556E97F3484384DEFB7B5ED5880176 /* cs.lproj */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = folder; path = cs.lproj; sourceTree = ""; }; + 2A7566D04F342A7DD5AF118AD3859D77 /* Logging.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Logging.swift; path = RxCocoa/Foundation/Logging.swift; sourceTree = ""; }; + 2AC052D8E33C1F4B2E92FC0958782DAA /* GCDWebServer-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "GCDWebServer-prefix.pch"; sourceTree = ""; }; + 2BA50A17BB31B56D675B2664C6656204 /* GCDWebServerFileRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerFileRequest.h; path = GCDWebServer/Requests/GCDWebServerFileRequest.h; sourceTree = ""; }; + 2C4F87A77C2D070B728208C241875718 /* NSObject+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSObject+Rx.swift"; path = "RxCocoa/Foundation/NSObject+Rx.swift"; sourceTree = ""; }; + 2CC8FBCACBF9FEB38CBD2C5A08FF5675 /* GCDWebServer.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = GCDWebServer.xcconfig; sourceTree = ""; }; + 2DD2C3A792FD6FFF67E69D4851129A52 /* Bag+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Bag+Rx.swift"; path = "RxSwift/Extensions/Bag+Rx.swift"; sourceTree = ""; }; + 2E460480C9AB1696DF23F2BEE6FA8DD8 /* SessionManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SessionManager.swift; path = Source/SessionManager.swift; sourceTree = ""; }; + 3103989A45B5C1B5277D5BBC7D01C0CF /* RxCocoa.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = RxCocoa.xcconfig; sourceTree = ""; }; + 315E1E45AAFEDB5A3E61F331B3FD3229 /* Never.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Never.swift; path = RxSwift/Observables/Implementations/Never.swift; sourceTree = ""; }; + 316B1DE86825E2C3880D9C45EB2307C0 /* Debug.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Debug.swift; path = RxSwift/Observables/Implementations/Debug.swift; sourceTree = ""; }; + 31CE4D891CDDFCEC4F83A4992C0BF415 /* libPods-proxy_conf_helper.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-proxy_conf_helper.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 325E00D876E1A0E299D37CE65FDB0DE5 /* RxCocoa.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = RxCocoa.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 3358F45A5BEC1A7F725167CD1969EDC8 /* Pods-ShadowsocksX-NG-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-ShadowsocksX-NG-acknowledgements.markdown"; sourceTree = ""; }; - 34AEA52D361570E78F8B9792A835A1A1 /* AsMaybe.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AsMaybe.swift; path = RxSwift/Observables/Implementations/AsMaybe.swift; sourceTree = ""; }; - 34B22FFDD2CE991366EAEE41BA0B706A /* Observable+Binding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+Binding.swift"; path = "RxSwift/Observables/Observable+Binding.swift"; sourceTree = ""; }; - 351C16C6C5C0715F1C876D91D0EDEA09 /* AsSingle.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AsSingle.swift; path = RxSwift/Observables/Implementations/AsSingle.swift; sourceTree = ""; }; - 360EB85AC720C078D420EADAF6C654ED /* GCDWebServerURLEncodedFormRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerURLEncodedFormRequest.m; path = GCDWebServer/Requests/GCDWebServerURLEncodedFormRequest.m; sourceTree = ""; }; - 3690656BBFBCA6B31887844429A9D961 /* Driver+Subscription.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Driver+Subscription.swift"; path = "RxCocoa/CocoaUnits/Driver/Driver+Subscription.swift"; sourceTree = ""; }; - 37276F2D8D3AED22ABF63827FF4C2E1D /* _RXObjCRuntime.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _RXObjCRuntime.m; path = RxCocoa/Runtime/_RXObjCRuntime.m; sourceTree = ""; }; - 385EF54CE93CF6561FBD6FCD4BC908CF /* SingleAssignmentDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SingleAssignmentDisposable.swift; path = RxSwift/Disposables/SingleAssignmentDisposable.swift; sourceTree = ""; }; - 3AC8F7EF565790CE58751914BAB4C1B3 /* ReplaySubject.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ReplaySubject.swift; path = RxSwift/Subjects/ReplaySubject.swift; sourceTree = ""; }; - 3B3D790CC9A67D70E3E0EDD445F085E1 /* Merge.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Merge.swift; path = RxSwift/Observables/Implementations/Merge.swift; sourceTree = ""; }; - 3C3DDD5AE0D4C7DFC098D473F24ADFC5 /* Validation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Validation.swift; path = Source/Validation.swift; sourceTree = ""; }; - 3C59EAD8143A508A0231627DD42D5C23 /* ControlTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ControlTarget.swift; path = RxCocoa/Common/ControlTarget.swift; sourceTree = ""; }; - 3F28BB197905FA93BEC98E5D1F6B9F75 /* Range.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Range.swift; path = RxSwift/Observables/Implementations/Range.swift; sourceTree = ""; }; - 405572D03A3BCC4C3EEC1F1CECFFD7EC /* GCDWebServer-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "GCDWebServer-dummy.m"; sourceTree = ""; }; - 40784518B3B077970ACD76FF6ADC6E18 /* AddRef.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AddRef.swift; path = RxSwift/Observables/Implementations/AddRef.swift; sourceTree = ""; }; - 4209C3E1C531131A7CA7A2DA0BB1F334 /* TakeLast.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TakeLast.swift; path = RxSwift/Observables/Implementations/TakeLast.swift; sourceTree = ""; }; - 423730810CF7CCE34FE8316CFF58F0B8 /* Generate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Generate.swift; path = RxSwift/Observables/Implementations/Generate.swift; sourceTree = ""; }; - 42677271ADFD7C38E4A2D9A129A60105 /* _RX.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _RX.m; path = RxCocoa/Runtime/_RX.m; sourceTree = ""; }; - 430E0E395046F19946D55C7F791DDCC4 /* Throttle.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Throttle.swift; path = RxSwift/Observables/Implementations/Throttle.swift; sourceTree = ""; }; - 435BB7E73157084CAF2FE80FBE224AF2 /* OperationQueueScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = OperationQueueScheduler.swift; path = RxSwift/Schedulers/OperationQueueScheduler.swift; sourceTree = ""; }; - 4387584024C546AD5AD6B7EDD37485BF /* GCDWebServerConnection.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerConnection.m; path = GCDWebServer/Core/GCDWebServerConnection.m; sourceTree = ""; }; + 36019BD0EE41D3607C2C27C0ADB04D74 /* UIBindingObserver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = UIBindingObserver.swift; path = RxCocoa/CocoaUnits/UIBindingObserver.swift; sourceTree = ""; }; + 360DA50C9A08694D5E723C8D33F6B531 /* RxCocoa.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxCocoa.swift; path = RxCocoa/RxCocoa.swift; sourceTree = ""; }; + 36484E288D4341558E1F3EE234449FBF /* MASLocalization.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASLocalization.h; path = Framework/MASLocalization.h; sourceTree = ""; }; + 373382D953B210F2B54E4302BA7352FB /* MASKeyMasks.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASKeyMasks.h; path = Framework/MASKeyMasks.h; sourceTree = ""; }; + 377A7BD15ACA2551B8FF20D84523C92E /* RxTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTarget.swift; path = RxCocoa/Common/RxTarget.swift; sourceTree = ""; }; + 37CDF09D539295CF92C1177F3198BE36 /* Reactive.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Reactive.swift; path = RxSwift/Reactive.swift; sourceTree = ""; }; + 394DF70A944D44426FACC5545FD86F50 /* InvocableType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = InvocableType.swift; path = RxSwift/Schedulers/Internal/InvocableType.swift; sourceTree = ""; }; + 39AFDBEEC86FF2A1DBA04DE6AC2CCB8A /* DispatchQueue+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "DispatchQueue+Extensions.swift"; path = "Platform/DispatchQueue+Extensions.swift"; sourceTree = ""; }; + 3A1307AC53289CB23C4D900ABA797CCB /* pl.lproj */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = folder; path = pl.lproj; sourceTree = ""; }; + 3A20E2059987CF8909AA4771423FA8F6 /* RxMutableBox.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxMutableBox.swift; path = RxSwift/RxMutableBox.swift; sourceTree = ""; }; + 3A36D783DDE370E8E04E080AE3F46E2F /* SwitchIfEmpty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SwitchIfEmpty.swift; path = RxSwift/Observables/Implementations/SwitchIfEmpty.swift; sourceTree = ""; }; + 3B01C689FD3DA95E7F9C9CE150395340 /* ControlEvent+Driver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ControlEvent+Driver.swift"; path = "RxCocoa/CocoaUnits/Driver/ControlEvent+Driver.swift"; sourceTree = ""; }; + 3BB539B4AC0ACC9675335E47738AD942 /* Validation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Validation.swift; path = Source/Validation.swift; sourceTree = ""; }; + 3BC7E4E8C739AB1B6167C07AA04EEDFE /* NSLayoutConstraint+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSLayoutConstraint+Rx.swift"; path = "RxCocoa/Common/NSLayoutConstraint+Rx.swift"; sourceTree = ""; }; + 3DE1A985FFB33D04EE108BA94B2CC300 /* Observable+StandardSequenceOperators.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+StandardSequenceOperators.swift"; path = "RxSwift/Observables/Observable+StandardSequenceOperators.swift"; sourceTree = ""; }; + 3E22BF4F555FDF5E0BF0318947891E5C /* AnyObserver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnyObserver.swift; path = RxSwift/AnyObserver.swift; sourceTree = ""; }; + 3EF9A2072EA869E89AE127F63D78C077 /* RxSwift-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "RxSwift-dummy.m"; sourceTree = ""; }; + 3F06090977A101E9A348F9512FBD5963 /* Repeat.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Repeat.swift; path = RxSwift/Observables/Implementations/Repeat.swift; sourceTree = ""; }; + 3F409396EA99B1F6E332F817F2DDA9A7 /* DistinctUntilChanged.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DistinctUntilChanged.swift; path = RxSwift/Observables/Implementations/DistinctUntilChanged.swift; sourceTree = ""; }; + 3FAE3A7339C3A29FB22934395FA2EA45 /* GCDWebServerResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerResponse.h; path = GCDWebServer/Core/GCDWebServerResponse.h; sourceTree = ""; }; + 40B45BE14874598162E4FE62B0CD9054 /* MASShortcut.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASShortcut.m; path = Framework/MASShortcut.m; sourceTree = ""; }; + 410BA16F83DF36ED64759FCA083473DC /* Amb.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Amb.swift; path = RxSwift/Observables/Implementations/Amb.swift; sourceTree = ""; }; + 41638B7D3C22323377901B651D1F37A7 /* OperationQueueScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = OperationQueueScheduler.swift; path = RxSwift/Schedulers/OperationQueueScheduler.swift; sourceTree = ""; }; + 4246404957CA85BBF1FF5AB2B05B9987 /* Observable+Bind.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+Bind.swift"; path = "RxCocoa/Common/Observable+Bind.swift"; sourceTree = ""; }; + 42A79E3A3EFF4AABEC6BB96F1AE1F024 /* Variable+SharedSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Variable+SharedSequence.swift"; path = "RxCocoa/CocoaUnits/SharedSequence/Variable+SharedSequence.swift"; sourceTree = ""; }; + 42DD341BD8230394DBACAE756A98F50B /* GCDWebServerConnection.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerConnection.h; path = GCDWebServer/Core/GCDWebServerConnection.h; sourceTree = ""; }; + 42F07685AEED1A5E7C5A5E77B6A9A4A9 /* NSControl+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSControl+Rx.swift"; path = "RxCocoa/macOS/NSControl+Rx.swift"; sourceTree = ""; }; + 4400F922FD830B1F115DC11FDEDCFE6B /* ControlProperty+Driver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ControlProperty+Driver.swift"; path = "RxCocoa/CocoaUnits/Driver/ControlProperty+Driver.swift"; sourceTree = ""; }; + 449BC1DF0D4CE4C2BC6FA4C1E46C8776 /* SkipWhile.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SkipWhile.swift; path = RxSwift/Observables/Implementations/SkipWhile.swift; sourceTree = ""; }; + 45C65FA3F78F0AA16EE65F4F0AF2080F /* XYPingUtil-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "XYPingUtil-umbrella.h"; sourceTree = ""; }; 46662EB64876AD1C891F548C69A89E89 /* Pods-ShadowsocksX-NGTests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-ShadowsocksX-NGTests-dummy.m"; sourceTree = ""; }; - 478441DBD43555BE4C13427FB4B1F102 /* SerialDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SerialDisposable.swift; path = RxSwift/Disposables/SerialDisposable.swift; sourceTree = ""; }; - 47B14EF7B2C9724416D7F4F875D1CB32 /* GCDWebServerDataRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerDataRequest.h; path = GCDWebServer/Requests/GCDWebServerDataRequest.h; sourceTree = ""; }; - 48B2C17385071197F259AB746341B272 /* LockOwnerType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LockOwnerType.swift; path = RxSwift/Concurrency/LockOwnerType.swift; sourceTree = ""; }; - 48FAC49BD2A6F874166D24BB5C9BA1AE /* Skip.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Skip.swift; path = RxSwift/Observables/Implementations/Skip.swift; sourceTree = ""; }; - 49AA0901E701115CB7028794961FEE8E /* GCDWebServerStreamedResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerStreamedResponse.h; path = GCDWebServer/Responses/GCDWebServerStreamedResponse.h; sourceTree = ""; }; - 49D0AEBF622CB33505BCC1202E398B34 /* Debounce.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Debounce.swift; path = RxSwift/Observables/Implementations/Debounce.swift; sourceTree = ""; }; - 49F857A6751201ED3D72F96DC13C729F /* ServerTrustPolicy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ServerTrustPolicy.swift; path = Source/ServerTrustPolicy.swift; sourceTree = ""; }; - 4A1F43CF3068C2DCAA16CAF4E7EDCE4E /* TailRecursiveSink.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TailRecursiveSink.swift; path = RxSwift/Observers/TailRecursiveSink.swift; sourceTree = ""; }; - 4C564EF425F990F06F9867FD48C5AAC9 /* ResponseSerialization.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ResponseSerialization.swift; path = Source/ResponseSerialization.swift; sourceTree = ""; }; - 4F4BE5C3ABEB89172F29F09B174D6883 /* AnonymousInvocable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnonymousInvocable.swift; path = RxSwift/Schedulers/Internal/AnonymousInvocable.swift; sourceTree = ""; }; - 4F4D6DC50E558CC6AE51E3AF56E5018B /* NopDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NopDisposable.swift; path = RxSwift/Disposables/NopDisposable.swift; sourceTree = ""; }; - 4F9B04B4F8691154899A7BB06F149941 /* GCDWebServerFileRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerFileRequest.h; path = GCDWebServer/Requests/GCDWebServerFileRequest.h; sourceTree = ""; }; - 4FEC4B8DFE8753A9B1DE598293568F30 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/SystemConfiguration.framework; sourceTree = DEVELOPER_DIR; }; - 5048979CBD31FB3468F7CBE0F6623336 /* cs.lproj */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = folder; path = cs.lproj; sourceTree = ""; }; - 5151ABAABBD1A1CE800C52AB2A585634 /* pl.lproj */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = folder; path = pl.lproj; sourceTree = ""; }; - 51C85F34568C70DB96CF9B23E0D503AB /* GCDWebServerFunctions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerFunctions.m; path = GCDWebServer/Core/GCDWebServerFunctions.m; sourceTree = ""; }; - 51D83FA8652F1FBA030AB17ED7FE6A3C /* UIBindingObserver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = UIBindingObserver.swift; path = RxCocoa/CocoaUnits/UIBindingObserver.swift; sourceTree = ""; }; - 5208F42E4D16971BBD8698E9C751B6ED /* Take.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Take.swift; path = RxSwift/Observables/Implementations/Take.swift; sourceTree = ""; }; - 525C68580D6831E607AD3D862DC133DD /* Buffer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Buffer.swift; path = RxSwift/Observables/Implementations/Buffer.swift; sourceTree = ""; }; - 5280B2DC564CD3CA2D4349E9AB85ADEC /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 528841720C50D9A4B73EE2A4C6A8E132 /* SynchronizedUnsubscribeType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SynchronizedUnsubscribeType.swift; path = RxSwift/Concurrency/SynchronizedUnsubscribeType.swift; sourceTree = ""; }; + 477A594FD905D4B610D13F9E882050BB /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 496D48DC6591837199B96F5194A8C1FF /* AsyncSubject.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AsyncSubject.swift; path = RxSwift/Subjects/AsyncSubject.swift; sourceTree = ""; }; + 49D1B1D3362220CE4BD47D6A84010E56 /* GCDWebServer-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "GCDWebServer-umbrella.h"; sourceTree = ""; }; + 4A6CF1626AB2F910B11A9F99BD40422B /* GCDWebServer.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = GCDWebServer.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 4BE1B26021A336516A8A062DB13243CB /* ConcurrentDispatchQueueScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConcurrentDispatchQueueScheduler.swift; path = RxSwift/Schedulers/ConcurrentDispatchQueueScheduler.swift; sourceTree = ""; }; + 4E0B7327CD3D2968D5C1D90DD0C16469 /* Timeout.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Timeout.swift; path = RxSwift/Observables/Implementations/Timeout.swift; sourceTree = ""; }; + 4E70B73466255186AB739B758E86AA9E /* Alamofire-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Alamofire-dummy.m"; sourceTree = ""; }; + 4ED617F852769328CA7989F542A1B539 /* TaskDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TaskDelegate.swift; path = Source/TaskDelegate.swift; sourceTree = ""; }; + 503ED062E5FE7FF6DB0A1F861FF575AB /* SimplePing.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SimplePing.h; path = PingUtil/SimplePing.h; sourceTree = ""; }; + 5087073736A4C953879F5B993727F81B /* Errors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Errors.swift; path = RxSwift/Errors.swift; sourceTree = ""; }; + 50A4823751182A0833647B475DC72A10 /* GCDWebServerDataResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerDataResponse.m; path = GCDWebServer/Responses/GCDWebServerDataResponse.m; sourceTree = ""; }; 52F51F94701ABD692BFFC9F92AE2E115 /* Pods-ShadowsocksX-NG-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-ShadowsocksX-NG-acknowledgements.plist"; sourceTree = ""; }; - 5374966D42537C6369072660B48CF199 /* Multicast.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Multicast.swift; path = RxSwift/Observables/Implementations/Multicast.swift; sourceTree = ""; }; - 550F2C93957EF2301541066CF63D46BC /* MASHotKey.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASHotKey.m; path = Framework/MASHotKey.m; sourceTree = ""; }; - 56E8831C108769CCDBD44A22DC79FC6C /* AnonymousDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnonymousDisposable.swift; path = RxSwift/Disposables/AnonymousDisposable.swift; sourceTree = ""; }; - 57D2E434BDBDBAFB4EAB539971677BB3 /* NSObject+Rx+KVORepresentable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSObject+Rx+KVORepresentable.swift"; path = "RxCocoa/Foundation/NSObject+Rx+KVORepresentable.swift"; sourceTree = ""; }; - 58CB8D564AB01DBEED55DBEB75380239 /* Platform.Linux.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Platform.Linux.swift; path = Platform/Platform.Linux.swift; sourceTree = ""; }; - 58FCD780817CA60F10D6C39A083DDCDC /* CombineLatest+Collection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "CombineLatest+Collection.swift"; path = "RxSwift/Observables/Implementations/CombineLatest+Collection.swift"; sourceTree = ""; }; - 59AAA65A3B3DF93288B9973C7991DA37 /* ControlEvent.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ControlEvent.swift; path = RxCocoa/CocoaUnits/ControlEvent.swift; sourceTree = ""; }; - 59B5C5DECEBDC9747029DD2086C6B00D /* Timeline.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Timeline.swift; path = Source/Timeline.swift; sourceTree = ""; }; - 59D23F0528F3A7600784924A107552D0 /* Bag+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Bag+Rx.swift"; path = "RxSwift/Extensions/Bag+Rx.swift"; sourceTree = ""; }; - 5A11BED0A468B53EAE2F900A790FB03A /* Repeat.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Repeat.swift; path = RxSwift/Observables/Implementations/Repeat.swift; sourceTree = ""; }; - 5C4A3D2ED8D2752319AA3649ECF09EA1 /* SessionDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SessionDelegate.swift; path = Source/SessionDelegate.swift; sourceTree = ""; }; - 5C56E70499D215B611C87DF7E81D7DF9 /* Observable+Multiple.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+Multiple.swift"; path = "RxSwift/Observables/Observable+Multiple.swift"; sourceTree = ""; }; - 5D803CC81BFCD9AE0F09CC693CCD4993 /* TextInput.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TextInput.swift; path = RxCocoa/Common/TextInput.swift; sourceTree = ""; }; + 5380CB1D4DB7B80A10655618CBE87513 /* Observable+Debug.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+Debug.swift"; path = "RxSwift/Observables/Observable+Debug.swift"; sourceTree = ""; }; + 541635D209381E226C6EBA22A418CD79 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/Cocoa.framework; sourceTree = DEVELOPER_DIR; }; + 54C6C19CAAD376AEA176DB9808BB2982 /* ConcurrentMainScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConcurrentMainScheduler.swift; path = RxSwift/Schedulers/ConcurrentMainScheduler.swift; sourceTree = ""; }; + 556E8B77AA1654A804668022C7161A59 /* zh-Hans.lproj */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = folder; path = "zh-Hans.lproj"; sourceTree = ""; }; + 557CECDC6DDDC2CA7B81A5E4A7AEAA95 /* MASShortcut.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASShortcut.h; path = Framework/MASShortcut.h; sourceTree = ""; }; + 56271ED3B51AE5D5902932040A00DF63 /* Variable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Variable.swift; path = RxSwift/Subjects/Variable.swift; sourceTree = ""; }; + 56A163745012A5285864F554FCCDA5A8 /* MASShortcutMonitor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASShortcutMonitor.m; path = Framework/MASShortcutMonitor.m; sourceTree = ""; }; + 581D5A04F00F822F1B2D48BC9E62548F /* Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Rx.swift; path = RxSwift/Rx.swift; sourceTree = ""; }; + 58437D55AAA11DA9CF981F9A29D598CE /* GCDWebServer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServer.h; path = GCDWebServer/Core/GCDWebServer.h; sourceTree = ""; }; + 587BACC4C98331BE24B87FA37825B878 /* MASShortcutView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASShortcutView.m; path = Framework/MASShortcutView.m; sourceTree = ""; }; + 5942EC9B2B959537ECEFB73154F32915 /* NotificationCenter+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NotificationCenter+Rx.swift"; path = "RxCocoa/Foundation/NotificationCenter+Rx.swift"; sourceTree = ""; }; + 596FDF0DEDCF85B03726FDE23D6A6D3D /* AddRef.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AddRef.swift; path = RxSwift/Observables/Implementations/AddRef.swift; sourceTree = ""; }; + 59D4E2909118474F4509B22696DC8922 /* Result.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Result.swift; path = Source/Result.swift; sourceTree = ""; }; + 5B12C28BAC495787799993326A4B12A9 /* ToArray.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ToArray.swift; path = RxSwift/Observables/Implementations/ToArray.swift; sourceTree = ""; }; + 5BDA02270CF1BA8DE880826400D4B59F /* SimplePing.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SimplePing.m; path = PingUtil/SimplePing.m; sourceTree = ""; }; + 5BE0C68CAAE6B6D69963CBBBDCB9F12F /* GCDWebServerURLEncodedFormRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerURLEncodedFormRequest.m; path = GCDWebServer/Requests/GCDWebServerURLEncodedFormRequest.m; sourceTree = ""; }; + 5C0A005DAAE9E72BC44AFA2AC39570E3 /* _RX.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _RX.h; path = RxCocoa/Runtime/include/_RX.h; sourceTree = ""; }; + 5CB739C4773DCCBE2418B05EF30FCA6D /* Scan.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Scan.swift; path = RxSwift/Observables/Implementations/Scan.swift; sourceTree = ""; }; + 5D2AFD9DCE2A92C03D06E0322DD6C351 /* RecursiveLock.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RecursiveLock.swift; path = Platform/RecursiveLock.swift; sourceTree = ""; }; 5D84D92D27CE8A6F5C45E8A03155C1CF /* Pods-proxy_conf_helper-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-proxy_conf_helper-frameworks.sh"; sourceTree = ""; }; - 5E149596B24A0F722AAD04DD0E7648FC /* GCDWebServerRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerRequest.m; path = GCDWebServer/Core/GCDWebServerRequest.m; sourceTree = ""; }; - 5EFC56330DB909884DFCFFEE79C788F2 /* Variable+Driver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Variable+Driver.swift"; path = "RxCocoa/CocoaUnits/Driver/Variable+Driver.swift"; sourceTree = ""; }; - 5FA15EB50AC1F6D3A499615FF5B6A824 /* BRLOptionParser-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "BRLOptionParser-prefix.pch"; sourceTree = ""; }; - 60B4EBBBD5D3F3346F7E7334498186B2 /* ImmediateSchedulerType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImmediateSchedulerType.swift; path = RxSwift/ImmediateSchedulerType.swift; sourceTree = ""; }; - 612574DE7BC9EB82F4DCE7D2E38318B9 /* StartWith.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StartWith.swift; path = RxSwift/Observables/Implementations/StartWith.swift; sourceTree = ""; }; - 6200462FD0350D942C06454BF3959B8D /* Observable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Observable.swift; path = RxSwift/Observable.swift; sourceTree = ""; }; - 622BE644A5BCF7100BB04E2E0578F8C2 /* RxCocoa-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RxCocoa-umbrella.h"; sourceTree = ""; }; - 62543C716FC9EBEA1CAC093AD57E93FD /* BRLOptionParser-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "BRLOptionParser-dummy.m"; sourceTree = ""; }; - 62A7E7809BC29FA83778B027FE2021B6 /* RefCountDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RefCountDisposable.swift; path = RxSwift/Disposables/RefCountDisposable.swift; sourceTree = ""; }; - 63973CDD0819B187A85E746CC55ED88F /* Sample.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Sample.swift; path = RxSwift/Observables/Implementations/Sample.swift; sourceTree = ""; }; - 64A21A2EB387821C687BFB0B5FC0D242 /* Observable+Debug.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+Debug.swift"; path = "RxSwift/Observables/Observable+Debug.swift"; sourceTree = ""; }; - 64D637E8C0ED768E21CFCAE9641662B6 /* MASShortcutView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASShortcutView.m; path = Framework/MASShortcutView.m; sourceTree = ""; }; - 64EE1C0399B2FC8E5B84F059BC3B89F9 /* SynchronizedOnType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SynchronizedOnType.swift; path = RxSwift/Concurrency/SynchronizedOnType.swift; sourceTree = ""; }; - 65268C40FD5106D32C7C227F38209B3F /* PublishSubject.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PublishSubject.swift; path = RxSwift/Subjects/PublishSubject.swift; sourceTree = ""; }; - 66999DB6AE23289A4ECDBEBCC7A09C5F /* MASDictionaryTransformer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASDictionaryTransformer.m; path = Framework/MASDictionaryTransformer.m; sourceTree = ""; }; - 6746B37DEF5322A16C300B61DED7F1AD /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 67DA5A6F6EDD732F5332FE2EAC8DB9EE /* ScheduledItemType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ScheduledItemType.swift; path = RxSwift/Schedulers/Internal/ScheduledItemType.swift; sourceTree = ""; }; - 67E751429B6B9BC0FABF01B8867EF866 /* RxSwift-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "RxSwift-dummy.m"; sourceTree = ""; }; - 69B06482690AB04BAC88256758995B90 /* Observable+Time.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+Time.swift"; path = "RxSwift/Observables/Observable+Time.swift"; sourceTree = ""; }; - 69DF594FDFE7BC49AA1019B10D7065E7 /* ObservableType+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ObservableType+Extensions.swift"; path = "RxSwift/ObservableType+Extensions.swift"; sourceTree = ""; }; - 6A03D18B60F1C426EF558F967B149830 /* Result.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Result.swift; path = Source/Result.swift; sourceTree = ""; }; - 6B53429CB1F8A25076762F2D82D97CCF /* BRLOptionParser.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BRLOptionParser.h; path = BRLOptionParser/BRLOptionParser.h; sourceTree = ""; }; - 6B7E831C7BD9ACCDA16302B15F5A8035 /* Deferred.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Deferred.swift; path = RxSwift/Observables/Implementations/Deferred.swift; sourceTree = ""; }; - 6C980D73B55B8361629ADA1668748A31 /* ObservableType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObservableType.swift; path = RxSwift/ObservableType.swift; sourceTree = ""; }; - 6CBFE7DED568FC1C077023212FEEA6C4 /* _RXKVOObserver.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _RXKVOObserver.h; path = RxCocoa/Runtime/include/_RXKVOObserver.h; sourceTree = ""; }; - 6CE6F293A7A5280E8364DA3F1C0B4B1B /* ObservableConvertibleType+SharedSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ObservableConvertibleType+SharedSequence.swift"; path = "RxCocoa/CocoaUnits/SharedSequence/ObservableConvertibleType+SharedSequence.swift"; sourceTree = ""; }; - 6D4A286AAC017AE5547B794DD2C8AF59 /* TaskDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TaskDelegate.swift; path = Source/TaskDelegate.swift; sourceTree = ""; }; - 6D71F1C033CF6233A31594BA370062CA /* BehaviorSubject.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BehaviorSubject.swift; path = RxSwift/Subjects/BehaviorSubject.swift; sourceTree = ""; }; - 6DEED24A26C9B7E2A8FFD080F9C8C2AF /* SynchronizedSubscribeType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SynchronizedSubscribeType.swift; path = RxSwift/Concurrency/SynchronizedSubscribeType.swift; sourceTree = ""; }; - 6E1351027B3142F486A98424D9F42779 /* GCDWebServer-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "GCDWebServer-umbrella.h"; sourceTree = ""; }; - 6E634B678C5C5CF993CA1475A75B7DEE /* Observable+Creation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+Creation.swift"; path = "RxSwift/Observables/Observable+Creation.swift"; sourceTree = ""; }; - 6F8C5EB810D1464D5BE86A414DC08616 /* MASShortcut.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = MASShortcut.xcconfig; sourceTree = ""; }; - 71150F3D7194C1783C37A070F1AD879E /* ShareReplay1WhileConnected.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ShareReplay1WhileConnected.swift; path = RxSwift/Observables/Implementations/ShareReplay1WhileConnected.swift; sourceTree = ""; }; - 717C5EDEA19D4107A1C3112D049EBB9C /* NotificationCenter+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NotificationCenter+Rx.swift"; path = "RxCocoa/Foundation/NotificationCenter+Rx.swift"; sourceTree = ""; }; - 72D5CA8AF08CC028C391EB1A38C661B0 /* DispatchQueue+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "DispatchQueue+Alamofire.swift"; path = "Source/DispatchQueue+Alamofire.swift"; sourceTree = ""; }; - 76BDABDC97B3B4B0598FB6DF3966C3EA /* ja.lproj */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = folder; path = ja.lproj; sourceTree = ""; }; - 77A56791C067FBC9E3AC1405C667F1BA /* DisposeBase.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DisposeBase.swift; path = RxSwift/Disposables/DisposeBase.swift; sourceTree = ""; }; - 77B1E0282CBC343B82CC78C567B8B534 /* MASShortcutMonitor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASShortcutMonitor.m; path = Framework/MASShortcutMonitor.m; sourceTree = ""; }; - 78D3C582CD284C68D7B5FCF58D73BF07 /* SessionManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SessionManager.swift; path = Source/SessionManager.swift; sourceTree = ""; }; - 797084A009F9EF151DBBF73DD026ADC6 /* BRLOptionParser.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = BRLOptionParser.xcconfig; sourceTree = ""; }; - 79CD123F941026E950A51F29197238C8 /* Alamofire-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Alamofire-prefix.pch"; sourceTree = ""; }; - 7A46EF6D6AE7B13EF91E0A19B18EABEE /* SkipWhile.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SkipWhile.swift; path = RxSwift/Observables/Implementations/SkipWhile.swift; sourceTree = ""; }; - 7A5020E5D284EBAF7DED99AB83881F38 /* Observable+Aggregate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+Aggregate.swift"; path = "RxSwift/Observables/Observable+Aggregate.swift"; sourceTree = ""; }; - 7B63AB91C9378BEF83982ADCC82E9770 /* GCDWebServer.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = GCDWebServer.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 7CBC95D81A39FE47DF7664F12F9FF6E1 /* AsyncLock.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AsyncLock.swift; path = RxSwift/Concurrency/AsyncLock.swift; sourceTree = ""; }; - 7CD1750A494B17CF183B50C961117C6D /* GCDWebServerErrorResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerErrorResponse.h; path = GCDWebServer/Responses/GCDWebServerErrorResponse.h; sourceTree = ""; }; - 7D0D3E3125AF3C4C71554245E74E3A8C /* Map.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Map.swift; path = RxSwift/Observables/Implementations/Map.swift; sourceTree = ""; }; - 7D6462467149007CC9112C18E0FA2BE0 /* Reactive.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Reactive.swift; path = RxSwift/Reactive.swift; sourceTree = ""; }; - 7DB18E3EF0102CDC82F31CA6B466A8B3 /* ToArray.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ToArray.swift; path = RxSwift/Observables/Implementations/ToArray.swift; sourceTree = ""; }; - 7E1780CA78CC5EE56892186D6699471D /* GCDWebServerFileRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerFileRequest.m; path = GCDWebServer/Requests/GCDWebServerFileRequest.m; sourceTree = ""; }; - 7E8FD5D8A77584D71B37963D270CBAE2 /* _RXKVOObserver.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _RXKVOObserver.m; path = RxCocoa/Runtime/_RXKVOObserver.m; sourceTree = ""; }; - 804280091995DFB0D7791D5300473723 /* GroupBy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GroupBy.swift; path = RxSwift/Observables/Implementations/GroupBy.swift; sourceTree = ""; }; - 806CAD0BC89F898F94D939211ABC3384 /* Do.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Do.swift; path = RxSwift/Observables/Implementations/Do.swift; sourceTree = ""; }; - 81A1AAE28282C31243C72011FF5A4830 /* Timer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Timer.swift; path = RxSwift/Observables/Implementations/Timer.swift; sourceTree = ""; }; - 828EB8509B88B335C1D7D0C2B3D7D895 /* KVORepresentable+Swift.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "KVORepresentable+Swift.swift"; path = "RxCocoa/Foundation/KVORepresentable+Swift.swift"; sourceTree = ""; }; + 5D92176701E7CDBFFF90FEE478C8207A /* Optional.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Optional.swift; path = RxSwift/Observables/Implementations/Optional.swift; sourceTree = ""; }; + 5EF992724FD09BBDA363D1880AB0D121 /* MASShortcutView+Bindings.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "MASShortcutView+Bindings.h"; path = "Framework/MASShortcutView+Bindings.h"; sourceTree = ""; }; + 5FD6D1D17496E22EB3C146A1AB450938 /* SingleAssignmentDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SingleAssignmentDisposable.swift; path = RxSwift/Disposables/SingleAssignmentDisposable.swift; sourceTree = ""; }; + 6173B4694F9D3D845CB4D9D50EC41087 /* ObserveOnSerialDispatchQueue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObserveOnSerialDispatchQueue.swift; path = RxSwift/Observables/Implementations/ObserveOnSerialDispatchQueue.swift; sourceTree = ""; }; + 61BA2B0BD6D48C6C10274956282FA9FB /* Throttle.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Throttle.swift; path = RxSwift/Observables/Implementations/Throttle.swift; sourceTree = ""; }; + 61DE68AB8FF9A1B46A343FD457B2BA0A /* WithLatestFrom.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = WithLatestFrom.swift; path = RxSwift/Observables/Implementations/WithLatestFrom.swift; sourceTree = ""; }; + 61F6EDE85777BF55B6A77EBE779A81D6 /* Switch.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Switch.swift; path = RxSwift/Observables/Implementations/Switch.swift; sourceTree = ""; }; + 6380406A92A445B5DB6FD788446065D3 /* CompositeDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CompositeDisposable.swift; path = RxSwift/Disposables/CompositeDisposable.swift; sourceTree = ""; }; + 638DF4C579B1918C76A79C46A8FC857E /* SharedSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SharedSequence.swift; path = RxCocoa/CocoaUnits/SharedSequence/SharedSequence.swift; sourceTree = ""; }; + 6486E45659F40A59C6D1C0F375BC0663 /* SchedulerServices+Emulation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "SchedulerServices+Emulation.swift"; path = "RxSwift/Schedulers/SchedulerServices+Emulation.swift"; sourceTree = ""; }; + 64C9AFA630CDDC69A34A3A3EC227D4D0 /* HistoricalScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HistoricalScheduler.swift; path = RxSwift/Schedulers/HistoricalScheduler.swift; sourceTree = ""; }; + 6574C38EFF8485B784CB3001709E2854 /* NSView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSView+Rx.swift"; path = "RxCocoa/macOS/NSView+Rx.swift"; sourceTree = ""; }; + 6648C6A5E7AA88F2486DBAB18C40B4BD /* GCDWebServerMultiPartFormRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerMultiPartFormRequest.m; path = GCDWebServer/Requests/GCDWebServerMultiPartFormRequest.m; sourceTree = ""; }; + 668198EDD6FDCC5AB38CB33DA7659011 /* MASDictionaryTransformer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASDictionaryTransformer.h; path = Framework/MASDictionaryTransformer.h; sourceTree = ""; }; + 67D90AB2B6EFE1F7489F45D68C4173E3 /* RefCount.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RefCount.swift; path = RxSwift/Observables/Implementations/RefCount.swift; sourceTree = ""; }; + 68A500E1043DC47693BB9C3F1E633860 /* Shortcut.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Shortcut.h; path = Framework/Shortcut.h; sourceTree = ""; }; + 68E6DAA9FF19D551E5E3DF14725FD9BA /* Variable+Driver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Variable+Driver.swift"; path = "RxCocoa/CocoaUnits/Driver/Variable+Driver.swift"; sourceTree = ""; }; + 68EC6D81C4720C4DBCC1A91BA6F809C5 /* SerialDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SerialDisposable.swift; path = RxSwift/Disposables/SerialDisposable.swift; sourceTree = ""; }; + 69158B24E577C42B2B47AF7F1DAA88B5 /* DelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DelegateProxy.swift; path = RxCocoa/Common/DelegateProxy.swift; sourceTree = ""; }; + 6935A55DCDAA25AE27D43322A3B5F25C /* GCDWebServerDataRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerDataRequest.h; path = GCDWebServer/Requests/GCDWebServerDataRequest.h; sourceTree = ""; }; + 6B9E4025914D7F3569C3F170C0857AB0 /* MASShortcutValidator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASShortcutValidator.h; path = Framework/MASShortcutValidator.h; sourceTree = ""; }; + 6CBE7E6944508A0EF00550266DE8CEBA /* AnonymousInvocable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnonymousInvocable.swift; path = RxSwift/Schedulers/Internal/AnonymousInvocable.swift; sourceTree = ""; }; + 6F80F9D570ECC43F0D6BA9391F8FA9BA /* GCDWebServerFileResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerFileResponse.h; path = GCDWebServer/Responses/GCDWebServerFileResponse.h; sourceTree = ""; }; + 6FFD5A22A90E101CA6FA12CF1E94D1A7 /* KVORepresentable+Swift.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "KVORepresentable+Swift.swift"; path = "RxCocoa/Foundation/KVORepresentable+Swift.swift"; sourceTree = ""; }; + 714BB33CF2C0A1869EE104FBC3FC7B43 /* _RX.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _RX.m; path = RxCocoa/Runtime/_RX.m; sourceTree = ""; }; + 71FAFD5785147C842808E222D27B2D4E /* BRLOptionParser.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = BRLOptionParser.xcconfig; sourceTree = ""; }; + 72F525D23BB02F278F13FE1D8039E96B /* Bag.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Bag.swift; path = Platform/DataStructures/Bag.swift; sourceTree = ""; }; + 739C766D62048607EB6A576C3A68FB7E /* KVORepresentable+CoreGraphics.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "KVORepresentable+CoreGraphics.swift"; path = "RxCocoa/Foundation/KVORepresentable+CoreGraphics.swift"; sourceTree = ""; }; + 748E705AEF29F7189CB715E55F267483 /* AnonymousObserver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnonymousObserver.swift; path = RxSwift/Observers/AnonymousObserver.swift; sourceTree = ""; }; + 7521EC263853AD7395BC8B85F548D46E /* Skip.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Skip.swift; path = RxSwift/Observables/Implementations/Skip.swift; sourceTree = ""; }; + 7530F8A923B1254344B7B67782C6A9B0 /* MainScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MainScheduler.swift; path = RxSwift/Schedulers/MainScheduler.swift; sourceTree = ""; }; + 75826486287006EA76C6E631DFAB1448 /* ObservableConvertibleType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObservableConvertibleType.swift; path = RxSwift/ObservableConvertibleType.swift; sourceTree = ""; }; + 763468E668DEB1E078B7BB50D21375D3 /* RxCocoaObjCRuntimeError+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "RxCocoaObjCRuntimeError+Extensions.swift"; path = "RxCocoa/Common/RxCocoaObjCRuntimeError+Extensions.swift"; sourceTree = ""; }; + 772FBF1C6AE60546045AFCF785D15A60 /* Observable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Observable.swift; path = RxSwift/Observable.swift; sourceTree = ""; }; + 7736B6B772B3A781434235A79FD7FE03 /* DelaySubscription.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DelaySubscription.swift; path = RxSwift/Observables/Implementations/DelaySubscription.swift; sourceTree = ""; }; + 777A725E8F7739B90AC1A98CF7044517 /* NetworkReachabilityManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NetworkReachabilityManager.swift; path = Source/NetworkReachabilityManager.swift; sourceTree = ""; }; + 77EC3586590703C080B465267A91E532 /* RecursiveScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RecursiveScheduler.swift; path = RxSwift/Schedulers/RecursiveScheduler.swift; sourceTree = ""; }; + 78BA9E278E68ECCF7D20A36E98E46DAD /* Map.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Map.swift; path = RxSwift/Observables/Implementations/Map.swift; sourceTree = ""; }; + 78BD95BEC3668F37DBC2E000C117ED3F /* ScheduledDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ScheduledDisposable.swift; path = RxSwift/Disposables/ScheduledDisposable.swift; sourceTree = ""; }; + 79DB5F1751C4AB2410135041CDCD8F68 /* Do.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Do.swift; path = RxSwift/Observables/Implementations/Do.swift; sourceTree = ""; }; + 7A055428BBC845FE3F6F82FE5039BD7D /* KVORepresentable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = KVORepresentable.swift; path = RxCocoa/Foundation/KVORepresentable.swift; sourceTree = ""; }; + 7B43BD81C11C56E833936C952A16337A /* MASShortcutMonitor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASShortcutMonitor.h; path = Framework/MASShortcutMonitor.h; sourceTree = ""; }; + 7C28F293470866DDE15AC5B07820EE6C /* ImmediateSchedulerType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImmediateSchedulerType.swift; path = RxSwift/ImmediateSchedulerType.swift; sourceTree = ""; }; + 7C6FCC78D09A845D08FCB5E08C0D54E8 /* GCDWebServerFileResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerFileResponse.m; path = GCDWebServer/Responses/GCDWebServerFileResponse.m; sourceTree = ""; }; + 7D7B9A798AE4EEE3CFFEF83DDA901B20 /* ImmediateScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImmediateScheduler.swift; path = RxSwift/Schedulers/ImmediateScheduler.swift; sourceTree = ""; }; + 7E3ABEB4812FF4219C70ACEA83333729 /* GCDWebServerErrorResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerErrorResponse.m; path = GCDWebServer/Responses/GCDWebServerErrorResponse.m; sourceTree = ""; }; + 7E9C90F3BA4251EA9D6F4DB53B20422A /* MASKeyCodes.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASKeyCodes.h; path = Framework/MASKeyCodes.h; sourceTree = ""; }; + 801502B019AD82B1A18CB5586BBFFBF2 /* GCDWebServer.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = GCDWebServer.modulemap; sourceTree = ""; }; + 805A3A55207538C1E212E5F7C9E99E31 /* Disposables.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Disposables.swift; path = RxSwift/Disposables/Disposables.swift; sourceTree = ""; }; + 8075738A1371E1A9B350132FDBEC9268 /* SubscriptionDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SubscriptionDisposable.swift; path = RxSwift/Disposables/SubscriptionDisposable.swift; sourceTree = ""; }; 83323A1A2936BBA3D386DCC078E3821E /* Pods-ShadowsocksX-NGTests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-ShadowsocksX-NGTests-acknowledgements.markdown"; sourceTree = ""; }; - 8402EA2D03C261FDFF31CEC2F3E17390 /* RefCount.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RefCount.swift; path = RxSwift/Observables/Implementations/RefCount.swift; sourceTree = ""; }; - 85BE206744586C11C8C71BF92918AB7B /* Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Rx.swift; path = RxSwift/Rx.swift; sourceTree = ""; }; - 874D347DB51D5D3E716E95F6E97CFF9A /* MASLocalization.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASLocalization.m; path = Framework/MASLocalization.m; sourceTree = ""; }; - 87580AD4D9D45E84D60D81B7D6E97C0A /* Platform.Darwin.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Platform.Darwin.swift; path = Platform/Platform.Darwin.swift; sourceTree = ""; }; - 87C033CF62C6A03D67EA9056684E74B2 /* Delay.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Delay.swift; path = RxSwift/Observables/Implementations/Delay.swift; sourceTree = ""; }; - 8865ABAF07DEA295CE14F00DEB443C41 /* RxCocoa.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RxCocoa.h; path = RxCocoa/RxCocoa.h; sourceTree = ""; }; - 88C081789EDC0560233A76D711CE9659 /* Alamofire-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Alamofire-umbrella.h"; sourceTree = ""; }; - 88C9C68749757A2F4BCA7FFF1CA0F9BA /* Sequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Sequence.swift; path = RxSwift/Observables/Implementations/Sequence.swift; sourceTree = ""; }; - 89BD8062B3919962E8EFBC3E6DBA8537 /* SharedSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SharedSequence.swift; path = RxCocoa/CocoaUnits/SharedSequence/SharedSequence.swift; sourceTree = ""; }; - 8B0382153B0EC132C2BECD3DCB1193B6 /* DelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DelegateProxy.swift; path = RxCocoa/Common/DelegateProxy.swift; sourceTree = ""; }; - 8C0EC59C08B29B12978B1C4DBDD6491F /* MASShortcutBinder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASShortcutBinder.m; path = Framework/MASShortcutBinder.m; sourceTree = ""; }; + 8333526D56752C918A2A26AFDA9723C1 /* Catch.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Catch.swift; path = RxSwift/Observables/Implementations/Catch.swift; sourceTree = ""; }; + 835E6CB9743C0DD2CB95B5999EC8680F /* PublishSubject.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PublishSubject.swift; path = RxSwift/Subjects/PublishSubject.swift; sourceTree = ""; }; + 837E8E741DAEAEB0326BF12C8509386C /* DelegateProxyType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DelegateProxyType.swift; path = RxCocoa/Common/DelegateProxyType.swift; sourceTree = ""; }; + 842D3EBF759D57C30020E9E454D53B18 /* GCDWebServerFunctions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerFunctions.h; path = GCDWebServer/Core/GCDWebServerFunctions.h; sourceTree = ""; }; + 84B3E5EAEDA6817ABA811BD0879AE625 /* Event.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Event.swift; path = RxSwift/Event.swift; sourceTree = ""; }; + 853F87DF9EDE5FA2086B4A5E269E74AA /* GCDWebServerResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerResponse.m; path = GCDWebServer/Core/GCDWebServerResponse.m; sourceTree = ""; }; + 861B619C52D195B616174FAE200B35B3 /* Zip.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Zip.swift; path = RxSwift/Observables/Implementations/Zip.swift; sourceTree = ""; }; + 86437738F02288E7D2F61E326E88B973 /* SerialDispatchQueueScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SerialDispatchQueueScheduler.swift; path = RxSwift/Schedulers/SerialDispatchQueueScheduler.swift; sourceTree = ""; }; + 86EF52D40469183E91E1F9F4A4C3DB7E /* MASShortcut-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "MASShortcut-umbrella.h"; sourceTree = ""; }; + 8800AE6CCDAE1B7F4AB8A1C3AEC716CB /* ShareReplay1WhileConnected.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ShareReplay1WhileConnected.swift; path = RxSwift/Observables/Implementations/ShareReplay1WhileConnected.swift; sourceTree = ""; }; + 8872F699901E18AE0FB6D36963747A18 /* PingUtil.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PingUtil.h; path = PingUtil/PingUtil.h; sourceTree = ""; }; + 8951081556657AFE491F4F47CEC8FDC9 /* SynchronizedUnsubscribeType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SynchronizedUnsubscribeType.swift; path = RxSwift/Concurrency/SynchronizedUnsubscribeType.swift; sourceTree = ""; }; + 8A70CFF2D266D78536477593314BB842 /* Buffer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Buffer.swift; path = RxSwift/Observables/Implementations/Buffer.swift; sourceTree = ""; }; 8CDD45C6D7A038F415A78787317E931A /* Pods-proxy_conf_helper-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-proxy_conf_helper-resources.sh"; sourceTree = ""; }; - 8D21B3357EAEBF44D19D3A611848628E /* InvocableType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = InvocableType.swift; path = RxSwift/Schedulers/Internal/InvocableType.swift; sourceTree = ""; }; - 8D679D13A827958B8B727FA6E970D093 /* MASLocalization.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASLocalization.h; path = Framework/MASLocalization.h; sourceTree = ""; }; - 8E68586EDAB1716AE8A9303B3149E642 /* ResourceBundle-MASShortcut-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ResourceBundle-MASShortcut-Info.plist"; sourceTree = ""; }; - 8E9FC22AFD2BA36D7C298505DD97DB07 /* Errors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Errors.swift; path = RxSwift/Errors.swift; sourceTree = ""; }; - 8EC98D40BE7139C7559F4E49AD0B9202 /* Shortcut.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Shortcut.h; path = Framework/Shortcut.h; sourceTree = ""; }; - 8EDBB56EE738F917614C08B706C06291 /* fr.lproj */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = folder; path = fr.lproj; sourceTree = ""; }; - 8EF3B7799254D602BB02B42C4E30CFFF /* Never.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Never.swift; path = RxSwift/Observables/Implementations/Never.swift; sourceTree = ""; }; - 8F1D6D87906CF7A06C84F16A89701364 /* MASShortcut-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "MASShortcut-umbrella.h"; sourceTree = ""; }; - 8F9C2E8F767184184382C0659D0B57C6 /* GCDWebServerDataRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerDataRequest.m; path = GCDWebServer/Requests/GCDWebServerDataRequest.m; sourceTree = ""; }; - 8FE77EB2349A660DFADBF5CE01DEF91C /* ObserveOnSerialDispatchQueue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObserveOnSerialDispatchQueue.swift; path = RxSwift/Observables/Implementations/ObserveOnSerialDispatchQueue.swift; sourceTree = ""; }; - 90BD54F6E711E6C0C832CFD421265D40 /* MASShortcutBinder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASShortcutBinder.h; path = Framework/MASShortcutBinder.h; sourceTree = ""; }; - 911BAB036265D98689D411112E34B452 /* RecursiveLock.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RecursiveLock.swift; path = Platform/RecursiveLock.swift; sourceTree = ""; }; - 912AE5C728F325B6D86D33E827E266C8 /* RxMutableBox.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxMutableBox.swift; path = RxSwift/RxMutableBox.swift; sourceTree = ""; }; - 912D7029A05911D1FB4ABFF9E2B851C7 /* Platform.Linux.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Platform.Linux.swift; path = Platform/Platform.Linux.swift; sourceTree = ""; }; + 8F6E06740346183D5BE4336802A9412B /* Reduce.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Reduce.swift; path = RxSwift/Observables/Implementations/Reduce.swift; sourceTree = ""; }; + 926176BBD3D30672D7928FC950B3EFFF /* RxCocoa.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RxCocoa.h; path = RxCocoa/RxCocoa.h; sourceTree = ""; }; + 92CA538AFEA6F001423616DA08DDB61C /* SessionDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SessionDelegate.swift; path = Source/SessionDelegate.swift; sourceTree = ""; }; + 935A68B10956CAFB7C47182213A28F72 /* PrimitiveSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PrimitiveSequence.swift; path = RxSwift/Units/PrimitiveSequence.swift; sourceTree = ""; }; + 937175BE71F2E6D6A0271C60E7173952 /* GCDWebServerDataResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerDataResponse.h; path = GCDWebServer/Responses/GCDWebServerDataResponse.h; sourceTree = ""; }; 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 941AC673759A8487CD0E31D9222FE395 /* GCDWebServerPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerPrivate.h; path = GCDWebServer/Core/GCDWebServerPrivate.h; sourceTree = ""; }; - 941AD6E4532B1B070D2592FE3A2AE752 /* Error.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Error.swift; path = RxSwift/Observables/Implementations/Error.swift; sourceTree = ""; }; - 94E567C35466451FC7539A0BD8DA6046 /* Disposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Disposable.swift; path = RxSwift/Disposable.swift; sourceTree = ""; }; - 94F74323508484A216D1C8AECF3B836C /* Platform.Darwin.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Platform.Darwin.swift; path = Platform/Platform.Darwin.swift; sourceTree = ""; }; - 9591C37093C86F6625E89B7ECD358BDE /* VirtualTimeConverterType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = VirtualTimeConverterType.swift; path = RxSwift/Schedulers/VirtualTimeConverterType.swift; sourceTree = ""; }; - 967C15B6D2FAA4BA22B657F647B6B412 /* en.lproj */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = folder; path = en.lproj; sourceTree = ""; }; - 96A99E648BA7AA9728B58FA257DAAB8E /* NSView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSView+Rx.swift"; path = "RxCocoa/macOS/NSView+Rx.swift"; sourceTree = ""; }; - 96B9E4E997A45EC8F7F95390DF683EA4 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 9761A45C8B106617BE144782B56D8C8C /* RxCocoaObjCRuntimeError+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "RxCocoaObjCRuntimeError+Extensions.swift"; path = "RxCocoa/Common/RxCocoaObjCRuntimeError+Extensions.swift"; sourceTree = ""; }; - 981AE7988280E3E58827A4BC2FEC206B /* RxCocoa.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = RxCocoa.modulemap; sourceTree = ""; }; + 93D9918CAA4608C516463CE78EB152E1 /* BRLOptionParser-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "BRLOptionParser-prefix.pch"; sourceTree = ""; }; + 942803270D96FC6A462D7D073F0172F2 /* ScheduledItemType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ScheduledItemType.swift; path = RxSwift/Schedulers/Internal/ScheduledItemType.swift; sourceTree = ""; }; + 96CAD7B3794996568E4DA83C44A90DF8 /* AsMaybe.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AsMaybe.swift; path = RxSwift/Observables/Implementations/AsMaybe.swift; sourceTree = ""; }; + 97B583E0D0453F55A079C6689587E982 /* ControlEvent.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ControlEvent.swift; path = RxCocoa/CocoaUnits/ControlEvent.swift; sourceTree = ""; }; + 981583896DBF4FAA2A364B6618873F33 /* GCDWebServer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServer.m; path = GCDWebServer/Core/GCDWebServer.m; sourceTree = ""; }; 98522BF2EB25C0255284080F9CA3E195 /* Pods-ShadowsocksX-NG.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ShadowsocksX-NG.debug.xcconfig"; sourceTree = ""; }; - 999B20A513A4091BA573B86714915DD0 /* MASShortcut-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "MASShortcut-dummy.m"; sourceTree = ""; }; - 99EFFE07C47D5D98611714C066D640BC /* ControlProperty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ControlProperty.swift; path = RxCocoa/CocoaUnits/ControlProperty.swift; sourceTree = ""; }; - 9B6ACACC69C2EA2681770741535F1D69 /* MASShortcut.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = MASShortcut.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 988A6E1015F0EE8A2C32D673049EB480 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/Carbon.framework; sourceTree = DEVELOPER_DIR; }; + 993BDC80A901642001B6FF19B91930A9 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; + 995DE74885B81C140E5039D023558CC8 /* ObserverType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObserverType.swift; path = RxSwift/ObserverType.swift; sourceTree = ""; }; + 9A17CA28B45C048234AFE70E575A4CBD /* GCDWebServerRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerRequest.m; path = GCDWebServer/Core/GCDWebServerRequest.m; sourceTree = ""; }; + 9A6740BC86965C485F8B76DA8E1F3B13 /* Platform.Darwin.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Platform.Darwin.swift; path = Platform/Platform.Darwin.swift; sourceTree = ""; }; + 9A7EC671B3A9BC64575CE36E04984535 /* GCDWebServerErrorResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerErrorResponse.h; path = GCDWebServer/Responses/GCDWebServerErrorResponse.h; sourceTree = ""; }; + 9A83111583975350BFA625D9A3EB0572 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 9B307DD582C1B1C686F962200D2FB63D /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/SystemConfiguration.framework; sourceTree = DEVELOPER_DIR; }; 9B8B5CBA357BDB968C73E8F58DFBC74C /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 9BA2A0099476E08B6CC8026BDF0C603E /* Pods-ShadowsocksX-NGTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ShadowsocksX-NGTests.debug.xcconfig"; sourceTree = ""; }; - 9BA7C38118F80CD261A2C1877652FBAE /* NSSlider+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSSlider+Rx.swift"; path = "RxCocoa/macOS/NSSlider+Rx.swift"; sourceTree = ""; }; - 9C1694FBE9CBF06E4F1C9F38B5DFA930 /* PriorityQueue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PriorityQueue.swift; path = Platform/DataStructures/PriorityQueue.swift; sourceTree = ""; }; - 9C1DEE1416BA8E32A4D01FC91692DDA2 /* ko.lproj */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = folder; path = ko.lproj; sourceTree = ""; }; - 9D934D4D41993FB7CED17EF07D57ED0C /* NSObject+Rx+RawRepresentable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSObject+Rx+RawRepresentable.swift"; path = "RxCocoa/Foundation/NSObject+Rx+RawRepresentable.swift"; sourceTree = ""; }; - 9DA9F52CD97C9FFDD1A42400020B5C86 /* SubscribeOn.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SubscribeOn.swift; path = RxSwift/Observables/Implementations/SubscribeOn.swift; sourceTree = ""; }; - 9DC1F4EFF87C0AA04AFAB87CB07ACFC2 /* SharedSequence+Operators.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "SharedSequence+Operators.swift"; path = "RxCocoa/CocoaUnits/SharedSequence/SharedSequence+Operators.swift"; sourceTree = ""; }; - 9E5961CAA9976325C800898EBC9E0C8A /* Queue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Queue.swift; path = Platform/DataStructures/Queue.swift; sourceTree = ""; }; - 9F0C370A9E746A9710DCDBF48091819B /* ObserverBase.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObserverBase.swift; path = RxSwift/Observers/ObserverBase.swift; sourceTree = ""; }; - 9F4AD3BB60C4064C0FBE13775748D456 /* ShareReplay1.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ShareReplay1.swift; path = RxSwift/Observables/Implementations/ShareReplay1.swift; sourceTree = ""; }; - A030F5167FA6558FE91D25425A0B9CBA /* Alamofire-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Alamofire-dummy.m"; sourceTree = ""; }; - A04BDAC57478865FE5DD3EC203E58F10 /* CombineLatest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CombineLatest.swift; path = RxSwift/Observables/Implementations/CombineLatest.swift; sourceTree = ""; }; - A07A8BDB7BFA69AA9291E71416EC58CF /* GCDWebServerStreamedResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerStreamedResponse.m; path = GCDWebServer/Responses/GCDWebServerStreamedResponse.m; sourceTree = ""; }; - A24870AF7F42FAA0AD9ABB0325F1E135 /* ObserveOn.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObserveOn.swift; path = RxSwift/Observables/Implementations/ObserveOn.swift; sourceTree = ""; }; - A299EE214CF95998A680C2E5EBEEC779 /* RxCocoa-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "RxCocoa-dummy.m"; sourceTree = ""; }; + 9C178B18798BBD55606EF80DA2C1A212 /* _RXObjCRuntime.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _RXObjCRuntime.h; path = RxCocoa/Runtime/include/_RXObjCRuntime.h; sourceTree = ""; }; + 9CF0525D72C48EB23D1F63D5E3ADA325 /* ObservableType+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ObservableType+Extensions.swift"; path = "RxSwift/ObservableType+Extensions.swift"; sourceTree = ""; }; + 9D1D713D4FFF07BD9637DE60583A1926 /* MASShortcut.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = MASShortcut.xcconfig; sourceTree = ""; }; + 9D2FF899CC2BC0E2287C5427B03E9CDF /* Concat.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Concat.swift; path = RxSwift/Observables/Implementations/Concat.swift; sourceTree = ""; }; + 9D340E814C58BE19BCC41E24F8517669 /* BRLOptionParser-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "BRLOptionParser-dummy.m"; sourceTree = ""; }; + 9D5E498ABFAC00469D2A7CA54004C844 /* _RXKVOObserver.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _RXKVOObserver.m; path = RxCocoa/Runtime/_RXKVOObserver.m; sourceTree = ""; }; + 9DB47B26EE37F1328B8F4694EB5F1804 /* AFError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AFError.swift; path = Source/AFError.swift; sourceTree = ""; }; + 9DEE71E8EC741FEDDC4843DC88745956 /* ko.lproj */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = folder; path = ko.lproj; sourceTree = ""; }; + 9FA0AD606FB1DC680587C6680435BAB4 /* MASLocalization.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASLocalization.m; path = Framework/MASLocalization.m; sourceTree = ""; }; + 9FCC5B78277CEFFB7FAFF57F3E1AE10E /* SharedSequence+Operators+arity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "SharedSequence+Operators+arity.swift"; path = "RxCocoa/CocoaUnits/SharedSequence/SharedSequence+Operators+arity.swift"; sourceTree = ""; }; + 9FF05C2DEA8CE1D195F74E268C828FEE /* GCDWebServerMultiPartFormRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerMultiPartFormRequest.h; path = GCDWebServer/Requests/GCDWebServerMultiPartFormRequest.h; sourceTree = ""; }; + A13B83F2C8CA6635B43983B04B08195B /* Timer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Timer.swift; path = RxSwift/Observables/Implementations/Timer.swift; sourceTree = ""; }; + A17C629CDD2B77E8335385ADBE479957 /* GCDWebServerStreamedResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerStreamedResponse.h; path = GCDWebServer/Responses/GCDWebServerStreamedResponse.h; sourceTree = ""; }; + A2763F2948983CA8DF530DA70A8DCE8E /* GCDWebServerHTTPStatusCodes.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerHTTPStatusCodes.h; path = GCDWebServer/Core/GCDWebServerHTTPStatusCodes.h; sourceTree = ""; }; + A279F8FAB8DF84139AA62A3AEE39EB38 /* Alamofire.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Alamofire.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + A3235C7761F201DDD236EE8D42110E15 /* Observable+Aggregate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+Aggregate.swift"; path = "RxSwift/Observables/Observable+Aggregate.swift"; sourceTree = ""; }; + A3671A983CF6BB3A955D63C0EE38A42F /* Using.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Using.swift; path = RxSwift/Observables/Implementations/Using.swift; sourceTree = ""; }; + A3B07D308D4922EC158C8B8B91BED161 /* ObservableConvertibleType+Driver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ObservableConvertibleType+Driver.swift"; path = "RxCocoa/CocoaUnits/Driver/ObservableConvertibleType+Driver.swift"; sourceTree = ""; }; + A3C6B02A75B463EED1D4CD6B4DDA23E9 /* DisposeBase.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DisposeBase.swift; path = RxSwift/Disposables/DisposeBase.swift; sourceTree = ""; }; + A41BB146AABCC8CE57A1BB3344AD663E /* Window.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Window.swift; path = RxSwift/Observables/Implementations/Window.swift; sourceTree = ""; }; + A4F43B223D2F404F20F33C1D2FB14B39 /* SharedSequence+Operators.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "SharedSequence+Operators.swift"; path = "RxCocoa/CocoaUnits/SharedSequence/SharedSequence+Operators.swift"; sourceTree = ""; }; A5055B8EFFFBEDE50909E935D4BCA446 /* Pods-proxy_conf_helper.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-proxy_conf_helper.release.xcconfig"; sourceTree = ""; }; - A57E4C19B3887697A8F7105471594B11 /* AnyObserver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnyObserver.swift; path = RxSwift/AnyObserver.swift; sourceTree = ""; }; - A7104A53E83466AD81DBF532DBA762E1 /* Concat.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Concat.swift; path = RxSwift/Observables/Implementations/Concat.swift; sourceTree = ""; }; - A7B90D6B38782365F4D874C83ED140A8 /* WithLatestFrom.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = WithLatestFrom.swift; path = RxSwift/Observables/Implementations/WithLatestFrom.swift; sourceTree = ""; }; - A88DC5BE37CE2B71CAC10B055D989D0D /* URLSession+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "URLSession+Rx.swift"; path = "RxCocoa/Foundation/URLSession+Rx.swift"; sourceTree = ""; }; - AB35CD1ECD0CD3643AE3F5B53C269AF5 /* GCDWebServer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServer.m; path = GCDWebServer/Core/GCDWebServer.m; sourceTree = ""; }; - AB8D181B14C53055CA4F2D61166A6C7D /* Cancelable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cancelable.swift; path = RxSwift/Cancelable.swift; sourceTree = ""; }; - ACEE1641B4A1142BE9D66F1E19A1A083 /* AsyncSubject.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AsyncSubject.swift; path = RxSwift/Subjects/AsyncSubject.swift; sourceTree = ""; }; + A6177527A7FB1DCDB83570CBECCB10EA /* BRLOptionParser.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BRLOptionParser.h; path = BRLOptionParser/BRLOptionParser.h; sourceTree = ""; }; + A7303C27407BC41C7142BF4A43116A8B /* GroupedObservable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GroupedObservable.swift; path = RxSwift/GroupedObservable.swift; sourceTree = ""; }; + A750C52EA2EE9B5ABEFAAD2666886077 /* Queue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Queue.swift; path = Platform/DataStructures/Queue.swift; sourceTree = ""; }; + A8251D9CF87DF3740CA82F5DA8E1A2CE /* AnonymousDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnonymousDisposable.swift; path = RxSwift/Disposables/AnonymousDisposable.swift; sourceTree = ""; }; + A8A0A3D0716F080419F265C10AADD4A7 /* MASShortcut.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = MASShortcut.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; + A9EE7FFD7664638E522BE120AF2E62CE /* Multicast.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Multicast.swift; path = RxSwift/Observables/Implementations/Multicast.swift; sourceTree = ""; }; + AA4C77465D09EEC5691F5A4A055D6617 /* RecursiveLock.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RecursiveLock.swift; path = Platform/RecursiveLock.swift; sourceTree = ""; }; + AA9AD8F999263CC2A50BB409CA132FCA /* GroupBy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GroupBy.swift; path = RxSwift/Observables/Implementations/GroupBy.swift; sourceTree = ""; }; + AB1F39E8FCA0BC7A39522B99B4A7784E /* DispatchQueue+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "DispatchQueue+Extensions.swift"; path = "Platform/DispatchQueue+Extensions.swift"; sourceTree = ""; }; + AB24C996740BEF1D75AD8261765C204C /* BRLOptionParser.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BRLOptionParser.m; path = BRLOptionParser/BRLOptionParser.m; sourceTree = ""; }; + AB5416312C70D75361A0DB946599AE8F /* Platform.Darwin.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Platform.Darwin.swift; path = Platform/Platform.Darwin.swift; sourceTree = ""; }; + ABEAA09A8F460B8E0F9C841B67FBA878 /* AnonymousObservable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnonymousObservable.swift; path = RxSwift/Observables/Implementations/AnonymousObservable.swift; sourceTree = ""; }; + AE04C5620868F5FBB86509FA74FF6C18 /* PrimitiveSequence+Zip+arity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "PrimitiveSequence+Zip+arity.swift"; path = "RxSwift/Units/PrimitiveSequence+Zip+arity.swift"; sourceTree = ""; }; AE6E689502E4366B125481CD898B947E /* Pods-proxy_conf_helper-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-proxy_conf_helper-acknowledgements.plist"; sourceTree = ""; }; - AE7494AFBC1F396F79B1E5BE66FDDFCD /* Observable+Concurrency.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+Concurrency.swift"; path = "RxSwift/Observables/Observable+Concurrency.swift"; sourceTree = ""; }; - AF6621583BA40AE9A61D2F58B49462B2 /* DispatchQueueConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DispatchQueueConfiguration.swift; path = RxSwift/Schedulers/Internal/DispatchQueueConfiguration.swift; sourceTree = ""; }; - AFA95DC4A3942FDA10B5AF5875F3D960 /* Logging.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Logging.swift; path = RxCocoa/Foundation/Logging.swift; sourceTree = ""; }; - B0FC490145F0D2AD9B833C41F78CA818 /* RxCocoa.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = RxCocoa.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - B10F73EA14E609E0D648284083AE9228 /* es.lproj */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = folder; path = es.lproj; sourceTree = ""; }; - B29423A3BD529F4181880C1CC35631C5 /* Disposables.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Disposables.swift; path = RxSwift/Disposables/Disposables.swift; sourceTree = ""; }; - B2E3D4D905C0E79E9AB56BF024A35180 /* Scan.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Scan.swift; path = RxSwift/Observables/Implementations/Scan.swift; sourceTree = ""; }; - B2FB3E4A7941F31C1970E3CC7568BC25 /* Sink.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Sink.swift; path = RxSwift/Observables/Implementations/Sink.swift; sourceTree = ""; }; - B306B418AC914FC9F036591616123AAF /* de.lproj */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = folder; path = de.lproj; sourceTree = ""; }; + AE96E14244F53E32E37D2501A7C44E4B /* DefaultIfEmpty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DefaultIfEmpty.swift; path = RxSwift/Observables/Implementations/DefaultIfEmpty.swift; sourceTree = ""; }; + AF30DBF2BF9AF847247A7D12F623F4EA /* Alamofire-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Alamofire-prefix.pch"; sourceTree = ""; }; + AF76601EFC29C9D911DD5237DA66FFF6 /* PingManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = PingManager.m; path = PingUtil/PingManager.m; sourceTree = ""; }; + B02D2CCB55C79CC489105A284681E7CA /* RetryWhen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RetryWhen.swift; path = RxSwift/Observables/Implementations/RetryWhen.swift; sourceTree = ""; }; + B04657A13605844C8019BD035A0EBEEA /* XYPingUtil.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = XYPingUtil.xcconfig; sourceTree = ""; }; + B0A06C73B27B8E761462B3D7D5719FBC /* TakeWhile.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TakeWhile.swift; path = RxSwift/Observables/Implementations/TakeWhile.swift; sourceTree = ""; }; + B2C8B938120E0F478D293F232849C4CE /* Error.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Error.swift; path = RxSwift/Observables/Implementations/Error.swift; sourceTree = ""; }; B30805F63C611810B322187824EBC4A5 /* Pods-ShadowsocksX-NGTests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-ShadowsocksX-NGTests-resources.sh"; sourceTree = ""; }; - B42525F3404A9781D07CAE62FD5E4918 /* Timeout.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Timeout.swift; path = RxSwift/Observables/Implementations/Timeout.swift; sourceTree = ""; }; - B4A0B1A36A704F964703C9BC39827964 /* MainScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MainScheduler.swift; path = RxSwift/Schedulers/MainScheduler.swift; sourceTree = ""; }; - B4AAA88BD8CDEC58F63BB1EABFBFE6EC /* ScheduledItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ScheduledItem.swift; path = RxSwift/Schedulers/Internal/ScheduledItem.swift; sourceTree = ""; }; - B4FB77C479CBE2951C13C488C5CBE57E /* CurrentThreadScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CurrentThreadScheduler.swift; path = RxSwift/Schedulers/CurrentThreadScheduler.swift; sourceTree = ""; }; - B548E9BFF5CF1A650F920B46F2078971 /* KVORepresentable+CoreGraphics.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "KVORepresentable+CoreGraphics.swift"; path = "RxCocoa/Foundation/KVORepresentable+CoreGraphics.swift"; sourceTree = ""; }; - B6411B80A4E73D2B05D6D2DC38B39232 /* _RXObjCRuntime.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _RXObjCRuntime.h; path = RxCocoa/Runtime/include/_RXObjCRuntime.h; sourceTree = ""; }; - B792280B7BC7CA44B5D7090C8F732A0D /* RxSwift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = RxSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - B90BBC0A33E35F445599411A4755CA2E /* SkipUntil.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SkipUntil.swift; path = RxSwift/Observables/Implementations/SkipUntil.swift; sourceTree = ""; }; - BA70E613DAD83B8D5F2C1F9DE64ECAC7 /* RxTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTarget.swift; path = RxCocoa/Common/RxTarget.swift; sourceTree = ""; }; - BA733FB551621A6A266D57AAB2CEDC2C /* MultipartFormData.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MultipartFormData.swift; path = Source/MultipartFormData.swift; sourceTree = ""; }; - BB135DF1279B5FD0AB5683BA019DD0CA /* RxSwift-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RxSwift-prefix.pch"; sourceTree = ""; }; - BBCDC9591CE194B7B56FC4194F75DB4E /* DistinctUntilChanged.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DistinctUntilChanged.swift; path = RxSwift/Observables/Implementations/DistinctUntilChanged.swift; sourceTree = ""; }; - BCCCC4E79BB0BC425916AD8DE96CA785 /* Filter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Filter.swift; path = RxSwift/Observables/Implementations/Filter.swift; sourceTree = ""; }; - BD8770BF62499E1DA3EDF0659C91CBE4 /* ObservableConvertibleType+Driver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ObservableConvertibleType+Driver.swift"; path = "RxCocoa/CocoaUnits/Driver/ObservableConvertibleType+Driver.swift"; sourceTree = ""; }; - BDCCB04DF57C106193307E90684240A9 /* Using.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Using.swift; path = RxSwift/Observables/Implementations/Using.swift; sourceTree = ""; }; - BE2FFA6014D5EA973E00B658481C4016 /* TakeUntil.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TakeUntil.swift; path = RxSwift/Observables/Implementations/TakeUntil.swift; sourceTree = ""; }; + B361466558591FD3F593DD4E6752491C /* Merge.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Merge.swift; path = RxSwift/Observables/Implementations/Merge.swift; sourceTree = ""; }; + B48374C2D832D3A98114DE13C0E8C30B /* SynchronizedOnType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SynchronizedOnType.swift; path = RxSwift/Concurrency/SynchronizedOnType.swift; sourceTree = ""; }; + B486C2D8CBBC773FB719D2FB702EDA76 /* MASShortcut-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "MASShortcut-dummy.m"; sourceTree = ""; }; + B62FA5DBBFAAEB9DCCA03AD7F5B86538 /* Platform.Linux.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Platform.Linux.swift; path = Platform/Platform.Linux.swift; sourceTree = ""; }; + B6A5AD9A457A71CE75ED0FED8EADA44C /* GCDWebServerFunctions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerFunctions.m; path = GCDWebServer/Core/GCDWebServerFunctions.m; sourceTree = ""; }; + B7259270F8E34C847D7D5C20753986D4 /* ControlTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ControlTarget.swift; path = RxCocoa/Common/ControlTarget.swift; sourceTree = ""; }; + B8E3BA0D34EA17145B91113248942537 /* RxSwift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = RxSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + B93FE6C9D4DD39AC96E0F2748AC55A16 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/AppKit.framework; sourceTree = DEVELOPER_DIR; }; + B99EEE79B7E0166318A96CAE164E2438 /* ParameterEncoding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ParameterEncoding.swift; path = Source/ParameterEncoding.swift; sourceTree = ""; }; + B9A4FB373BBCA9641D08F276694B338E /* NSTextField+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSTextField+Rx.swift"; path = "RxCocoa/macOS/NSTextField+Rx.swift"; sourceTree = ""; }; + B9F052C6C33E66176E62899848AB02B5 /* RxCocoa-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "RxCocoa-dummy.m"; sourceTree = ""; }; + BC47BC8B2FE9F53B44ABD444462F7220 /* DispatchQueue+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "DispatchQueue+Alamofire.swift"; path = "Source/DispatchQueue+Alamofire.swift"; sourceTree = ""; }; + BC6A08F2A0872D746F505B0E0D6B4457 /* Timeline.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Timeline.swift; path = Source/Timeline.swift; sourceTree = ""; }; + BC8E40C8AA1540219126B37677E9DFA1 /* Driver+Subscription.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Driver+Subscription.swift"; path = "RxCocoa/CocoaUnits/Driver/Driver+Subscription.swift"; sourceTree = ""; }; + BD0A73D025F702B73E8C08876023CA7C /* it.lproj */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = folder; path = it.lproj; sourceTree = ""; }; + BD298B7D1CA72579093AF8CBF20310B8 /* XYPingUtil-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "XYPingUtil-prefix.pch"; sourceTree = ""; }; + BD74326685D6A50E522251206F820C7B /* Alamofire-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Alamofire-umbrella.h"; sourceTree = ""; }; + BD89A8362C3C3BA469B44FED6B1E4864 /* ObservableType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObservableType.swift; path = RxSwift/ObservableType.swift; sourceTree = ""; }; BE672B43951C625CA5F89E448A620AB0 /* Pods-ShadowsocksX-NGTests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = "Pods-ShadowsocksX-NGTests.modulemap"; sourceTree = ""; }; - BED1E9CAFD7494BC65249B31B68985C6 /* Event.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Event.swift; path = RxSwift/Event.swift; sourceTree = ""; }; - BF541EB164C2E45EC80ADBE338F2D325 /* Pods_ShadowsocksX_NG.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_ShadowsocksX_NG.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - BFBCCDD4FB2BFEE4F62E4783156E5C68 /* MASShortcut.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASShortcut.h; path = Framework/MASShortcut.h; sourceTree = ""; }; - BFD17FB0B8D729EB83B1AA769D30726F /* GCDWebServerFunctions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerFunctions.h; path = GCDWebServer/Core/GCDWebServerFunctions.h; sourceTree = ""; }; - C0064AD98E8E57DDFB68577F20E20FAC /* _RX.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _RX.h; path = RxCocoa/Runtime/include/_RX.h; sourceTree = ""; }; - C06C7EB1ACC794EDA28251B83A3D8922 /* zh-Hant.lproj */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = folder; path = "zh-Hant.lproj"; sourceTree = ""; }; - C0969FFD491CA3150D85C991F9D642BA /* Request.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Request.swift; path = Source/Request.swift; sourceTree = ""; }; - C1714F14E43A69F77960977683265141 /* CombineLatest+arity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "CombineLatest+arity.swift"; path = "RxSwift/Observables/Implementations/CombineLatest+arity.swift"; sourceTree = ""; }; - C1A4207D9981121566B1401ED299ECB8 /* SwitchIfEmpty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SwitchIfEmpty.swift; path = RxSwift/Observables/Implementations/SwitchIfEmpty.swift; sourceTree = ""; }; - C22C8CFBFCA98BD54BABA13BDA83B12F /* NSObject+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSObject+Rx.swift"; path = "RxCocoa/Foundation/NSObject+Rx.swift"; sourceTree = ""; }; - C2F0513828D310E221B920200A0AF8B9 /* MASShortcut.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASShortcut.m; path = Framework/MASShortcut.m; sourceTree = ""; }; - C32CA98BF3892E9768040A5EE4DCCCD2 /* nl.lproj */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = folder; path = nl.lproj; sourceTree = ""; }; - C32DA9D913B14198C262DA3670259B16 /* ParameterEncoding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ParameterEncoding.swift; path = Source/ParameterEncoding.swift; sourceTree = ""; }; - C439FB2A46E79FAB7443860DB9209DED /* RxSwift.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = RxSwift.modulemap; sourceTree = ""; }; - C524B1525327F67736740D5488CEAFD6 /* ElementAt.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ElementAt.swift; path = RxSwift/Observables/Implementations/ElementAt.swift; sourceTree = ""; }; - C5A524C4B1015097B4130310EBF6D6B0 /* GCDWebServerResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerResponse.m; path = GCDWebServer/Core/GCDWebServerResponse.m; sourceTree = ""; }; - C5B2560C6A7D9250831A76E33D926588 /* RxCocoa.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = RxCocoa.xcconfig; sourceTree = ""; }; - C6CF6A88B14EECBA592B26FDE26199CA /* MASShortcutValidator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASShortcutValidator.h; path = Framework/MASShortcutValidator.h; sourceTree = ""; }; - C74A3DC1AECDEFEFB44AB3F60FFDDC33 /* GCDWebServerResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerResponse.h; path = GCDWebServer/Core/GCDWebServerResponse.h; sourceTree = ""; }; - C760BAF596F45988BF95E5D3C10BA670 /* libBRLOptionParser.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libBRLOptionParser.a; sourceTree = BUILT_PRODUCTS_DIR; }; - CB9BC8FFFB6D237A0A82BB90707A89FA /* PrimitiveSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PrimitiveSequence.swift; path = RxSwift/Units/PrimitiveSequence.swift; sourceTree = ""; }; - CC318351A8A11C1C21A0A22107B2C46B /* Driver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Driver.swift; path = RxCocoa/CocoaUnits/Driver/Driver.swift; sourceTree = ""; }; - CC674E9D1A6B6D72CE70D5CC2FD43735 /* Debug.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Debug.swift; path = RxSwift/Observables/Implementations/Debug.swift; sourceTree = ""; }; - CD39D59D26656AE80FD3F9C683849740 /* PrimitiveSequence+Zip+arity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "PrimitiveSequence+Zip+arity.swift"; path = "RxSwift/Units/PrimitiveSequence+Zip+arity.swift"; sourceTree = ""; }; - CDC25BCC601EFEC02F400739EAD16FDE /* SchedulerServices+Emulation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "SchedulerServices+Emulation.swift"; path = "RxSwift/Schedulers/SchedulerServices+Emulation.swift"; sourceTree = ""; }; - CDD891211BCACC371F9D43363C3FD01F /* MASDictionaryTransformer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASDictionaryTransformer.h; path = Framework/MASDictionaryTransformer.h; sourceTree = ""; }; - CDFACEE80381FE2B4BC6E4FE88D93A85 /* HistoricalSchedulerTimeConverter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HistoricalSchedulerTimeConverter.swift; path = RxSwift/Schedulers/HistoricalSchedulerTimeConverter.swift; sourceTree = ""; }; + BE68BDEE2A89046748658FE3635316EF /* ResponseSerialization.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ResponseSerialization.swift; path = Source/ResponseSerialization.swift; sourceTree = ""; }; + BF5B78BE05A2C664E0B62AE3A1DEADA5 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + BFC42B9BD33E8EC7BCCBDD020BD54D40 /* _RXObjCRuntime.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _RXObjCRuntime.m; path = RxCocoa/Runtime/_RXObjCRuntime.m; sourceTree = ""; }; + C05BD7AEBB32F04658B39AF219240FD8 /* Alamofire.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = Alamofire.modulemap; sourceTree = ""; }; + C18D7C6E0956FEAEC4D3F5B34AF9FB5F /* NSSlider+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSSlider+Rx.swift"; path = "RxCocoa/macOS/NSSlider+Rx.swift"; sourceTree = ""; }; + C25BEDBD001052110E57A88CA96E0A90 /* SubjectType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SubjectType.swift; path = RxSwift/Subjects/SubjectType.swift; sourceTree = ""; }; + C332139931C84CB443EFCC490DB2FD1C /* GCDWebServerFileRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerFileRequest.m; path = GCDWebServer/Requests/GCDWebServerFileRequest.m; sourceTree = ""; }; + C4074D54AC8FF5825E9482EA326C54D6 /* StartWith.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StartWith.swift; path = RxSwift/Observables/Implementations/StartWith.swift; sourceTree = ""; }; + C44242AA0CA404DE87D41F1AF0B694FA /* NSImageView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSImageView+Rx.swift"; path = "RxCocoa/macOS/NSImageView+Rx.swift"; sourceTree = ""; }; + C56E2865B9D007A6A69EAE79796C6D08 /* SubscribeOn.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SubscribeOn.swift; path = RxSwift/Observables/Implementations/SubscribeOn.swift; sourceTree = ""; }; + C58EF9F1447710214CE549119BB38A6D /* BooleanDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BooleanDisposable.swift; path = RxSwift/Disposables/BooleanDisposable.swift; sourceTree = ""; }; + C63D51308803184BBD23A21BEF2CAC2E /* Zip+Collection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Zip+Collection.swift"; path = "RxSwift/Observables/Implementations/Zip+Collection.swift"; sourceTree = ""; }; + C69558656458B4337B7A7F5991E8F8AC /* Disposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Disposable.swift; path = RxSwift/Disposable.swift; sourceTree = ""; }; + C71BE0180CAD9FF63D6198C7C8BF63E0 /* DispatchQueueConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DispatchQueueConfiguration.swift; path = RxSwift/Schedulers/Internal/DispatchQueueConfiguration.swift; sourceTree = ""; }; + C75508DD8AECC870156A258F90016E46 /* libBRLOptionParser.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libBRLOptionParser.a; sourceTree = BUILT_PRODUCTS_DIR; }; + C846A01E2C13E47993767941C9F38B45 /* MASShortcutView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASShortcutView.h; path = Framework/MASShortcutView.h; sourceTree = ""; }; + C9A6E80EAEA3F19D3F2CCFA9C71542F7 /* Request.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Request.swift; path = Source/Request.swift; sourceTree = ""; }; + CA6A090788261C4370975C10777C7218 /* VirtualTimeConverterType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = VirtualTimeConverterType.swift; path = RxSwift/Schedulers/VirtualTimeConverterType.swift; sourceTree = ""; }; + CB4D69786E5F8A46929EF2093BE3CB0F /* GCDWebServerRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerRequest.h; path = GCDWebServer/Core/GCDWebServerRequest.h; sourceTree = ""; }; + CB52BA9380CA292BDA95779F46DDC439 /* ElementAt.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ElementAt.swift; path = RxSwift/Observables/Implementations/ElementAt.swift; sourceTree = ""; }; + CB8BD7CB2DE097E36340ACCC44E60C1F /* MASShortcutValidator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASShortcutValidator.m; path = Framework/MASShortcutValidator.m; sourceTree = ""; }; + CC19C5B8ECC4D43997825C975DD96B95 /* RxSwift-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RxSwift-umbrella.h"; sourceTree = ""; }; + CDF97765D960C2736AA68A63C5A0ECA9 /* BehaviorSubject.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BehaviorSubject.swift; path = RxSwift/Subjects/BehaviorSubject.swift; sourceTree = ""; }; CE50445A73ECB9A2ED31A6FF93D45808 /* Pods-proxy_conf_helper-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-proxy_conf_helper-dummy.m"; sourceTree = ""; }; - CEDE61F66A8638FA807B3FD84A14A57E /* ControlEvent+Driver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ControlEvent+Driver.swift"; path = "RxCocoa/CocoaUnits/Driver/ControlEvent+Driver.swift"; sourceTree = ""; }; - CF3DCBD1B087248FA6482FA144CDBCD3 /* MASShortcut.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = MASShortcut.modulemap; sourceTree = ""; }; - D0531FFA0D5305257F668D1D12A1411F /* Pods_ShadowsocksX_NGTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_ShadowsocksX_NGTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - D06609DFEDC0A7E3A67145994809FAAB /* Amb.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Amb.swift; path = RxSwift/Observables/Implementations/Amb.swift; sourceTree = ""; }; - D12B3B0AB6BBE5692CC30020ED890E6C /* MASShortcutValidator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASShortcutValidator.m; path = Framework/MASShortcutValidator.m; sourceTree = ""; }; - D14826507A4DA27653782BD16CF7B1A4 /* VirtualTimeScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = VirtualTimeScheduler.swift; path = RxSwift/Schedulers/VirtualTimeScheduler.swift; sourceTree = ""; }; - D1F45AC654673C96B25C288CE2ED7757 /* Variable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Variable.swift; path = RxSwift/Subjects/Variable.swift; sourceTree = ""; }; - D2654F715A28779785D3AD91F2ED2388 /* GroupedObservable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GroupedObservable.swift; path = RxSwift/GroupedObservable.swift; sourceTree = ""; }; - D34A2C6821DD92D46F0901C579DAEF53 /* ConnectableObservableType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConnectableObservableType.swift; path = RxSwift/ConnectableObservableType.swift; sourceTree = ""; }; - D38D66B8CF136FA1B9D3A067600536AE /* MASKeyCodes.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASKeyCodes.h; path = Framework/MASKeyCodes.h; sourceTree = ""; }; - D3A7C466E29109C01509C4619554BB05 /* ObserverType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObserverType.swift; path = RxSwift/ObserverType.swift; sourceTree = ""; }; - D402F8A4734F5C848DA2287CD48E6202 /* RecursiveScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RecursiveScheduler.swift; path = RxSwift/Schedulers/RecursiveScheduler.swift; sourceTree = ""; }; - D4CD8E837A63DA5890EF98BA6E98D9D5 /* RecursiveLock.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RecursiveLock.swift; path = Platform/RecursiveLock.swift; sourceTree = ""; }; - D6CBB4BD325445F86290A6A3E27E8B45 /* Alamofire.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Alamofire.xcconfig; sourceTree = ""; }; + CF2BD51FBAF9857C0CEB9432F3D094DC /* MultipartFormData.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MultipartFormData.swift; path = Source/MultipartFormData.swift; sourceTree = ""; }; + CF670BD3F4B454A037B3F97C7C1C088C /* GCDWebServerDataRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerDataRequest.m; path = GCDWebServer/Requests/GCDWebServerDataRequest.m; sourceTree = ""; }; + CFCF5FCC0743D60A446B126147CBA2C3 /* XYPingUtil.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = XYPingUtil.modulemap; sourceTree = ""; }; + D15E9FE08B43C4F2E3C14298ED008361 /* Delay.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Delay.swift; path = RxSwift/Observables/Implementations/Delay.swift; sourceTree = ""; }; + D16273CFEB79BF8DE67A95AA2E622583 /* RxCocoaRuntime.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RxCocoaRuntime.h; path = RxCocoa/Runtime/include/RxCocoaRuntime.h; sourceTree = ""; }; + D1B8D58CEB2B9F84DDB8984B9EA73A83 /* RxCocoa-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RxCocoa-prefix.pch"; sourceTree = ""; }; + D28C7D4E53ACD6557641B3B5C95D1532 /* fr.lproj */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = folder; path = fr.lproj; sourceTree = ""; }; + D3FA4F043A678102DDC435041EC5C295 /* Observable+Binding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+Binding.swift"; path = "RxSwift/Observables/Observable+Binding.swift"; sourceTree = ""; }; + D513AE23EF59822A50C842BD0DBCC48B /* _RXDelegateProxy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _RXDelegateProxy.h; path = RxCocoa/Runtime/include/_RXDelegateProxy.h; sourceTree = ""; }; + D51C648881341C71C889F4CA77AB28C6 /* NSObject+Rx+KVORepresentable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSObject+Rx+KVORepresentable.swift"; path = "RxCocoa/Foundation/NSObject+Rx+KVORepresentable.swift"; sourceTree = ""; }; + D534A541E3345FA30089E3CA3514436E /* en.lproj */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = folder; path = en.lproj; sourceTree = ""; }; + D561BC20DDD29546AC6FBC4014080660 /* SynchronizedDisposeType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SynchronizedDisposeType.swift; path = RxSwift/Concurrency/SynchronizedDisposeType.swift; sourceTree = ""; }; + D6DE3FA534D5C2867587FD3E8247768D /* RxSwift-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RxSwift-prefix.pch"; sourceTree = ""; }; + D712E5BFAE8B46F65DECFFC049BDCC4C /* LockOwnerType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LockOwnerType.swift; path = RxSwift/Concurrency/LockOwnerType.swift; sourceTree = ""; }; D7E8128F302CF60BEF206008CE11F6D3 /* Pods-ShadowsocksX-NGTests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-ShadowsocksX-NGTests-umbrella.h"; sourceTree = ""; }; - D83C9C9C216CD46EAD7B39EB3A0A703C /* DisposeBag.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DisposeBag.swift; path = RxSwift/Disposables/DisposeBag.swift; sourceTree = ""; }; - D85F519585040CC0D398A38AA0930EC4 /* Just.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Just.swift; path = RxSwift/Observables/Implementations/Just.swift; sourceTree = ""; }; - DA80549D390412FB66E8ADB1475C39D2 /* Observable+StandardSequenceOperators.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+StandardSequenceOperators.swift"; path = "RxSwift/Observables/Observable+StandardSequenceOperators.swift"; sourceTree = ""; }; - DAAD2858D71A42847A49EE0FC347E9FB /* CompositeDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CompositeDisposable.swift; path = RxSwift/Disposables/CompositeDisposable.swift; sourceTree = ""; }; - DAF4B22EF3D343BEF33D2881F14213DF /* SubjectType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SubjectType.swift; path = RxSwift/Subjects/SubjectType.swift; sourceTree = ""; }; - DB6A96F3AD4E1A22FFED4E6F0A4D1ECD /* Zip+Collection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Zip+Collection.swift"; path = "RxSwift/Observables/Implementations/Zip+Collection.swift"; sourceTree = ""; }; - DB83C3266870BCD77C80A5BF5F71BFE0 /* GCDWebServerURLEncodedFormRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerURLEncodedFormRequest.h; path = GCDWebServer/Requests/GCDWebServerURLEncodedFormRequest.h; sourceTree = ""; }; + D88E546DA4DC8A6885E32165B6B7CDC8 /* TakeUntil.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TakeUntil.swift; path = RxSwift/Observables/Implementations/TakeUntil.swift; sourceTree = ""; }; + D95D2CEDDFE60DCB16DBE51DDFCBDC0F /* SkipUntil.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SkipUntil.swift; path = RxSwift/Observables/Implementations/SkipUntil.swift; sourceTree = ""; }; + D9D1DF532DB987144FB7ADD52824BACB /* Platform.Linux.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Platform.Linux.swift; path = Platform/Platform.Linux.swift; sourceTree = ""; }; + D9D5EA0A9E8217AEE79B6F95E23BBC30 /* Debounce.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Debounce.swift; path = RxSwift/Observables/Implementations/Debounce.swift; sourceTree = ""; }; + D9DAEE1A23EEC477CC0A084AE6F55BFA /* es.lproj */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = folder; path = es.lproj; sourceTree = ""; }; + DA8DA42C1D5084460D4C3B2574E89E3C /* ControlProperty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ControlProperty.swift; path = RxCocoa/CocoaUnits/ControlProperty.swift; sourceTree = ""; }; + DA9FB31A9751BB94D56C7F646D8B9ECE /* Deferred.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Deferred.swift; path = RxSwift/Observables/Implementations/Deferred.swift; sourceTree = ""; }; + DB6161524DC5318B621B1F8E7A118FFB /* GCDWebServerPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerPrivate.h; path = GCDWebServer/Core/GCDWebServerPrivate.h; sourceTree = ""; }; + DBC8A4EDCC04F46400A2E68C68BD8B02 /* InvocableScheduledItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = InvocableScheduledItem.swift; path = RxSwift/Schedulers/Internal/InvocableScheduledItem.swift; sourceTree = ""; }; DC250BF8313F337272DBC9DE1FB6DB6B /* Pods-ShadowsocksX-NG.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = "Pods-ShadowsocksX-NG.modulemap"; sourceTree = ""; }; - DC7FD09C09D1BDD8476A89AA647DAF8C /* Deprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Deprecated.swift; path = RxSwift/Deprecated.swift; sourceTree = ""; }; - DE1C155D92F36B81A10B04D3AECC44DE /* MASHotKey.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASHotKey.h; path = Framework/MASHotKey.h; sourceTree = ""; }; - DEA3B8F9A25C60DBAD70F2E3BA7DEC79 /* BooleanDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BooleanDisposable.swift; path = RxSwift/Disposables/BooleanDisposable.swift; sourceTree = ""; }; - DF0D4DE6D3365036C0FA32D93DE77D46 /* GCDWebServerMultiPartFormRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerMultiPartFormRequest.h; path = GCDWebServer/Requests/GCDWebServerMultiPartFormRequest.h; sourceTree = ""; }; - DF2C9231D3FFC3BBC92AD47C894E1F5D /* SectionedViewDataSourceType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SectionedViewDataSourceType.swift; path = RxCocoa/Common/SectionedViewDataSourceType.swift; sourceTree = ""; }; - DF51438B3E3A777BFCF7D021F49B4043 /* KVORepresentable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = KVORepresentable.swift; path = RxCocoa/Foundation/KVORepresentable.swift; sourceTree = ""; }; - DFAE13F86521FDD3838D3DA229D4AC25 /* ImmediateScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImmediateScheduler.swift; path = RxSwift/Schedulers/ImmediateScheduler.swift; sourceTree = ""; }; - E0CF346DBA2C8BDB54C4D65E01BE83B4 /* libPods-proxy_conf_helper.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-proxy_conf_helper.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - E149E56489936102F081551F32C5F5EB /* Reduce.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Reduce.swift; path = RxSwift/Observables/Implementations/Reduce.swift; sourceTree = ""; }; - E15756B54614ACA75251861D700E1946 /* RxSwift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = RxSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - E32C96F7FC2C415654F4C0F1231FA3E4 /* GCDWebServer-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "GCDWebServer-prefix.pch"; sourceTree = ""; }; - E49FDA3188916AD3090FCBD300783D02 /* GCDWebServer.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = GCDWebServer.modulemap; sourceTree = ""; }; - E4B98A26D58EDEECA20933684CC1C45F /* MASShortcutMonitor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASShortcutMonitor.h; path = Framework/MASShortcutMonitor.h; sourceTree = ""; }; - E7CAE213EE8F8ECB17980C4BF269D35A /* AFError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AFError.swift; path = Source/AFError.swift; sourceTree = ""; }; - E7DE4B15A2C7B806D42D1BC1189CFC19 /* Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Alamofire.swift; path = Source/Alamofire.swift; sourceTree = ""; }; - E85ED0518085EBD804CA390B52EDDFE5 /* GCDWebServerErrorResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerErrorResponse.m; path = GCDWebServer/Responses/GCDWebServerErrorResponse.m; sourceTree = ""; }; + DC51C4D74DD2DABECE22BF29BC268561 /* GCDWebServerURLEncodedFormRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerURLEncodedFormRequest.h; path = GCDWebServer/Requests/GCDWebServerURLEncodedFormRequest.h; sourceTree = ""; }; + DC78487F226B02EE37AC83AE75359CB1 /* Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Alamofire.swift; path = Source/Alamofire.swift; sourceTree = ""; }; + DD19E8A585BB6C77F279F17B96D46398 /* Sample.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Sample.swift; path = RxSwift/Observables/Implementations/Sample.swift; sourceTree = ""; }; + DD341B16E7EEEF448A48C2AD4B5F2EED /* Notifications.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Notifications.swift; path = Source/Notifications.swift; sourceTree = ""; }; + DE7619ED4FDEDB6024E82D2D42CF324B /* Observable+Single.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+Single.swift"; path = "RxSwift/Observables/Observable+Single.swift"; sourceTree = ""; }; + DFF58F59D716833382F5787727253A7B /* MASShortcut.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = MASShortcut.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + E27ECA21CA52781ECD8051CA0052BC44 /* Just.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Just.swift; path = RxSwift/Observables/Implementations/Just.swift; sourceTree = ""; }; + E2B70457E577A355C32D6131D01E34D1 /* SynchronizedSubscribeType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SynchronizedSubscribeType.swift; path = RxSwift/Concurrency/SynchronizedSubscribeType.swift; sourceTree = ""; }; + E3554126989E1003549CC8C46B93C051 /* MASShortcut.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = MASShortcut.modulemap; sourceTree = ""; }; + E3D82CA8C47AF99EB856A84326C3E899 /* String+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+Rx.swift"; path = "RxSwift/Extensions/String+Rx.swift"; sourceTree = ""; }; + E5366D434A2068AFEA79004980F44A40 /* Observable+Concurrency.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+Concurrency.swift"; path = "RxSwift/Observables/Observable+Concurrency.swift"; sourceTree = ""; }; + E6D55B5F10C548CABD9A58BC50DA464D /* RxCocoa-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RxCocoa-umbrella.h"; sourceTree = ""; }; + E787FE51E82FA5D73A4C6287DBD0B8A1 /* RxSwift.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = RxSwift.modulemap; sourceTree = ""; }; + E8D99A31D180383D08E83F87DC83E793 /* MASHotKey.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASHotKey.h; path = Framework/MASHotKey.h; sourceTree = ""; }; EA41BEE3B4D9F1A89F0135CA91A7F472 /* Pods-ShadowsocksX-NG-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-ShadowsocksX-NG-resources.sh"; sourceTree = ""; }; - EA9A1A86E1594EEC96C2B7214E16E50F /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/Cocoa.framework; sourceTree = DEVELOPER_DIR; }; - EB76A421976FAB6ECBC3D127F6A77FC9 /* Empty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Empty.swift; path = RxSwift/Observables/Implementations/Empty.swift; sourceTree = ""; }; - EB8FD0BE80EE67981541A1D0567EDF2A /* DispatchQueue+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "DispatchQueue+Extensions.swift"; path = "Platform/DispatchQueue+Extensions.swift"; sourceTree = ""; }; - EC77664C6DB0A9CA9F4AC1E93463971A /* Catch.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Catch.swift; path = RxSwift/Observables/Implementations/Catch.swift; sourceTree = ""; }; - ED29315833FAA1E5A338CFA8005377A9 /* Observable+Single.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+Single.swift"; path = "RxSwift/Observables/Observable+Single.swift"; sourceTree = ""; }; - EEA9F8AE14D36C1EDC66F1C167C4146D /* NSLayoutConstraint+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSLayoutConstraint+Rx.swift"; path = "RxCocoa/Common/NSLayoutConstraint+Rx.swift"; sourceTree = ""; }; - EFC679B790AD9EE3F36E8291BBECFF33 /* NetworkReachabilityManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NetworkReachabilityManager.swift; path = Source/NetworkReachabilityManager.swift; sourceTree = ""; }; - EFD468F10CD22B3EFAB406DAC3FCC7C9 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/Carbon.framework; sourceTree = DEVELOPER_DIR; }; - EFDF2D18587604D407F5C9C506D4018D /* Lock.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Lock.swift; path = RxSwift/Concurrency/Lock.swift; sourceTree = ""; }; - F1AE55DF48B45CC65465B461F51CA3EA /* Window.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Window.swift; path = RxSwift/Observables/Implementations/Window.swift; sourceTree = ""; }; - F2B98DC1F57C36B412E2E662A8170642 /* InfiniteSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = InfiniteSequence.swift; path = Platform/DataStructures/InfiniteSequence.swift; sourceTree = ""; }; - F3BEA0E59DC8EE162D7707F0458BC410 /* Alamofire.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = Alamofire.modulemap; sourceTree = ""; }; + EADF97246B53EAECA07179255DB9A9F4 /* TailRecursiveSink.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TailRecursiveSink.swift; path = RxSwift/Observers/TailRecursiveSink.swift; sourceTree = ""; }; + EAF89D9260ADF5ABA538983E0F25B62A /* CombineLatest+arity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "CombineLatest+arity.swift"; path = "RxSwift/Observables/Implementations/CombineLatest+arity.swift"; sourceTree = ""; }; + EB2BC1FD6BD755AA62FBFE8D34E0BFE4 /* CombineLatest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CombineLatest.swift; path = RxSwift/Observables/Implementations/CombineLatest.swift; sourceTree = ""; }; + EB55032E43B31B902D12E41E465636E6 /* AsyncLock.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AsyncLock.swift; path = RxSwift/Concurrency/AsyncLock.swift; sourceTree = ""; }; + EC81BF35BC7CF1717037FEBF22FCC96A /* AsSingle.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AsSingle.swift; path = RxSwift/Observables/Implementations/AsSingle.swift; sourceTree = ""; }; + ECB9009F158B673C0CBEA6F1DB183A7C /* BinaryDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BinaryDisposable.swift; path = RxSwift/Disposables/BinaryDisposable.swift; sourceTree = ""; }; + ED16BB320405FDB93EB12CA5924D4BC6 /* GCDWebServerStreamedResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerStreamedResponse.m; path = GCDWebServer/Responses/GCDWebServerStreamedResponse.m; sourceTree = ""; }; + EEB29114C165F4D3F6DD09742E3560AC /* InfiniteSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = InfiniteSequence.swift; path = Platform/DataStructures/InfiniteSequence.swift; sourceTree = ""; }; + EF2999AFFB5D1F1B83AB92BB7C35DF7D /* TextInput.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TextInput.swift; path = RxCocoa/Common/TextInput.swift; sourceTree = ""; }; + EF337C81B0A64DDD5C8ECFEEEE55A0B9 /* ObserverBase.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObserverBase.swift; path = RxSwift/Observers/ObserverBase.swift; sourceTree = ""; }; + EF7AE52D06AE7909058FBFB1D5E5342A /* Response.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Response.swift; path = Source/Response.swift; sourceTree = ""; }; + EFDD7F6B0BF3FDA0B54A286C67E25166 /* nl.lproj */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = folder; path = nl.lproj; sourceTree = ""; }; + F04D9081D505B2B570DC33DE20B55D0F /* _RXKVOObserver.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _RXKVOObserver.h; path = RxCocoa/Runtime/include/_RXKVOObserver.h; sourceTree = ""; }; + F0CF53499248C2BA38EB7329DCC0F385 /* Sequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Sequence.swift; path = RxSwift/Observables/Implementations/Sequence.swift; sourceTree = ""; }; + F1F24CFC2917FBD63A5BEE8338464031 /* MASHotKey.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASHotKey.m; path = Framework/MASHotKey.m; sourceTree = ""; }; + F22511ECC3C239934195103A8969B9F0 /* Cancelable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cancelable.swift; path = RxSwift/Cancelable.swift; sourceTree = ""; }; + F39B6017A1E05F853E61EEDF12541495 /* Observable+Creation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+Creation.swift"; path = "RxSwift/Observables/Observable+Creation.swift"; sourceTree = ""; }; + F4BFC0CAE4438D1B80B1E09CBD690E9F /* MASDictionaryTransformer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASDictionaryTransformer.m; path = Framework/MASDictionaryTransformer.m; sourceTree = ""; }; + F55D6CA4F66631B8242592E22F4956AC /* ResourceBundle-MASShortcut-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ResourceBundle-MASShortcut-Info.plist"; sourceTree = ""; }; + F5BF63E3A3756014DA1196BBA2EB7DE8 /* Sink.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Sink.swift; path = RxSwift/Observables/Implementations/Sink.swift; sourceTree = ""; }; F67191B1F87DA238C4D87250DFBE43DD /* Pods-ShadowsocksX-NGTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ShadowsocksX-NGTests.release.xcconfig"; sourceTree = ""; }; - F684374BB1F33C4CA323178463EB2028 /* RxCocoa.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxCocoa.swift; path = RxCocoa/RxCocoa.swift; sourceTree = ""; }; - F6A1E5B8450A97482BAF559588B3DD71 /* ConnectableObservable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConnectableObservable.swift; path = RxSwift/Observables/Implementations/ConnectableObservable.swift; sourceTree = ""; }; - F72515DA7F790ADA9DF78910C67193DB /* ObservableConvertibleType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObservableConvertibleType.swift; path = RxSwift/ObservableConvertibleType.swift; sourceTree = ""; }; - F7519EEDC18867A7D4354752DF4FFB06 /* NSImageView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSImageView+Rx.swift"; path = "RxCocoa/macOS/NSImageView+Rx.swift"; sourceTree = ""; }; - F786CE1FD64B7570C24F231E23D7566A /* SerialDispatchQueueScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SerialDispatchQueueScheduler.swift; path = RxSwift/Schedulers/SerialDispatchQueueScheduler.swift; sourceTree = ""; }; - F88F573DA82E488BDAE8BC55E93B96B1 /* Bag.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Bag.swift; path = Platform/DataStructures/Bag.swift; sourceTree = ""; }; - F8EA91701D31DC73ED6AA21F7AD637B2 /* RxCocoaRuntime.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RxCocoaRuntime.h; path = RxCocoa/Runtime/include/RxCocoaRuntime.h; sourceTree = ""; }; - F91767E7613F8479E6F65DDF39CDB558 /* ControlProperty+Driver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ControlProperty+Driver.swift"; path = "RxCocoa/CocoaUnits/Driver/ControlProperty+Driver.swift"; sourceTree = ""; }; - F9A79C0537300E8EC3B4938AE3FCCE88 /* MASShortcutView+Bindings.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "MASShortcutView+Bindings.m"; path = "Framework/MASShortcutView+Bindings.m"; sourceTree = ""; }; - F9ABBB68077D7AD074DFC9923895B5D6 /* Switch.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Switch.swift; path = RxSwift/Observables/Implementations/Switch.swift; sourceTree = ""; }; - FAFB76E73828C3673CEC60577DD3D7F0 /* GCDWebServerConnection.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerConnection.h; path = GCDWebServer/Core/GCDWebServerConnection.h; sourceTree = ""; }; - FBAF339F33C80576683D76394CA51047 /* Alamofire.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Alamofire.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - FCBF6FFFBBE49493E089992E786E1A20 /* ScheduledDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ScheduledDisposable.swift; path = RxSwift/Disposables/ScheduledDisposable.swift; sourceTree = ""; }; - FD0EA79B1967F9A248BD807632BC9C79 /* GCDWebServerDataResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerDataResponse.h; path = GCDWebServer/Responses/GCDWebServerDataResponse.h; sourceTree = ""; }; + F90BF79C3C962AD5CA3624420AAA3AC4 /* TakeLast.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TakeLast.swift; path = RxSwift/Observables/Implementations/TakeLast.swift; sourceTree = ""; }; + FA7E0ECF594372C7B7C3636C13056BEB /* Queue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Queue.swift; path = Platform/DataStructures/Queue.swift; sourceTree = ""; }; + FC5F404CA6E1C917948CD313BA0A2F51 /* Lock.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Lock.swift; path = RxSwift/Concurrency/Lock.swift; sourceTree = ""; }; + FC7D7E3CFDC72C9559407AD6CD855188 /* RefCountDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RefCountDisposable.swift; path = RxSwift/Disposables/RefCountDisposable.swift; sourceTree = ""; }; + FC928D4069D072E9A0416FDD4D19BAEB /* SingleAsync.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SingleAsync.swift; path = RxSwift/Observables/Implementations/SingleAsync.swift; sourceTree = ""; }; + FFBB47AF39FAB6F15F6EAB4468429D5F /* MASShortcutView+Bindings.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "MASShortcutView+Bindings.m"; path = "Framework/MASShortcutView+Bindings.m"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -772,19 +803,28 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 4F131864F47901DC9547FC3861CAA756 /* Frameworks */ = { + 1AA8949546F4F2E014E707C7858D1F71 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 6CE3F1A01E6DE8F58A874B780C66A6FA /* Cocoa.framework in Frameworks */, + 52D60744960E75138AE4BE9D7FC5D1A8 /* Cocoa.framework in Frameworks */, + 07CCAE5B2170442C716E78A1699F2E71 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 656F921478BE483858A20165B6945F4A /* Frameworks */ = { + 5B295BD96B60FD6619422C9528D2BFED /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 626A7B01D3D6B6EA0869551ACE82FB8B /* Cocoa.framework in Frameworks */, + 7609A481F5A3F1175E15BEE4422FD4F8 /* Cocoa.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 6443CD8A013D609DDEF5F3EDC5E0440D /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 8068D036F7D7316EF625AFE29ECEB05F /* Cocoa.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -797,15 +837,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - AC6EF4DCF3427EDD23A06A9ACE60D1CB /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 8FEBDE87BFA67E4AD0EC88774A1097F2 /* Cocoa.framework in Frameworks */, - 75780983A83E65A597525566173E3C7C /* RxSwift.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; B14D21A682C80219D90189FAC9A7DDDF /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -848,83 +879,30 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + E44B28DEC1A5E8BBF4B99B3F2CEF0C18 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + B22EDEA5514A4279437115EDC5E7C002 /* Cocoa.framework in Frameworks */, + 77F1A6AC76F9667E21075A3512C33662 /* RxSwift.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 02CDF8BDA510DD82276AE66867F81915 /* Support Files */ = { + 0119DBD285CABCCABD8558B94DCF6C3F /* Support Files */ = { isa = PBXGroup; children = ( - 797084A009F9EF151DBBF73DD026ADC6 /* BRLOptionParser.xcconfig */, - 62543C716FC9EBEA1CAC093AD57E93FD /* BRLOptionParser-dummy.m */, - 5FA15EB50AC1F6D3A499615FF5B6A824 /* BRLOptionParser-prefix.pch */, + C05BD7AEBB32F04658B39AF219240FD8 /* Alamofire.modulemap */, + 08EAA8D46ACD7B8C5ECE8CCE68A774E5 /* Alamofire.xcconfig */, + 4E70B73466255186AB739B758E86AA9E /* Alamofire-dummy.m */, + AF30DBF2BF9AF847247A7D12F623F4EA /* Alamofire-prefix.pch */, + BD74326685D6A50E522251206F820C7B /* Alamofire-umbrella.h */, + 477A594FD905D4B610D13F9E882050BB /* Info.plist */, ); name = "Support Files"; - path = "../Target Support Files/BRLOptionParser"; - sourceTree = ""; - }; - 05DB2D724616BA9442057EBD83308168 /* RxCocoa */ = { - isa = PBXGroup; - children = ( - C0064AD98E8E57DDFB68577F20E20FAC /* _RX.h */, - 42677271ADFD7C38E4A2D9A129A60105 /* _RX.m */, - 1407079A40EB921E4490FEA9DDB23222 /* _RXDelegateProxy.h */, - 0EED0973795941F05F42B25E0C0F6D99 /* _RXDelegateProxy.m */, - 6CBFE7DED568FC1C077023212FEEA6C4 /* _RXKVOObserver.h */, - 7E8FD5D8A77584D71B37963D270CBAE2 /* _RXKVOObserver.m */, - B6411B80A4E73D2B05D6D2DC38B39232 /* _RXObjCRuntime.h */, - 37276F2D8D3AED22ABF63827FF4C2E1D /* _RXObjCRuntime.m */, - 2EBB434DC5BFF77FC3F8C0215BDFC40F /* Bag.swift */, - 59AAA65A3B3DF93288B9973C7991DA37 /* ControlEvent.swift */, - CEDE61F66A8638FA807B3FD84A14A57E /* ControlEvent+Driver.swift */, - 99EFFE07C47D5D98611714C066D640BC /* ControlProperty.swift */, - F91767E7613F8479E6F65DDF39CDB558 /* ControlProperty+Driver.swift */, - 3C59EAD8143A508A0231627DD42D5C23 /* ControlTarget.swift */, - 8B0382153B0EC132C2BECD3DCB1193B6 /* DelegateProxy.swift */, - 2DED940C0868591ED86659234813AF5B /* DelegateProxyType.swift */, - EB8FD0BE80EE67981541A1D0567EDF2A /* DispatchQueue+Extensions.swift */, - CC318351A8A11C1C21A0A22107B2C46B /* Driver.swift */, - 3690656BBFBCA6B31887844429A9D961 /* Driver+Subscription.swift */, - F2B98DC1F57C36B412E2E662A8170642 /* InfiniteSequence.swift */, - DF51438B3E3A777BFCF7D021F49B4043 /* KVORepresentable.swift */, - B548E9BFF5CF1A650F920B46F2078971 /* KVORepresentable+CoreGraphics.swift */, - 828EB8509B88B335C1D7D0C2B3D7D895 /* KVORepresentable+Swift.swift */, - AFA95DC4A3942FDA10B5AF5875F3D960 /* Logging.swift */, - 717C5EDEA19D4107A1C3112D049EBB9C /* NotificationCenter+Rx.swift */, - 2C4F41A96AB13FAA06EB576B1286FD61 /* NSButton+Rx.swift */, - 0BE0BBDCBD8F691F0357C2BFD2A61DF7 /* NSControl+Rx.swift */, - F7519EEDC18867A7D4354752DF4FFB06 /* NSImageView+Rx.swift */, - EEA9F8AE14D36C1EDC66F1C167C4146D /* NSLayoutConstraint+Rx.swift */, - C22C8CFBFCA98BD54BABA13BDA83B12F /* NSObject+Rx.swift */, - 57D2E434BDBDBAFB4EAB539971677BB3 /* NSObject+Rx+KVORepresentable.swift */, - 9D934D4D41993FB7CED17EF07D57ED0C /* NSObject+Rx+RawRepresentable.swift */, - 9BA7C38118F80CD261A2C1877652FBAE /* NSSlider+Rx.swift */, - 088BD130A0FBEAEA4D9FDAE864B58DC7 /* NSTextField+Rx.swift */, - 96A99E648BA7AA9728B58FA257DAAB8E /* NSView+Rx.swift */, - 0D3C195DE57AB12AEADA0C216773CC29 /* Observable+Bind.swift */, - BD8770BF62499E1DA3EDF0659C91CBE4 /* ObservableConvertibleType+Driver.swift */, - 6CE6F293A7A5280E8364DA3F1C0B4B1B /* ObservableConvertibleType+SharedSequence.swift */, - 94F74323508484A216D1C8AECF3B836C /* Platform.Darwin.swift */, - 58CB8D564AB01DBEED55DBEB75380239 /* Platform.Linux.swift */, - 1344965A836EE2DFFA93D27044532B30 /* PriorityQueue.swift */, - 9E5961CAA9976325C800898EBC9E0C8A /* Queue.swift */, - 911BAB036265D98689D411112E34B452 /* RecursiveLock.swift */, - 8865ABAF07DEA295CE14F00DEB443C41 /* RxCocoa.h */, - F684374BB1F33C4CA323178463EB2028 /* RxCocoa.swift */, - 9761A45C8B106617BE144782B56D8C8C /* RxCocoaObjCRuntimeError+Extensions.swift */, - F8EA91701D31DC73ED6AA21F7AD637B2 /* RxCocoaRuntime.h */, - BA70E613DAD83B8D5F2C1F9DE64ECAC7 /* RxTarget.swift */, - DF2C9231D3FFC3BBC92AD47C894E1F5D /* SectionedViewDataSourceType.swift */, - 89BD8062B3919962E8EFBC3E6DBA8537 /* SharedSequence.swift */, - 9DC1F4EFF87C0AA04AFAB87CB07ACFC2 /* SharedSequence+Operators.swift */, - 1B81A53E7BA7B919692592FBAEB2C093 /* SharedSequence+Operators+arity.swift */, - 5D803CC81BFCD9AE0F09CC693CCD4993 /* TextInput.swift */, - 51D83FA8652F1FBA030AB17ED7FE6A3C /* UIBindingObserver.swift */, - A88DC5BE37CE2B71CAC10B055D989D0D /* URLSession+Rx.swift */, - 5EFC56330DB909884DFCFFEE79C788F2 /* Variable+Driver.swift */, - 2E934534DD61AA5D52BB8BD519A53726 /* Variable+SharedSequence.swift */, - A6D905C92591DD3CC9A5586DC4788A47 /* Support Files */, - ); - path = RxCocoa; + path = "../Target Support Files/Alamofire"; sourceTree = ""; }; 07568FCBBF071BD2EE0E5EBA001A4712 /* Pods-ShadowsocksX-NGTests */ = { @@ -945,66 +923,304 @@ path = "Target Support Files/Pods-ShadowsocksX-NGTests"; sourceTree = ""; }; - 2D7BA557F4C0940A77FFB9270557294B /* Support Files */ = { + 0D35EA0EF2F21C913E857292255B3BB4 /* Pods */ = { isa = PBXGroup; children = ( - 96B9E4E997A45EC8F7F95390DF683EA4 /* Info.plist */, - CF3DCBD1B087248FA6482FA144CDBCD3 /* MASShortcut.modulemap */, - 6F8C5EB810D1464D5BE86A414DC08616 /* MASShortcut.xcconfig */, - 999B20A513A4091BA573B86714915DD0 /* MASShortcut-dummy.m */, - 045B604CBC573827216DD575F3C9A9BE /* MASShortcut-prefix.pch */, - 8F1D6D87906CF7A06C84F16A89701364 /* MASShortcut-umbrella.h */, - 8E68586EDAB1716AE8A9303B3149E642 /* ResourceBundle-MASShortcut-Info.plist */, - ); - name = "Support Files"; - path = "../Target Support Files/MASShortcut"; - sourceTree = ""; - }; - 359D3CBF032E922C6E0EBD419E5611A5 /* Pods */ = { - isa = PBXGroup; - children = ( - 9712645556A969816EEB46A364368C74 /* Alamofire */, - BD838F4740449375D7768E6248698B27 /* BRLOptionParser */, - E5268B6C8C971560742CEF27BB088DED /* GCDWebServer */, - AD089A2216580815F93912EDB4FEDE85 /* MASShortcut */, - 05DB2D724616BA9442057EBD83308168 /* RxCocoa */, - 9DF9AD84022C72252E16F01DF14949E2 /* RxSwift */, + B6C4C04AEA3A9D7971244C21D341301D /* Alamofire */, + 398E3F79F98A60974CA02D177F524A02 /* BRLOptionParser */, + 6294CC3E66A7EC3CA5AA064B38DEA03C /* GCDWebServer */, + D2DA355411E3D880C6224600E0F82B6C /* MASShortcut */, + 490F2337687DDF66D3461E4C3E2ACFE2 /* RxCocoa */, + 726E011B268B617FC9FEDC42B0033669 /* RxSwift */, + 6444771AB91B1A6C633B995349769CB4 /* XYPingUtil */, ); name = Pods; sourceTree = ""; }; - 4047D8E4A66663BBA78A370A91AE7F79 /* Resources */ = { + 333A8631A1E635EE7A4EFCABBC7D92D2 /* Support Files */ = { isa = PBXGroup; children = ( - 5048979CBD31FB3468F7CBE0F6623336 /* cs.lproj */, - B306B418AC914FC9F036591616123AAF /* de.lproj */, - 967C15B6D2FAA4BA22B657F647B6B412 /* en.lproj */, - B10F73EA14E609E0D648284083AE9228 /* es.lproj */, - 8EDBB56EE738F917614C08B706C06291 /* fr.lproj */, - 2C391D236625ECDDDADDF2E2CF327C90 /* it.lproj */, - 76BDABDC97B3B4B0598FB6DF3966C3EA /* ja.lproj */, - 9C1DEE1416BA8E32A4D01FC91692DDA2 /* ko.lproj */, - C32CA98BF3892E9768040A5EE4DCCCD2 /* nl.lproj */, - 5151ABAABBD1A1CE800C52AB2A585634 /* pl.lproj */, - 15FDCB75F28FF0766B21B59543A5AFED /* ru.lproj */, - 0444897C0A30423DE512BC301413EBC3 /* zh-Hans.lproj */, - C06C7EB1ACC794EDA28251B83A3D8922 /* zh-Hant.lproj */, - ); - name = Resources; - sourceTree = ""; - }; - 6D327928671CE89EC015B75776F6298A /* Support Files */ = { - isa = PBXGroup; - children = ( - E49FDA3188916AD3090FCBD300783D02 /* GCDWebServer.modulemap */, - 1255CE4EF584F1227FCFE877388965BE /* GCDWebServer.xcconfig */, - 405572D03A3BCC4C3EEC1F1CECFFD7EC /* GCDWebServer-dummy.m */, - E32C96F7FC2C415654F4C0F1231FA3E4 /* GCDWebServer-prefix.pch */, - 6E1351027B3142F486A98424D9F42779 /* GCDWebServer-umbrella.h */, - 1096074B199A62C38833809533B6325A /* Info.plist */, + 71FAFD5785147C842808E222D27B2D4E /* BRLOptionParser.xcconfig */, + 9D340E814C58BE19BCC41E24F8517669 /* BRLOptionParser-dummy.m */, + 93D9918CAA4608C516463CE78EB152E1 /* BRLOptionParser-prefix.pch */, ); name = "Support Files"; - path = "../Target Support Files/GCDWebServer"; + path = "../Target Support Files/BRLOptionParser"; + sourceTree = ""; + }; + 398E3F79F98A60974CA02D177F524A02 /* BRLOptionParser */ = { + isa = PBXGroup; + children = ( + A6177527A7FB1DCDB83570CBECCB10EA /* BRLOptionParser.h */, + AB24C996740BEF1D75AD8261765C204C /* BRLOptionParser.m */, + 333A8631A1E635EE7A4EFCABBC7D92D2 /* Support Files */, + ); + path = BRLOptionParser; + sourceTree = ""; + }; + 490F2337687DDF66D3461E4C3E2ACFE2 /* RxCocoa */ = { + isa = PBXGroup; + children = ( + 5C0A005DAAE9E72BC44AFA2AC39570E3 /* _RX.h */, + 714BB33CF2C0A1869EE104FBC3FC7B43 /* _RX.m */, + D513AE23EF59822A50C842BD0DBCC48B /* _RXDelegateProxy.h */, + 23E5A8C87DFB5B058A07E2F30AD0FC34 /* _RXDelegateProxy.m */, + F04D9081D505B2B570DC33DE20B55D0F /* _RXKVOObserver.h */, + 9D5E498ABFAC00469D2A7CA54004C844 /* _RXKVOObserver.m */, + 9C178B18798BBD55606EF80DA2C1A212 /* _RXObjCRuntime.h */, + BFC42B9BD33E8EC7BCCBDD020BD54D40 /* _RXObjCRuntime.m */, + 105C5CC086BEB4A7DA3B53DC6475F1E0 /* Bag.swift */, + 97B583E0D0453F55A079C6689587E982 /* ControlEvent.swift */, + 3B01C689FD3DA95E7F9C9CE150395340 /* ControlEvent+Driver.swift */, + DA8DA42C1D5084460D4C3B2574E89E3C /* ControlProperty.swift */, + 4400F922FD830B1F115DC11FDEDCFE6B /* ControlProperty+Driver.swift */, + B7259270F8E34C847D7D5C20753986D4 /* ControlTarget.swift */, + 69158B24E577C42B2B47AF7F1DAA88B5 /* DelegateProxy.swift */, + 837E8E741DAEAEB0326BF12C8509386C /* DelegateProxyType.swift */, + AB1F39E8FCA0BC7A39522B99B4A7784E /* DispatchQueue+Extensions.swift */, + 22417B0BBC393F8B418FD1980F87677B /* Driver.swift */, + BC8E40C8AA1540219126B37677E9DFA1 /* Driver+Subscription.swift */, + EEB29114C165F4D3F6DD09742E3560AC /* InfiniteSequence.swift */, + 7A055428BBC845FE3F6F82FE5039BD7D /* KVORepresentable.swift */, + 739C766D62048607EB6A576C3A68FB7E /* KVORepresentable+CoreGraphics.swift */, + 6FFD5A22A90E101CA6FA12CF1E94D1A7 /* KVORepresentable+Swift.swift */, + 2A7566D04F342A7DD5AF118AD3859D77 /* Logging.swift */, + 5942EC9B2B959537ECEFB73154F32915 /* NotificationCenter+Rx.swift */, + 1080DFC47570C1C01A3AD84409B8C952 /* NSButton+Rx.swift */, + 42F07685AEED1A5E7C5A5E77B6A9A4A9 /* NSControl+Rx.swift */, + C44242AA0CA404DE87D41F1AF0B694FA /* NSImageView+Rx.swift */, + 3BC7E4E8C739AB1B6167C07AA04EEDFE /* NSLayoutConstraint+Rx.swift */, + 2C4F87A77C2D070B728208C241875718 /* NSObject+Rx.swift */, + D51C648881341C71C889F4CA77AB28C6 /* NSObject+Rx+KVORepresentable.swift */, + 1F1CD32D28255586A9D5889E5F401198 /* NSObject+Rx+RawRepresentable.swift */, + C18D7C6E0956FEAEC4D3F5B34AF9FB5F /* NSSlider+Rx.swift */, + B9A4FB373BBCA9641D08F276694B338E /* NSTextField+Rx.swift */, + 6574C38EFF8485B784CB3001709E2854 /* NSView+Rx.swift */, + 4246404957CA85BBF1FF5AB2B05B9987 /* Observable+Bind.swift */, + A3B07D308D4922EC158C8B8B91BED161 /* ObservableConvertibleType+Driver.swift */, + 20756754FEABF062656B7A90628FB243 /* ObservableConvertibleType+SharedSequence.swift */, + 9A6740BC86965C485F8B76DA8E1F3B13 /* Platform.Darwin.swift */, + B62FA5DBBFAAEB9DCCA03AD7F5B86538 /* Platform.Linux.swift */, + 14CF736F2CED1BC21A76B2CAF94C76E6 /* PriorityQueue.swift */, + FA7E0ECF594372C7B7C3636C13056BEB /* Queue.swift */, + AA4C77465D09EEC5691F5A4A055D6617 /* RecursiveLock.swift */, + 926176BBD3D30672D7928FC950B3EFFF /* RxCocoa.h */, + 360DA50C9A08694D5E723C8D33F6B531 /* RxCocoa.swift */, + 763468E668DEB1E078B7BB50D21375D3 /* RxCocoaObjCRuntimeError+Extensions.swift */, + D16273CFEB79BF8DE67A95AA2E622583 /* RxCocoaRuntime.h */, + 377A7BD15ACA2551B8FF20D84523C92E /* RxTarget.swift */, + 1D25426388E3A75086898CD2D008D429 /* SectionedViewDataSourceType.swift */, + 638DF4C579B1918C76A79C46A8FC857E /* SharedSequence.swift */, + A4F43B223D2F404F20F33C1D2FB14B39 /* SharedSequence+Operators.swift */, + 9FCC5B78277CEFFB7FAFF57F3E1AE10E /* SharedSequence+Operators+arity.swift */, + EF2999AFFB5D1F1B83AB92BB7C35DF7D /* TextInput.swift */, + 36019BD0EE41D3607C2C27C0ADB04D74 /* UIBindingObserver.swift */, + 11686D3BE71B25FD4D77B2DF9EF87C2B /* URLSession+Rx.swift */, + 68E6DAA9FF19D551E5E3DF14725FD9BA /* Variable+Driver.swift */, + 42A79E3A3EFF4AABEC6BB96F1AE1F024 /* Variable+SharedSequence.swift */, + AB5686C6AE2D7F5BB3726DF2CCA622DE /* Support Files */, + ); + path = RxCocoa; + sourceTree = ""; + }; + 6294CC3E66A7EC3CA5AA064B38DEA03C /* GCDWebServer */ = { + isa = PBXGroup; + children = ( + C2BDA0EA9B9FE93B790B6AFF69DC5185 /* Core */, + 8B6DDAC795AEA9D244DC561F9063BB06 /* Support Files */, + ); + path = GCDWebServer; + sourceTree = ""; + }; + 6444771AB91B1A6C633B995349769CB4 /* XYPingUtil */ = { + isa = PBXGroup; + children = ( + 1EA305566CE160175F2810DDA334B448 /* PingManager.h */, + AF76601EFC29C9D911DD5237DA66FFF6 /* PingManager.m */, + 8872F699901E18AE0FB6D36963747A18 /* PingUtil.h */, + 1F0E40AE71E0D55FB849DE9FF6F9DA11 /* PingUtil.m */, + 503ED062E5FE7FF6DB0A1F861FF575AB /* SimplePing.h */, + 5BDA02270CF1BA8DE880826400D4B59F /* SimplePing.m */, + EC27E50C0FB81A89413B90CE14E42E76 /* Support Files */, + ); + path = XYPingUtil; + sourceTree = ""; + }; + 6FF527E91C6B44B96675EF6EF3D3237D /* Support Files */ = { + isa = PBXGroup; + children = ( + BF5B78BE05A2C664E0B62AE3A1DEADA5 /* Info.plist */, + E787FE51E82FA5D73A4C6287DBD0B8A1 /* RxSwift.modulemap */, + 151DE95436AED4F35D7B68717140FA1B /* RxSwift.xcconfig */, + 3EF9A2072EA869E89AE127F63D78C077 /* RxSwift-dummy.m */, + D6DE3FA534D5C2867587FD3E8247768D /* RxSwift-prefix.pch */, + CC19C5B8ECC4D43997825C975DD96B95 /* RxSwift-umbrella.h */, + ); + name = "Support Files"; + path = "../Target Support Files/RxSwift"; + sourceTree = ""; + }; + 726E011B268B617FC9FEDC42B0033669 /* RxSwift */ = { + isa = PBXGroup; + children = ( + 596FDF0DEDCF85B03726FDE23D6A6D3D /* AddRef.swift */, + 410BA16F83DF36ED64759FCA083473DC /* Amb.swift */, + A8251D9CF87DF3740CA82F5DA8E1A2CE /* AnonymousDisposable.swift */, + 6CBE7E6944508A0EF00550266DE8CEBA /* AnonymousInvocable.swift */, + ABEAA09A8F460B8E0F9C841B67FBA878 /* AnonymousObservable.swift */, + 748E705AEF29F7189CB715E55F267483 /* AnonymousObserver.swift */, + 3E22BF4F555FDF5E0BF0318947891E5C /* AnyObserver.swift */, + 96CAD7B3794996568E4DA83C44A90DF8 /* AsMaybe.swift */, + EC81BF35BC7CF1717037FEBF22FCC96A /* AsSingle.swift */, + EB55032E43B31B902D12E41E465636E6 /* AsyncLock.swift */, + 496D48DC6591837199B96F5194A8C1FF /* AsyncSubject.swift */, + 72F525D23BB02F278F13FE1D8039E96B /* Bag.swift */, + 2DD2C3A792FD6FFF67E69D4851129A52 /* Bag+Rx.swift */, + CDF97765D960C2736AA68A63C5A0ECA9 /* BehaviorSubject.swift */, + ECB9009F158B673C0CBEA6F1DB183A7C /* BinaryDisposable.swift */, + C58EF9F1447710214CE549119BB38A6D /* BooleanDisposable.swift */, + 8A70CFF2D266D78536477593314BB842 /* Buffer.swift */, + F22511ECC3C239934195103A8969B9F0 /* Cancelable.swift */, + 8333526D56752C918A2A26AFDA9723C1 /* Catch.swift */, + EB2BC1FD6BD755AA62FBFE8D34E0BFE4 /* CombineLatest.swift */, + EAF89D9260ADF5ABA538983E0F25B62A /* CombineLatest+arity.swift */, + 09501B20A99EA64EF086677B5E09B83D /* CombineLatest+Collection.swift */, + 6380406A92A445B5DB6FD788446065D3 /* CompositeDisposable.swift */, + 9D2FF899CC2BC0E2287C5427B03E9CDF /* Concat.swift */, + 4BE1B26021A336516A8A062DB13243CB /* ConcurrentDispatchQueueScheduler.swift */, + 54C6C19CAAD376AEA176DB9808BB2982 /* ConcurrentMainScheduler.swift */, + 034479979C5FA71A17E66C64A8E5ED76 /* ConnectableObservable.swift */, + 0FDD8C2877DC3FBFD524D52FD741FEC9 /* ConnectableObservableType.swift */, + 18BDBCB4C5EBD3EC43DD98B59015822C /* CurrentThreadScheduler.swift */, + D9D5EA0A9E8217AEE79B6F95E23BBC30 /* Debounce.swift */, + 316B1DE86825E2C3880D9C45EB2307C0 /* Debug.swift */, + AE96E14244F53E32E37D2501A7C44E4B /* DefaultIfEmpty.swift */, + DA9FB31A9751BB94D56C7F646D8B9ECE /* Deferred.swift */, + D15E9FE08B43C4F2E3C14298ED008361 /* Delay.swift */, + 7736B6B772B3A781434235A79FD7FE03 /* DelaySubscription.swift */, + 23E10AA19F2FF8E83A2FD4CAC09AD7F9 /* Deprecated.swift */, + 39AFDBEEC86FF2A1DBA04DE6AC2CCB8A /* DispatchQueue+Extensions.swift */, + C71BE0180CAD9FF63D6198C7C8BF63E0 /* DispatchQueueConfiguration.swift */, + C69558656458B4337B7A7F5991E8F8AC /* Disposable.swift */, + 805A3A55207538C1E212E5F7C9E99E31 /* Disposables.swift */, + 170DCD05D6AB7844F8D431D40453305C /* DisposeBag.swift */, + A3C6B02A75B463EED1D4CD6B4DDA23E9 /* DisposeBase.swift */, + 3F409396EA99B1F6E332F817F2DDA9A7 /* DistinctUntilChanged.swift */, + 79DB5F1751C4AB2410135041CDCD8F68 /* Do.swift */, + CB52BA9380CA292BDA95779F46DDC439 /* ElementAt.swift */, + 1E5F1228B3A3D194254A5CE088F5EE35 /* Empty.swift */, + B2C8B938120E0F478D293F232849C4CE /* Error.swift */, + 5087073736A4C953879F5B993727F81B /* Errors.swift */, + 84B3E5EAEDA6817ABA811BD0879AE625 /* Event.swift */, + 27F7A725E1DC59BCF652E079C08ACFD5 /* Filter.swift */, + 0DD79E107254DE7D3B08902FF821614B /* Generate.swift */, + AA9AD8F999263CC2A50BB409CA132FCA /* GroupBy.swift */, + A7303C27407BC41C7142BF4A43116A8B /* GroupedObservable.swift */, + 64C9AFA630CDDC69A34A3A3EC227D4D0 /* HistoricalScheduler.swift */, + 26B40F2A33CA44543255D2EBBEBDCA7D /* HistoricalSchedulerTimeConverter.swift */, + 7D7B9A798AE4EEE3CFFEF83DDA901B20 /* ImmediateScheduler.swift */, + 7C28F293470866DDE15AC5B07820EE6C /* ImmediateSchedulerType.swift */, + 0DCD43005EB1830DB699BC936D350202 /* InfiniteSequence.swift */, + DBC8A4EDCC04F46400A2E68C68BD8B02 /* InvocableScheduledItem.swift */, + 394DF70A944D44426FACC5545FD86F50 /* InvocableType.swift */, + E27ECA21CA52781ECD8051CA0052BC44 /* Just.swift */, + FC5F404CA6E1C917948CD313BA0A2F51 /* Lock.swift */, + D712E5BFAE8B46F65DECFFC049BDCC4C /* LockOwnerType.swift */, + 7530F8A923B1254344B7B67782C6A9B0 /* MainScheduler.swift */, + 78BA9E278E68ECCF7D20A36E98E46DAD /* Map.swift */, + B361466558591FD3F593DD4E6752491C /* Merge.swift */, + A9EE7FFD7664638E522BE120AF2E62CE /* Multicast.swift */, + 315E1E45AAFEDB5A3E61F331B3FD3229 /* Never.swift */, + 1B99DAB4F0748D15007A40D5B0547B21 /* NopDisposable.swift */, + 772FBF1C6AE60546045AFCF785D15A60 /* Observable.swift */, + A3235C7761F201DDD236EE8D42110E15 /* Observable+Aggregate.swift */, + D3FA4F043A678102DDC435041EC5C295 /* Observable+Binding.swift */, + E5366D434A2068AFEA79004980F44A40 /* Observable+Concurrency.swift */, + F39B6017A1E05F853E61EEDF12541495 /* Observable+Creation.swift */, + 5380CB1D4DB7B80A10655618CBE87513 /* Observable+Debug.swift */, + 1F4A3554E28AD5D6CAA661C59A4FDCD9 /* Observable+Multiple.swift */, + DE7619ED4FDEDB6024E82D2D42CF324B /* Observable+Single.swift */, + 3DE1A985FFB33D04EE108BA94B2CC300 /* Observable+StandardSequenceOperators.swift */, + 031D174D193D61C814A6A4AB319D3D39 /* Observable+Time.swift */, + 75826486287006EA76C6E631DFAB1448 /* ObservableConvertibleType.swift */, + BD89A8362C3C3BA469B44FED6B1E4864 /* ObservableType.swift */, + 9CF0525D72C48EB23D1F63D5E3ADA325 /* ObservableType+Extensions.swift */, + 20AA113AD0049F0795CC22FD95BBB826 /* ObserveOn.swift */, + 6173B4694F9D3D845CB4D9D50EC41087 /* ObserveOnSerialDispatchQueue.swift */, + EF337C81B0A64DDD5C8ECFEEEE55A0B9 /* ObserverBase.swift */, + 995DE74885B81C140E5039D023558CC8 /* ObserverType.swift */, + 41638B7D3C22323377901B651D1F37A7 /* OperationQueueScheduler.swift */, + 5D92176701E7CDBFFF90FEE478C8207A /* Optional.swift */, + AB5416312C70D75361A0DB946599AE8F /* Platform.Darwin.swift */, + D9D1DF532DB987144FB7ADD52824BACB /* Platform.Linux.swift */, + 935A68B10956CAFB7C47182213A28F72 /* PrimitiveSequence.swift */, + AE04C5620868F5FBB86509FA74FF6C18 /* PrimitiveSequence+Zip+arity.swift */, + 04BE6BBF21018D3E4D17AD7CD53000E0 /* PriorityQueue.swift */, + 210B0D95A2BE9C73189824B2138A4FA4 /* Producer.swift */, + 835E6CB9743C0DD2CB95B5999EC8680F /* PublishSubject.swift */, + A750C52EA2EE9B5ABEFAAD2666886077 /* Queue.swift */, + 01C37DDB396A31B5404BBCF5F44D7151 /* Range.swift */, + 37CDF09D539295CF92C1177F3198BE36 /* Reactive.swift */, + 5D2AFD9DCE2A92C03D06E0322DD6C351 /* RecursiveLock.swift */, + 77EC3586590703C080B465267A91E532 /* RecursiveScheduler.swift */, + 8F6E06740346183D5BE4336802A9412B /* Reduce.swift */, + 67D90AB2B6EFE1F7489F45D68C4173E3 /* RefCount.swift */, + FC7D7E3CFDC72C9559407AD6CD855188 /* RefCountDisposable.swift */, + 3F06090977A101E9A348F9512FBD5963 /* Repeat.swift */, + 107E9EA23BF6700E79C50CDC280142AF /* ReplaySubject.swift */, + B02D2CCB55C79CC489105A284681E7CA /* RetryWhen.swift */, + 581D5A04F00F822F1B2D48BC9E62548F /* Rx.swift */, + 3A20E2059987CF8909AA4771423FA8F6 /* RxMutableBox.swift */, + DD19E8A585BB6C77F279F17B96D46398 /* Sample.swift */, + 5CB739C4773DCCBE2418B05EF30FCA6D /* Scan.swift */, + 78BD95BEC3668F37DBC2E000C117ED3F /* ScheduledDisposable.swift */, + 12501C8036DF392CCADD9A024DE70E8A /* ScheduledItem.swift */, + 942803270D96FC6A462D7D073F0172F2 /* ScheduledItemType.swift */, + 6486E45659F40A59C6D1C0F375BC0663 /* SchedulerServices+Emulation.swift */, + 213CD63772496C86BA19EDA1F199E2AB /* SchedulerType.swift */, + F0CF53499248C2BA38EB7329DCC0F385 /* Sequence.swift */, + 86437738F02288E7D2F61E326E88B973 /* SerialDispatchQueueScheduler.swift */, + 68EC6D81C4720C4DBCC1A91BA6F809C5 /* SerialDisposable.swift */, + 27F3FE292B2319024D9974F77AA33647 /* ShareReplay1.swift */, + 8800AE6CCDAE1B7F4AB8A1C3AEC716CB /* ShareReplay1WhileConnected.swift */, + 5FD6D1D17496E22EB3C146A1AB450938 /* SingleAssignmentDisposable.swift */, + FC928D4069D072E9A0416FDD4D19BAEB /* SingleAsync.swift */, + F5BF63E3A3756014DA1196BBA2EB7DE8 /* Sink.swift */, + 7521EC263853AD7395BC8B85F548D46E /* Skip.swift */, + D95D2CEDDFE60DCB16DBE51DDFCBDC0F /* SkipUntil.swift */, + 449BC1DF0D4CE4C2BC6FA4C1E46C8776 /* SkipWhile.swift */, + C4074D54AC8FF5825E9482EA326C54D6 /* StartWith.swift */, + E3D82CA8C47AF99EB856A84326C3E899 /* String+Rx.swift */, + C25BEDBD001052110E57A88CA96E0A90 /* SubjectType.swift */, + C56E2865B9D007A6A69EAE79796C6D08 /* SubscribeOn.swift */, + 8075738A1371E1A9B350132FDBEC9268 /* SubscriptionDisposable.swift */, + 61F6EDE85777BF55B6A77EBE779A81D6 /* Switch.swift */, + 3A36D783DDE370E8E04E080AE3F46E2F /* SwitchIfEmpty.swift */, + D561BC20DDD29546AC6FBC4014080660 /* SynchronizedDisposeType.swift */, + B48374C2D832D3A98114DE13C0E8C30B /* SynchronizedOnType.swift */, + E2B70457E577A355C32D6131D01E34D1 /* SynchronizedSubscribeType.swift */, + 8951081556657AFE491F4F47CEC8FDC9 /* SynchronizedUnsubscribeType.swift */, + EADF97246B53EAECA07179255DB9A9F4 /* TailRecursiveSink.swift */, + 0C640DAED5BA3A58BED1DB9863F13D5A /* Take.swift */, + F90BF79C3C962AD5CA3624420AAA3AC4 /* TakeLast.swift */, + D88E546DA4DC8A6885E32165B6B7CDC8 /* TakeUntil.swift */, + B0A06C73B27B8E761462B3D7D5719FBC /* TakeWhile.swift */, + 61BA2B0BD6D48C6C10274956282FA9FB /* Throttle.swift */, + 4E0B7327CD3D2968D5C1D90DD0C16469 /* Timeout.swift */, + A13B83F2C8CA6635B43983B04B08195B /* Timer.swift */, + 5B12C28BAC495787799993326A4B12A9 /* ToArray.swift */, + A3671A983CF6BB3A955D63C0EE38A42F /* Using.swift */, + 56271ED3B51AE5D5902932040A00DF63 /* Variable.swift */, + CA6A090788261C4370975C10777C7218 /* VirtualTimeConverterType.swift */, + 174C74BF316A87074BB513F4EBE462A3 /* VirtualTimeScheduler.swift */, + A41BB146AABCC8CE57A1BB3344AD663E /* Window.swift */, + 61DE68AB8FF9A1B46A343FD457B2BA0A /* WithLatestFrom.swift */, + 861B619C52D195B616174FAE200B35B3 /* Zip.swift */, + 1FCE1459ABAAC6CF32AE041118D097A8 /* Zip+arity.swift */, + C63D51308803184BBD23A21BEF2CAC2E /* Zip+Collection.swift */, + 6FF527E91C6B44B96675EF6EF3D3237D /* Support Files */, + ); + path = RxSwift; sourceTree = ""; }; 785842678515C4CDC9428DD20DCD752D /* Targets Support Files */ = { @@ -1017,17 +1233,51 @@ name = "Targets Support Files"; sourceTree = ""; }; + 7B169CA7E45B16DED5936DE10B585C4E /* Resources */ = { + isa = PBXGroup; + children = ( + 2A556E97F3484384DEFB7B5ED5880176 /* cs.lproj */, + 1F7B0CA157E36128B7D80398A249A2FB /* de.lproj */, + D534A541E3345FA30089E3CA3514436E /* en.lproj */, + D9DAEE1A23EEC477CC0A084AE6F55BFA /* es.lproj */, + D28C7D4E53ACD6557641B3B5C95D1532 /* fr.lproj */, + BD0A73D025F702B73E8C08876023CA7C /* it.lproj */, + 0B7454F8E7539A20A531754287691887 /* ja.lproj */, + 9DEE71E8EC741FEDDC4843DC88745956 /* ko.lproj */, + EFDD7F6B0BF3FDA0B54A286C67E25166 /* nl.lproj */, + 3A1307AC53289CB23C4D900ABA797CCB /* pl.lproj */, + 05FFA34D450387E7C88314C97A2D048D /* ru.lproj */, + 556E8B77AA1654A804668022C7161A59 /* zh-Hans.lproj */, + 1384B0D55D00589C9F0E6463FA9F6725 /* zh-Hant.lproj */, + ); + name = Resources; + sourceTree = ""; + }; 7DB346D0F39D3F0E887471402A8071AB = { isa = PBXGroup; children = ( 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */, - D9727D7444B8CA54728F850F99A13C9F /* Frameworks */, - 359D3CBF032E922C6E0EBD419E5611A5 /* Pods */, - AEB9320F726BCC1999DC9E6198BA9F1C /* Products */, + D8E2504A904293B77B1FD7984F57E501 /* Frameworks */, + 0D35EA0EF2F21C913E857292255B3BB4 /* Pods */, + E1C90AEDF7154C74EE643D0736078CA4 /* Products */, 785842678515C4CDC9428DD20DCD752D /* Targets Support Files */, ); sourceTree = ""; }; + 8B6DDAC795AEA9D244DC561F9063BB06 /* Support Files */ = { + isa = PBXGroup; + children = ( + 801502B019AD82B1A18CB5586BBFFBF2 /* GCDWebServer.modulemap */, + 2CC8FBCACBF9FEB38CBD2C5A08FF5675 /* GCDWebServer.xcconfig */, + 2503F4A39B92AC5FD1CD7839EC5E5C37 /* GCDWebServer-dummy.m */, + 2AC052D8E33C1F4B2E92FC0958782DAA /* GCDWebServer-prefix.pch */, + 49D1B1D3362220CE4BD47D6A84010E56 /* GCDWebServer-umbrella.h */, + 0CB699738335A47BB60A29F4F0FE016C /* Info.plist */, + ); + name = "Support Files"; + path = "../Target Support Files/GCDWebServer"; + sourceTree = ""; + }; 93AB896DD6AD247E69959A4B8C06F5AC /* Pods-ShadowsocksX-NG */ = { isa = PBXGroup; children = ( @@ -1046,318 +1296,32 @@ path = "Target Support Files/Pods-ShadowsocksX-NG"; sourceTree = ""; }; - 94196550CA330CD5DBD59FF18DA025DD /* Support Files */ = { + A37799ECA38B7DBEB77847514F029F6E /* OS X */ = { isa = PBXGroup; children = ( - 5280B2DC564CD3CA2D4349E9AB85ADEC /* Info.plist */, - C439FB2A46E79FAB7443860DB9209DED /* RxSwift.modulemap */, - 3261881064E033A3711EA27CE78524FC /* RxSwift.xcconfig */, - 67E751429B6B9BC0FABF01B8867EF866 /* RxSwift-dummy.m */, - BB135DF1279B5FD0AB5683BA019DD0CA /* RxSwift-prefix.pch */, - 1D4C11F8F1650F1661596A0F530E6BDF /* RxSwift-umbrella.h */, + B93FE6C9D4DD39AC96E0F2748AC55A16 /* AppKit.framework */, + 988A6E1015F0EE8A2C32D673049EB480 /* Carbon.framework */, + 541635D209381E226C6EBA22A418CD79 /* Cocoa.framework */, + 993BDC80A901642001B6FF19B91930A9 /* Foundation.framework */, + 9B307DD582C1B1C686F962200D2FB63D /* SystemConfiguration.framework */, ); - name = "Support Files"; - path = "../Target Support Files/RxSwift"; + name = "OS X"; sourceTree = ""; }; - 9712645556A969816EEB46A364368C74 /* Alamofire */ = { + AB5686C6AE2D7F5BB3726DF2CCA622DE /* Support Files */ = { isa = PBXGroup; children = ( - E7CAE213EE8F8ECB17980C4BF269D35A /* AFError.swift */, - E7DE4B15A2C7B806D42D1BC1189CFC19 /* Alamofire.swift */, - 72D5CA8AF08CC028C391EB1A38C661B0 /* DispatchQueue+Alamofire.swift */, - BA733FB551621A6A266D57AAB2CEDC2C /* MultipartFormData.swift */, - EFC679B790AD9EE3F36E8291BBECFF33 /* NetworkReachabilityManager.swift */, - 2437216A55ECC76844C12B5DC39280A0 /* Notifications.swift */, - C32DA9D913B14198C262DA3670259B16 /* ParameterEncoding.swift */, - C0969FFD491CA3150D85C991F9D642BA /* Request.swift */, - 30FBBC7DFAD0F5694D59ACC330B005E0 /* Response.swift */, - 4C564EF425F990F06F9867FD48C5AAC9 /* ResponseSerialization.swift */, - 6A03D18B60F1C426EF558F967B149830 /* Result.swift */, - 49F857A6751201ED3D72F96DC13C729F /* ServerTrustPolicy.swift */, - 5C4A3D2ED8D2752319AA3649ECF09EA1 /* SessionDelegate.swift */, - 78D3C582CD284C68D7B5FCF58D73BF07 /* SessionManager.swift */, - 6D4A286AAC017AE5547B794DD2C8AF59 /* TaskDelegate.swift */, - 59B5C5DECEBDC9747029DD2086C6B00D /* Timeline.swift */, - 3C3DDD5AE0D4C7DFC098D473F24ADFC5 /* Validation.swift */, - 99FD92757D006D2B29F3C6A579522964 /* Support Files */, - ); - path = Alamofire; - sourceTree = ""; - }; - 99FD92757D006D2B29F3C6A579522964 /* Support Files */ = { - isa = PBXGroup; - children = ( - F3BEA0E59DC8EE162D7707F0458BC410 /* Alamofire.modulemap */, - D6CBB4BD325445F86290A6A3E27E8B45 /* Alamofire.xcconfig */, - A030F5167FA6558FE91D25425A0B9CBA /* Alamofire-dummy.m */, - 79CD123F941026E950A51F29197238C8 /* Alamofire-prefix.pch */, - 88C081789EDC0560233A76D711CE9659 /* Alamofire-umbrella.h */, - 10AE621FA1B638AD24DC8416AAEA4850 /* Info.plist */, - ); - name = "Support Files"; - path = "../Target Support Files/Alamofire"; - sourceTree = ""; - }; - 9DF9AD84022C72252E16F01DF14949E2 /* RxSwift */ = { - isa = PBXGroup; - children = ( - 40784518B3B077970ACD76FF6ADC6E18 /* AddRef.swift */, - D06609DFEDC0A7E3A67145994809FAAB /* Amb.swift */, - 56E8831C108769CCDBD44A22DC79FC6C /* AnonymousDisposable.swift */, - 4F4BE5C3ABEB89172F29F09B174D6883 /* AnonymousInvocable.swift */, - 1C5B91DC04B3865DDDDC72512A5C3F54 /* AnonymousObservable.swift */, - 198E9BC39A4EAE7AF6607A3DE9DBD031 /* AnonymousObserver.swift */, - A57E4C19B3887697A8F7105471594B11 /* AnyObserver.swift */, - 34AEA52D361570E78F8B9792A835A1A1 /* AsMaybe.swift */, - 351C16C6C5C0715F1C876D91D0EDEA09 /* AsSingle.swift */, - 7CBC95D81A39FE47DF7664F12F9FF6E1 /* AsyncLock.swift */, - ACEE1641B4A1142BE9D66F1E19A1A083 /* AsyncSubject.swift */, - F88F573DA82E488BDAE8BC55E93B96B1 /* Bag.swift */, - 59D23F0528F3A7600784924A107552D0 /* Bag+Rx.swift */, - 6D71F1C033CF6233A31594BA370062CA /* BehaviorSubject.swift */, - 0DBFAF6F1BA01CE6183C3B565DB8322C /* BinaryDisposable.swift */, - DEA3B8F9A25C60DBAD70F2E3BA7DEC79 /* BooleanDisposable.swift */, - 525C68580D6831E607AD3D862DC133DD /* Buffer.swift */, - AB8D181B14C53055CA4F2D61166A6C7D /* Cancelable.swift */, - EC77664C6DB0A9CA9F4AC1E93463971A /* Catch.swift */, - A04BDAC57478865FE5DD3EC203E58F10 /* CombineLatest.swift */, - C1714F14E43A69F77960977683265141 /* CombineLatest+arity.swift */, - 58FCD780817CA60F10D6C39A083DDCDC /* CombineLatest+Collection.swift */, - DAAD2858D71A42847A49EE0FC347E9FB /* CompositeDisposable.swift */, - A7104A53E83466AD81DBF532DBA762E1 /* Concat.swift */, - 002B67F5C7E4ECAD0D0339BF321BF117 /* ConcurrentDispatchQueueScheduler.swift */, - 0B2BA85AB97126B7F170B024F033AF4F /* ConcurrentMainScheduler.swift */, - F6A1E5B8450A97482BAF559588B3DD71 /* ConnectableObservable.swift */, - D34A2C6821DD92D46F0901C579DAEF53 /* ConnectableObservableType.swift */, - B4FB77C479CBE2951C13C488C5CBE57E /* CurrentThreadScheduler.swift */, - 49D0AEBF622CB33505BCC1202E398B34 /* Debounce.swift */, - CC674E9D1A6B6D72CE70D5CC2FD43735 /* Debug.swift */, - 06571839F983E684AE0631A949E65709 /* DefaultIfEmpty.swift */, - 6B7E831C7BD9ACCDA16302B15F5A8035 /* Deferred.swift */, - 87C033CF62C6A03D67EA9056684E74B2 /* Delay.swift */, - 135780AE39D9C9BBD7443F7F21288DFB /* DelaySubscription.swift */, - DC7FD09C09D1BDD8476A89AA647DAF8C /* Deprecated.swift */, - 30D8B840460D79AB3B8AB39A4164F4B7 /* DispatchQueue+Extensions.swift */, - AF6621583BA40AE9A61D2F58B49462B2 /* DispatchQueueConfiguration.swift */, - 94E567C35466451FC7539A0BD8DA6046 /* Disposable.swift */, - B29423A3BD529F4181880C1CC35631C5 /* Disposables.swift */, - D83C9C9C216CD46EAD7B39EB3A0A703C /* DisposeBag.swift */, - 77A56791C067FBC9E3AC1405C667F1BA /* DisposeBase.swift */, - BBCDC9591CE194B7B56FC4194F75DB4E /* DistinctUntilChanged.swift */, - 806CAD0BC89F898F94D939211ABC3384 /* Do.swift */, - C524B1525327F67736740D5488CEAFD6 /* ElementAt.swift */, - EB76A421976FAB6ECBC3D127F6A77FC9 /* Empty.swift */, - 941AD6E4532B1B070D2592FE3A2AE752 /* Error.swift */, - 8E9FC22AFD2BA36D7C298505DD97DB07 /* Errors.swift */, - BED1E9CAFD7494BC65249B31B68985C6 /* Event.swift */, - BCCCC4E79BB0BC425916AD8DE96CA785 /* Filter.swift */, - 423730810CF7CCE34FE8316CFF58F0B8 /* Generate.swift */, - 804280091995DFB0D7791D5300473723 /* GroupBy.swift */, - D2654F715A28779785D3AD91F2ED2388 /* GroupedObservable.swift */, - 1369962E25E1F6E43620FE725E9CE874 /* HistoricalScheduler.swift */, - CDFACEE80381FE2B4BC6E4FE88D93A85 /* HistoricalSchedulerTimeConverter.swift */, - DFAE13F86521FDD3838D3DA229D4AC25 /* ImmediateScheduler.swift */, - 60B4EBBBD5D3F3346F7E7334498186B2 /* ImmediateSchedulerType.swift */, - 0A7A485A268FA20FBE6CEAB65881AF6F /* InfiniteSequence.swift */, - 0F158686BD10F093816366CBB70A6E30 /* InvocableScheduledItem.swift */, - 8D21B3357EAEBF44D19D3A611848628E /* InvocableType.swift */, - D85F519585040CC0D398A38AA0930EC4 /* Just.swift */, - EFDF2D18587604D407F5C9C506D4018D /* Lock.swift */, - 48B2C17385071197F259AB746341B272 /* LockOwnerType.swift */, - B4A0B1A36A704F964703C9BC39827964 /* MainScheduler.swift */, - 7D0D3E3125AF3C4C71554245E74E3A8C /* Map.swift */, - 3B3D790CC9A67D70E3E0EDD445F085E1 /* Merge.swift */, - 5374966D42537C6369072660B48CF199 /* Multicast.swift */, - 8EF3B7799254D602BB02B42C4E30CFFF /* Never.swift */, - 4F4D6DC50E558CC6AE51E3AF56E5018B /* NopDisposable.swift */, - 6200462FD0350D942C06454BF3959B8D /* Observable.swift */, - 7A5020E5D284EBAF7DED99AB83881F38 /* Observable+Aggregate.swift */, - 34B22FFDD2CE991366EAEE41BA0B706A /* Observable+Binding.swift */, - AE7494AFBC1F396F79B1E5BE66FDDFCD /* Observable+Concurrency.swift */, - 6E634B678C5C5CF993CA1475A75B7DEE /* Observable+Creation.swift */, - 64A21A2EB387821C687BFB0B5FC0D242 /* Observable+Debug.swift */, - 5C56E70499D215B611C87DF7E81D7DF9 /* Observable+Multiple.swift */, - ED29315833FAA1E5A338CFA8005377A9 /* Observable+Single.swift */, - DA80549D390412FB66E8ADB1475C39D2 /* Observable+StandardSequenceOperators.swift */, - 69B06482690AB04BAC88256758995B90 /* Observable+Time.swift */, - F72515DA7F790ADA9DF78910C67193DB /* ObservableConvertibleType.swift */, - 6C980D73B55B8361629ADA1668748A31 /* ObservableType.swift */, - 69DF594FDFE7BC49AA1019B10D7065E7 /* ObservableType+Extensions.swift */, - A24870AF7F42FAA0AD9ABB0325F1E135 /* ObserveOn.swift */, - 8FE77EB2349A660DFADBF5CE01DEF91C /* ObserveOnSerialDispatchQueue.swift */, - 9F0C370A9E746A9710DCDBF48091819B /* ObserverBase.swift */, - D3A7C466E29109C01509C4619554BB05 /* ObserverType.swift */, - 435BB7E73157084CAF2FE80FBE224AF2 /* OperationQueueScheduler.swift */, - 0394897FCAD2777CF1A4384FE731D25C /* Optional.swift */, - 87580AD4D9D45E84D60D81B7D6E97C0A /* Platform.Darwin.swift */, - 912D7029A05911D1FB4ABFF9E2B851C7 /* Platform.Linux.swift */, - CB9BC8FFFB6D237A0A82BB90707A89FA /* PrimitiveSequence.swift */, - CD39D59D26656AE80FD3F9C683849740 /* PrimitiveSequence+Zip+arity.swift */, - 9C1694FBE9CBF06E4F1C9F38B5DFA930 /* PriorityQueue.swift */, - 11C39B1421798570CF7E02C57F90EC4B /* Producer.swift */, - 65268C40FD5106D32C7C227F38209B3F /* PublishSubject.swift */, - 214BCB3965A64FB0986840C0E083418A /* Queue.swift */, - 3F28BB197905FA93BEC98E5D1F6B9F75 /* Range.swift */, - 7D6462467149007CC9112C18E0FA2BE0 /* Reactive.swift */, - D4CD8E837A63DA5890EF98BA6E98D9D5 /* RecursiveLock.swift */, - D402F8A4734F5C848DA2287CD48E6202 /* RecursiveScheduler.swift */, - E149E56489936102F081551F32C5F5EB /* Reduce.swift */, - 8402EA2D03C261FDFF31CEC2F3E17390 /* RefCount.swift */, - 62A7E7809BC29FA83778B027FE2021B6 /* RefCountDisposable.swift */, - 5A11BED0A468B53EAE2F900A790FB03A /* Repeat.swift */, - 3AC8F7EF565790CE58751914BAB4C1B3 /* ReplaySubject.swift */, - 2A595C2E180CE19ADB5A7218E78FD8BC /* RetryWhen.swift */, - 85BE206744586C11C8C71BF92918AB7B /* Rx.swift */, - 912AE5C728F325B6D86D33E827E266C8 /* RxMutableBox.swift */, - 63973CDD0819B187A85E746CC55ED88F /* Sample.swift */, - B2E3D4D905C0E79E9AB56BF024A35180 /* Scan.swift */, - FCBF6FFFBBE49493E089992E786E1A20 /* ScheduledDisposable.swift */, - B4AAA88BD8CDEC58F63BB1EABFBFE6EC /* ScheduledItem.swift */, - 67DA5A6F6EDD732F5332FE2EAC8DB9EE /* ScheduledItemType.swift */, - CDC25BCC601EFEC02F400739EAD16FDE /* SchedulerServices+Emulation.swift */, - 0947568290847B529166B4C9F28347BB /* SchedulerType.swift */, - 88C9C68749757A2F4BCA7FFF1CA0F9BA /* Sequence.swift */, - F786CE1FD64B7570C24F231E23D7566A /* SerialDispatchQueueScheduler.swift */, - 478441DBD43555BE4C13427FB4B1F102 /* SerialDisposable.swift */, - 9F4AD3BB60C4064C0FBE13775748D456 /* ShareReplay1.swift */, - 71150F3D7194C1783C37A070F1AD879E /* ShareReplay1WhileConnected.swift */, - 385EF54CE93CF6561FBD6FCD4BC908CF /* SingleAssignmentDisposable.swift */, - 271DC7562BA32ADD28B4A53CA4C92137 /* SingleAsync.swift */, - B2FB3E4A7941F31C1970E3CC7568BC25 /* Sink.swift */, - 48FAC49BD2A6F874166D24BB5C9BA1AE /* Skip.swift */, - B90BBC0A33E35F445599411A4755CA2E /* SkipUntil.swift */, - 7A46EF6D6AE7B13EF91E0A19B18EABEE /* SkipWhile.swift */, - 612574DE7BC9EB82F4DCE7D2E38318B9 /* StartWith.swift */, - 0708DD73E84866CEA805B9C7AB60ADE4 /* String+Rx.swift */, - DAF4B22EF3D343BEF33D2881F14213DF /* SubjectType.swift */, - 9DA9F52CD97C9FFDD1A42400020B5C86 /* SubscribeOn.swift */, - 187F6C028E99961913EF8CD45D358107 /* SubscriptionDisposable.swift */, - F9ABBB68077D7AD074DFC9923895B5D6 /* Switch.swift */, - C1A4207D9981121566B1401ED299ECB8 /* SwitchIfEmpty.swift */, - 30E2E47F7B982BA49DF174E3FDFB288B /* SynchronizedDisposeType.swift */, - 64EE1C0399B2FC8E5B84F059BC3B89F9 /* SynchronizedOnType.swift */, - 6DEED24A26C9B7E2A8FFD080F9C8C2AF /* SynchronizedSubscribeType.swift */, - 528841720C50D9A4B73EE2A4C6A8E132 /* SynchronizedUnsubscribeType.swift */, - 4A1F43CF3068C2DCAA16CAF4E7EDCE4E /* TailRecursiveSink.swift */, - 5208F42E4D16971BBD8698E9C751B6ED /* Take.swift */, - 4209C3E1C531131A7CA7A2DA0BB1F334 /* TakeLast.swift */, - BE2FFA6014D5EA973E00B658481C4016 /* TakeUntil.swift */, - 33045890E1D4469FBFD24F367E827FAC /* TakeWhile.swift */, - 430E0E395046F19946D55C7F791DDCC4 /* Throttle.swift */, - B42525F3404A9781D07CAE62FD5E4918 /* Timeout.swift */, - 81A1AAE28282C31243C72011FF5A4830 /* Timer.swift */, - 7DB18E3EF0102CDC82F31CA6B466A8B3 /* ToArray.swift */, - BDCCB04DF57C106193307E90684240A9 /* Using.swift */, - D1F45AC654673C96B25C288CE2ED7757 /* Variable.swift */, - 9591C37093C86F6625E89B7ECD358BDE /* VirtualTimeConverterType.swift */, - D14826507A4DA27653782BD16CF7B1A4 /* VirtualTimeScheduler.swift */, - F1AE55DF48B45CC65465B461F51CA3EA /* Window.swift */, - A7B90D6B38782365F4D874C83ED140A8 /* WithLatestFrom.swift */, - 0C4E480F924E52E479BFE519D781A826 /* Zip.swift */, - 23D34D0E9C66E6F9595722372B9AED8D /* Zip+arity.swift */, - DB6A96F3AD4E1A22FFED4E6F0A4D1ECD /* Zip+Collection.swift */, - 94196550CA330CD5DBD59FF18DA025DD /* Support Files */, - ); - path = RxSwift; - sourceTree = ""; - }; - A092F58EC487A6343E48EEDD79712C6A /* Core */ = { - isa = PBXGroup; - children = ( - 04BA1E955FC23E417978F5DE57553C65 /* GCDWebServer.h */, - AB35CD1ECD0CD3643AE3F5B53C269AF5 /* GCDWebServer.m */, - FAFB76E73828C3673CEC60577DD3D7F0 /* GCDWebServerConnection.h */, - 4387584024C546AD5AD6B7EDD37485BF /* GCDWebServerConnection.m */, - 47B14EF7B2C9724416D7F4F875D1CB32 /* GCDWebServerDataRequest.h */, - 8F9C2E8F767184184382C0659D0B57C6 /* GCDWebServerDataRequest.m */, - FD0EA79B1967F9A248BD807632BC9C79 /* GCDWebServerDataResponse.h */, - 1E0CFCE9AB3B6AFD0691E63F63F62B18 /* GCDWebServerDataResponse.m */, - 7CD1750A494B17CF183B50C961117C6D /* GCDWebServerErrorResponse.h */, - E85ED0518085EBD804CA390B52EDDFE5 /* GCDWebServerErrorResponse.m */, - 4F9B04B4F8691154899A7BB06F149941 /* GCDWebServerFileRequest.h */, - 7E1780CA78CC5EE56892186D6699471D /* GCDWebServerFileRequest.m */, - 015CDD34C2C3E889192595296079F633 /* GCDWebServerFileResponse.h */, - 04FCB8C241708CC45FF52AFA691DA336 /* GCDWebServerFileResponse.m */, - BFD17FB0B8D729EB83B1AA769D30726F /* GCDWebServerFunctions.h */, - 51C85F34568C70DB96CF9B23E0D503AB /* GCDWebServerFunctions.m */, - 2D2D8747A63B260F80C40C9DCDAC357E /* GCDWebServerHTTPStatusCodes.h */, - DF0D4DE6D3365036C0FA32D93DE77D46 /* GCDWebServerMultiPartFormRequest.h */, - 1BD87FA3022EFB5D55062335BBAA6CDC /* GCDWebServerMultiPartFormRequest.m */, - 941AC673759A8487CD0E31D9222FE395 /* GCDWebServerPrivate.h */, - 1529BF693979ADC95825A232E3F7F71B /* GCDWebServerRequest.h */, - 5E149596B24A0F722AAD04DD0E7648FC /* GCDWebServerRequest.m */, - C74A3DC1AECDEFEFB44AB3F60FFDDC33 /* GCDWebServerResponse.h */, - C5A524C4B1015097B4130310EBF6D6B0 /* GCDWebServerResponse.m */, - 49AA0901E701115CB7028794961FEE8E /* GCDWebServerStreamedResponse.h */, - A07A8BDB7BFA69AA9291E71416EC58CF /* GCDWebServerStreamedResponse.m */, - DB83C3266870BCD77C80A5BF5F71BFE0 /* GCDWebServerURLEncodedFormRequest.h */, - 360EB85AC720C078D420EADAF6C654ED /* GCDWebServerURLEncodedFormRequest.m */, - ); - name = Core; - sourceTree = ""; - }; - A6D905C92591DD3CC9A5586DC4788A47 /* Support Files */ = { - isa = PBXGroup; - children = ( - 6746B37DEF5322A16C300B61DED7F1AD /* Info.plist */, - 981AE7988280E3E58827A4BC2FEC206B /* RxCocoa.modulemap */, - C5B2560C6A7D9250831A76E33D926588 /* RxCocoa.xcconfig */, - A299EE214CF95998A680C2E5EBEEC779 /* RxCocoa-dummy.m */, - 2F5238F43AAC23E1434E88471A76DAA8 /* RxCocoa-prefix.pch */, - 622BE644A5BCF7100BB04E2E0578F8C2 /* RxCocoa-umbrella.h */, + 0700A91D3934E4A467EF33E682B8399F /* Info.plist */, + 273661E3FFA3FD1311F913489F764B0A /* RxCocoa.modulemap */, + 3103989A45B5C1B5277D5BBC7D01C0CF /* RxCocoa.xcconfig */, + B9F052C6C33E66176E62899848AB02B5 /* RxCocoa-dummy.m */, + D1B8D58CEB2B9F84DDB8984B9EA73A83 /* RxCocoa-prefix.pch */, + E6D55B5F10C548CABD9A58BC50DA464D /* RxCocoa-umbrella.h */, ); name = "Support Files"; path = "../Target Support Files/RxCocoa"; sourceTree = ""; }; - AD089A2216580815F93912EDB4FEDE85 /* MASShortcut */ = { - isa = PBXGroup; - children = ( - CDD891211BCACC371F9D43363C3FD01F /* MASDictionaryTransformer.h */, - 66999DB6AE23289A4ECDBEBCC7A09C5F /* MASDictionaryTransformer.m */, - DE1C155D92F36B81A10B04D3AECC44DE /* MASHotKey.h */, - 550F2C93957EF2301541066CF63D46BC /* MASHotKey.m */, - D38D66B8CF136FA1B9D3A067600536AE /* MASKeyCodes.h */, - 259F77E2EC48E07223226DD78300AABD /* MASKeyMasks.h */, - 8D679D13A827958B8B727FA6E970D093 /* MASLocalization.h */, - 874D347DB51D5D3E716E95F6E97CFF9A /* MASLocalization.m */, - BFBCCDD4FB2BFEE4F62E4783156E5C68 /* MASShortcut.h */, - C2F0513828D310E221B920200A0AF8B9 /* MASShortcut.m */, - 90BD54F6E711E6C0C832CFD421265D40 /* MASShortcutBinder.h */, - 8C0EC59C08B29B12978B1C4DBDD6491F /* MASShortcutBinder.m */, - E4B98A26D58EDEECA20933684CC1C45F /* MASShortcutMonitor.h */, - 77B1E0282CBC343B82CC78C567B8B534 /* MASShortcutMonitor.m */, - C6CF6A88B14EECBA592B26FDE26199CA /* MASShortcutValidator.h */, - D12B3B0AB6BBE5692CC30020ED890E6C /* MASShortcutValidator.m */, - 16E2BA0967647D17B5A037805E7CF195 /* MASShortcutView.h */, - 64D637E8C0ED768E21CFCAE9641662B6 /* MASShortcutView.m */, - 1918A3E00F323095B9B4FE41517A6FDA /* MASShortcutView+Bindings.h */, - F9A79C0537300E8EC3B4938AE3FCCE88 /* MASShortcutView+Bindings.m */, - 8EC98D40BE7139C7559F4E49AD0B9202 /* Shortcut.h */, - 4047D8E4A66663BBA78A370A91AE7F79 /* Resources */, - 2D7BA557F4C0940A77FFB9270557294B /* Support Files */, - ); - path = MASShortcut; - sourceTree = ""; - }; - AEB9320F726BCC1999DC9E6198BA9F1C /* Products */ = { - isa = PBXGroup; - children = ( - FBAF339F33C80576683D76394CA51047 /* Alamofire.framework */, - 7B63AB91C9378BEF83982ADCC82E9770 /* GCDWebServer.framework */, - C760BAF596F45988BF95E5D3C10BA670 /* libBRLOptionParser.a */, - E0CF346DBA2C8BDB54C4D65E01BE83B4 /* libPods-proxy_conf_helper.a */, - 288F0992DFCC5E6027AA31FD385C34D6 /* MASShortcut.bundle */, - 9B6ACACC69C2EA2681770741535F1D69 /* MASShortcut.framework */, - BF541EB164C2E45EC80ADBE338F2D325 /* Pods_ShadowsocksX_NG.framework */, - D0531FFA0D5305257F668D1D12A1411F /* Pods_ShadowsocksX_NGTests.framework */, - B0FC490145F0D2AD9B833C41F78CA818 /* RxCocoa.framework */, - E15756B54614ACA75251861D700E1946 /* RxSwift.framework */, - ); - name = Products; - sourceTree = ""; - }; B5020B0A649E766997C633601AD85F17 /* Pods-proxy_conf_helper */ = { isa = PBXGroup; children = ( @@ -1373,48 +1337,177 @@ path = "Target Support Files/Pods-proxy_conf_helper"; sourceTree = ""; }; - BD838F4740449375D7768E6248698B27 /* BRLOptionParser */ = { + B6C4C04AEA3A9D7971244C21D341301D /* Alamofire */ = { isa = PBXGroup; children = ( - 6B53429CB1F8A25076762F2D82D97CCF /* BRLOptionParser.h */, - 234D1504F40F558DF1303E8C160D47BD /* BRLOptionParser.m */, - 02CDF8BDA510DD82276AE66867F81915 /* Support Files */, + 9DB47B26EE37F1328B8F4694EB5F1804 /* AFError.swift */, + DC78487F226B02EE37AC83AE75359CB1 /* Alamofire.swift */, + BC47BC8B2FE9F53B44ABD444462F7220 /* DispatchQueue+Alamofire.swift */, + CF2BD51FBAF9857C0CEB9432F3D094DC /* MultipartFormData.swift */, + 777A725E8F7739B90AC1A98CF7044517 /* NetworkReachabilityManager.swift */, + DD341B16E7EEEF448A48C2AD4B5F2EED /* Notifications.swift */, + B99EEE79B7E0166318A96CAE164E2438 /* ParameterEncoding.swift */, + C9A6E80EAEA3F19D3F2CCFA9C71542F7 /* Request.swift */, + EF7AE52D06AE7909058FBFB1D5E5342A /* Response.swift */, + BE68BDEE2A89046748658FE3635316EF /* ResponseSerialization.swift */, + 59D4E2909118474F4509B22696DC8922 /* Result.swift */, + 14FBFC574BADC66C81F27ECF39C5F086 /* ServerTrustPolicy.swift */, + 92CA538AFEA6F001423616DA08DDB61C /* SessionDelegate.swift */, + 2E460480C9AB1696DF23F2BEE6FA8DD8 /* SessionManager.swift */, + 4ED617F852769328CA7989F542A1B539 /* TaskDelegate.swift */, + BC6A08F2A0872D746F505B0E0D6B4457 /* Timeline.swift */, + 3BB539B4AC0ACC9675335E47738AD942 /* Validation.swift */, + 0119DBD285CABCCABD8558B94DCF6C3F /* Support Files */, ); - path = BRLOptionParser; + path = Alamofire; sourceTree = ""; }; - D9727D7444B8CA54728F850F99A13C9F /* Frameworks */ = { + C2BDA0EA9B9FE93B790B6AFF69DC5185 /* Core */ = { isa = PBXGroup; children = ( - B792280B7BC7CA44B5D7090C8F732A0D /* RxSwift.framework */, - E2E3EA611324A191E7D403B061C56915 /* OS X */, + 58437D55AAA11DA9CF981F9A29D598CE /* GCDWebServer.h */, + 981583896DBF4FAA2A364B6618873F33 /* GCDWebServer.m */, + 42DD341BD8230394DBACAE756A98F50B /* GCDWebServerConnection.h */, + 0CCBF1308C04082BB1E533130C42B36C /* GCDWebServerConnection.m */, + 6935A55DCDAA25AE27D43322A3B5F25C /* GCDWebServerDataRequest.h */, + CF670BD3F4B454A037B3F97C7C1C088C /* GCDWebServerDataRequest.m */, + 937175BE71F2E6D6A0271C60E7173952 /* GCDWebServerDataResponse.h */, + 50A4823751182A0833647B475DC72A10 /* GCDWebServerDataResponse.m */, + 9A7EC671B3A9BC64575CE36E04984535 /* GCDWebServerErrorResponse.h */, + 7E3ABEB4812FF4219C70ACEA83333729 /* GCDWebServerErrorResponse.m */, + 2BA50A17BB31B56D675B2664C6656204 /* GCDWebServerFileRequest.h */, + C332139931C84CB443EFCC490DB2FD1C /* GCDWebServerFileRequest.m */, + 6F80F9D570ECC43F0D6BA9391F8FA9BA /* GCDWebServerFileResponse.h */, + 7C6FCC78D09A845D08FCB5E08C0D54E8 /* GCDWebServerFileResponse.m */, + 842D3EBF759D57C30020E9E454D53B18 /* GCDWebServerFunctions.h */, + B6A5AD9A457A71CE75ED0FED8EADA44C /* GCDWebServerFunctions.m */, + A2763F2948983CA8DF530DA70A8DCE8E /* GCDWebServerHTTPStatusCodes.h */, + 9FF05C2DEA8CE1D195F74E268C828FEE /* GCDWebServerMultiPartFormRequest.h */, + 6648C6A5E7AA88F2486DBAB18C40B4BD /* GCDWebServerMultiPartFormRequest.m */, + DB6161524DC5318B621B1F8E7A118FFB /* GCDWebServerPrivate.h */, + CB4D69786E5F8A46929EF2093BE3CB0F /* GCDWebServerRequest.h */, + 9A17CA28B45C048234AFE70E575A4CBD /* GCDWebServerRequest.m */, + 3FAE3A7339C3A29FB22934395FA2EA45 /* GCDWebServerResponse.h */, + 853F87DF9EDE5FA2086B4A5E269E74AA /* GCDWebServerResponse.m */, + A17C629CDD2B77E8335385ADBE479957 /* GCDWebServerStreamedResponse.h */, + ED16BB320405FDB93EB12CA5924D4BC6 /* GCDWebServerStreamedResponse.m */, + DC51C4D74DD2DABECE22BF29BC268561 /* GCDWebServerURLEncodedFormRequest.h */, + 5BE0C68CAAE6B6D69963CBBBDCB9F12F /* GCDWebServerURLEncodedFormRequest.m */, + ); + name = Core; + sourceTree = ""; + }; + C6D5461F7F697F6579DA10DDBA5A806B /* Support Files */ = { + isa = PBXGroup; + children = ( + 9A83111583975350BFA625D9A3EB0572 /* Info.plist */, + E3554126989E1003549CC8C46B93C051 /* MASShortcut.modulemap */, + 9D1D713D4FFF07BD9637DE60583A1926 /* MASShortcut.xcconfig */, + B486C2D8CBBC773FB719D2FB702EDA76 /* MASShortcut-dummy.m */, + 2356FB918A51C0DA51C8D5CC52A19357 /* MASShortcut-prefix.pch */, + 86EF52D40469183E91E1F9F4A4C3DB7E /* MASShortcut-umbrella.h */, + F55D6CA4F66631B8242592E22F4956AC /* ResourceBundle-MASShortcut-Info.plist */, + ); + name = "Support Files"; + path = "../Target Support Files/MASShortcut"; + sourceTree = ""; + }; + D2DA355411E3D880C6224600E0F82B6C /* MASShortcut */ = { + isa = PBXGroup; + children = ( + 668198EDD6FDCC5AB38CB33DA7659011 /* MASDictionaryTransformer.h */, + F4BFC0CAE4438D1B80B1E09CBD690E9F /* MASDictionaryTransformer.m */, + E8D99A31D180383D08E83F87DC83E793 /* MASHotKey.h */, + F1F24CFC2917FBD63A5BEE8338464031 /* MASHotKey.m */, + 7E9C90F3BA4251EA9D6F4DB53B20422A /* MASKeyCodes.h */, + 373382D953B210F2B54E4302BA7352FB /* MASKeyMasks.h */, + 36484E288D4341558E1F3EE234449FBF /* MASLocalization.h */, + 9FA0AD606FB1DC680587C6680435BAB4 /* MASLocalization.m */, + 557CECDC6DDDC2CA7B81A5E4A7AEAA95 /* MASShortcut.h */, + 40B45BE14874598162E4FE62B0CD9054 /* MASShortcut.m */, + 173E823C413E3587212438EEC2E0FFC2 /* MASShortcutBinder.h */, + 1C534EA5295FCF66868EE87F6E183146 /* MASShortcutBinder.m */, + 7B43BD81C11C56E833936C952A16337A /* MASShortcutMonitor.h */, + 56A163745012A5285864F554FCCDA5A8 /* MASShortcutMonitor.m */, + 6B9E4025914D7F3569C3F170C0857AB0 /* MASShortcutValidator.h */, + CB8BD7CB2DE097E36340ACCC44E60C1F /* MASShortcutValidator.m */, + C846A01E2C13E47993767941C9F38B45 /* MASShortcutView.h */, + 587BACC4C98331BE24B87FA37825B878 /* MASShortcutView.m */, + 5EF992724FD09BBDA363D1880AB0D121 /* MASShortcutView+Bindings.h */, + FFBB47AF39FAB6F15F6EAB4468429D5F /* MASShortcutView+Bindings.m */, + 68A500E1043DC47693BB9C3F1E633860 /* Shortcut.h */, + 7B169CA7E45B16DED5936DE10B585C4E /* Resources */, + C6D5461F7F697F6579DA10DDBA5A806B /* Support Files */, + ); + path = MASShortcut; + sourceTree = ""; + }; + D8E2504A904293B77B1FD7984F57E501 /* Frameworks */ = { + isa = PBXGroup; + children = ( + 0DD11AC12391ADB0A9D7FCABF49377EF /* RxSwift.framework */, + A37799ECA38B7DBEB77847514F029F6E /* OS X */, ); name = Frameworks; sourceTree = ""; }; - E2E3EA611324A191E7D403B061C56915 /* OS X */ = { + E1C90AEDF7154C74EE643D0736078CA4 /* Products */ = { isa = PBXGroup; children = ( - 139134EE845E284F4B3ED2EF2F9A302B /* AppKit.framework */, - EFD468F10CD22B3EFAB406DAC3FCC7C9 /* Carbon.framework */, - EA9A1A86E1594EEC96C2B7214E16E50F /* Cocoa.framework */, - 4FEC4B8DFE8753A9B1DE598293568F30 /* SystemConfiguration.framework */, + A279F8FAB8DF84139AA62A3AEE39EB38 /* Alamofire.framework */, + 4A6CF1626AB2F910B11A9F99BD40422B /* GCDWebServer.framework */, + C75508DD8AECC870156A258F90016E46 /* libBRLOptionParser.a */, + 31CE4D891CDDFCEC4F83A4992C0BF415 /* libPods-proxy_conf_helper.a */, + A8A0A3D0716F080419F265C10AADD4A7 /* MASShortcut.bundle */, + DFF58F59D716833382F5787727253A7B /* MASShortcut.framework */, + 03E3456EFEE530A9893F05C197129802 /* Pods_ShadowsocksX_NG.framework */, + 13C2265190B5836A507B56C85A593DEA /* Pods_ShadowsocksX_NGTests.framework */, + 325E00D876E1A0E299D37CE65FDB0DE5 /* RxCocoa.framework */, + B8E3BA0D34EA17145B91113248942537 /* RxSwift.framework */, + 1B15CE07A3DBA519DFE04CED5766DF7C /* XYPingUtil.framework */, ); - name = "OS X"; + name = Products; sourceTree = ""; }; - E5268B6C8C971560742CEF27BB088DED /* GCDWebServer */ = { + EC27E50C0FB81A89413B90CE14E42E76 /* Support Files */ = { isa = PBXGroup; children = ( - A092F58EC487A6343E48EEDD79712C6A /* Core */, - 6D327928671CE89EC015B75776F6298A /* Support Files */, + 19DC1A7B87E74FF2651F8E01294AF968 /* Info.plist */, + CFCF5FCC0743D60A446B126147CBA2C3 /* XYPingUtil.modulemap */, + B04657A13605844C8019BD035A0EBEEA /* XYPingUtil.xcconfig */, + 01A90D7AB3281F887DDA6B292B2AEAE2 /* XYPingUtil-dummy.m */, + BD298B7D1CA72579093AF8CBF20310B8 /* XYPingUtil-prefix.pch */, + 45C65FA3F78F0AA16EE65F4F0AF2080F /* XYPingUtil-umbrella.h */, ); - path = GCDWebServer; + name = "Support Files"; + path = "../Target Support Files/XYPingUtil"; sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ + 148BB9718289036380AAFF9DC25D7B36 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 6BBF85C5416BC6D4CC16F5B9A696F422 /* Pods-ShadowsocksX-NG-umbrella.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 14B280B25B13E4A967BE1B1187A20BC7 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + AA52149DECEDAFB9F82D4A0EEE137966 /* _RX.h in Headers */, + 2F3AC9381A9E7FAC24E5FCE88A4CE5B3 /* _RXDelegateProxy.h in Headers */, + 5C35B49DED9CDEBBDB3AF15AE4CB1656 /* _RXKVOObserver.h in Headers */, + 9B1496C9DC001AC73C77AB1D88D409DF /* _RXObjCRuntime.h in Headers */, + 792A4427694FB1931A07A62A11507DE2 /* RxCocoa-umbrella.h in Headers */, + FCEB58B18A0C0D928D2BFAEAC087E955 /* RxCocoa.h in Headers */, + F855630677F901745E5BF32578F7FC52 /* RxCocoaRuntime.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 49E47E8FB0395F70E77651B02346BF41 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; @@ -1423,19 +1516,14 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 515CC0B658FC2F28D886B75DF18D212D /* Headers */ = { + 5EE74910928CE4785DF6F003A1D4FF1C /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - F2853E97BDDC82B8F91AE2954D27F775 /* RxSwift-umbrella.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 532B704827707EAEFF5F8967E662D4F7 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 2C16189485F3647493E5E74E8C629E54 /* Pods-ShadowsocksX-NG-umbrella.h in Headers */, + 6E7FC681B86F2C29AE1E263838BF33AD /* PingManager.h in Headers */, + 46CC11334B9096D86E249C3D99176B4F /* PingUtil.h in Headers */, + 146E8A26206DD2A82712EF825EEB11AC /* SimplePing.h in Headers */, + A79BFFB18D36B5C3B98160D3B46036E4 /* XYPingUtil-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1482,20 +1570,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 8D0544708D493A52C828804099AE01DC /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 86F7FE179A98E2787500CA0DD68F2574 /* _RX.h in Headers */, - DF2762B53F71DBC62F8CE6D5A89E7461 /* _RXDelegateProxy.h in Headers */, - FF647F4502B0AE29095FA14A256612EE /* _RXKVOObserver.h in Headers */, - 6D1B82733CCD35C7B720D8B306969DB2 /* _RXObjCRuntime.h in Headers */, - DB94D782C6F193FB6F56D52926F2A84B /* RxCocoa-umbrella.h in Headers */, - 9A551C74F80912EFDFC942535ECA28BE /* RxCocoa.h in Headers */, - 08067F41CEECB56CE74FFCA481092E8D /* RxCocoaRuntime.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; B4002B6E97835FDCCAA5963EFE09A3E0 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; @@ -1512,6 +1586,14 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + F9B86C61BE49D815610759351DD08491 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 38E1C586DFAE6FE4AEC184142A258A8A /* RxSwift-umbrella.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ @@ -1531,7 +1613,7 @@ ); name = MASShortcut; productName = MASShortcut; - productReference = 9B6ACACC69C2EA2681770741535F1D69 /* MASShortcut.framework */; + productReference = DFF58F59D716833382F5787727253A7B /* MASShortcut.framework */; productType = "com.apple.product-type.framework"; }; 05800FAF969AA3CD7F8AEB1C36988B53 /* Pods-proxy_conf_helper */ = { @@ -1548,7 +1630,7 @@ ); name = "Pods-proxy_conf_helper"; productName = "Pods-proxy_conf_helper"; - productReference = E0CF346DBA2C8BDB54C4D65E01BE83B4 /* libPods-proxy_conf_helper.a */; + productReference = 31CE4D891CDDFCEC4F83A4992C0BF415 /* libPods-proxy_conf_helper.a */; productType = "com.apple.product-type.library.static"; }; 339CC546E4A1696296EFEDC2FA79ADE0 /* Pods-ShadowsocksX-NGTests */ = { @@ -1565,7 +1647,7 @@ ); name = "Pods-ShadowsocksX-NGTests"; productName = "Pods-ShadowsocksX-NGTests"; - productReference = D0531FFA0D5305257F668D1D12A1411F /* Pods_ShadowsocksX_NGTests.framework */; + productReference = 13C2265190B5836A507B56C85A593DEA /* Pods_ShadowsocksX_NGTests.framework */; productType = "com.apple.product-type.framework"; }; 3CB2B8006B2B1ACAF9ADCA1DC82E2290 /* BRLOptionParser */ = { @@ -1582,25 +1664,24 @@ ); name = BRLOptionParser; productName = BRLOptionParser; - productReference = C760BAF596F45988BF95E5D3C10BA670 /* libBRLOptionParser.a */; + productReference = C75508DD8AECC870156A258F90016E46 /* libBRLOptionParser.a */; productType = "com.apple.product-type.library.static"; }; - 50DA2BB85DEBA27DDBB9E2D53E8E2A1A /* RxCocoa */ = { + 5425B8CFFAAD7D4B848A7675E261BBE1 /* XYPingUtil */ = { isa = PBXNativeTarget; - buildConfigurationList = D913F5C08F647E9FCC34C3A5B3030BD5 /* Build configuration list for PBXNativeTarget "RxCocoa" */; + buildConfigurationList = 3295726720309EF4B38B3D5B87870957 /* Build configuration list for PBXNativeTarget "XYPingUtil" */; buildPhases = ( - E4683809F6E2E0E13A1DA3716D22762E /* Sources */, - AC6EF4DCF3427EDD23A06A9ACE60D1CB /* Frameworks */, - 8D0544708D493A52C828804099AE01DC /* Headers */, + 43768B3954142C5D7750F6ECC8C3208A /* Sources */, + 1AA8949546F4F2E014E707C7858D1F71 /* Frameworks */, + 5EE74910928CE4785DF6F003A1D4FF1C /* Headers */, ); buildRules = ( ); dependencies = ( - 3AB65F40E1512A92325180D6E33602FE /* PBXTargetDependency */, ); - name = RxCocoa; - productName = RxCocoa; - productReference = B0FC490145F0D2AD9B833C41F78CA818 /* RxCocoa.framework */; + name = XYPingUtil; + productName = XYPingUtil; + productReference = 1B15CE07A3DBA519DFE04CED5766DF7C /* XYPingUtil.framework */; productType = "com.apple.product-type.framework"; }; 5B8B0ED1046111D92895FC95F12DBC10 /* GCDWebServer */ = { @@ -1617,29 +1698,48 @@ ); name = GCDWebServer; productName = GCDWebServer; - productReference = 7B63AB91C9378BEF83982ADCC82E9770 /* GCDWebServer.framework */; + productReference = 4A6CF1626AB2F910B11A9F99BD40422B /* GCDWebServer.framework */; productType = "com.apple.product-type.framework"; }; - 88D587684BF4E7ECC675C83B7E824D75 /* Pods-ShadowsocksX-NG */ = { + 6932E79AD45EC8E5F4DE4B739F2F5301 /* RxCocoa */ = { isa = PBXNativeTarget; - buildConfigurationList = E185892330EBDCF4E8B37928210771A9 /* Build configuration list for PBXNativeTarget "Pods-ShadowsocksX-NG" */; + buildConfigurationList = 68A1E6DC60C085C6E4207BD623630211 /* Build configuration list for PBXNativeTarget "RxCocoa" */; buildPhases = ( - 904AEEA871CD0088ACE9F674EED25700 /* Sources */, - 4F131864F47901DC9547FC3861CAA756 /* Frameworks */, - 532B704827707EAEFF5F8967E662D4F7 /* Headers */, + 9118B022F0967EC252F875F202103265 /* Sources */, + E44B28DEC1A5E8BBF4B99B3F2CEF0C18 /* Frameworks */, + 14B280B25B13E4A967BE1B1187A20BC7 /* Headers */, ); buildRules = ( ); dependencies = ( - 333E7BAB0E0DB09E26646BD8E93FFDCE /* PBXTargetDependency */, - 3E1EF8FCF446C8D86D778D5D1ABFA9CD /* PBXTargetDependency */, - 895CE87A9D309D30CEFBF51BA07CDBEA /* PBXTargetDependency */, - C65B838B24FDE9D70E5E870D8780B5EB /* PBXTargetDependency */, - D9D65FB37163F6C00197A5C036F871E6 /* PBXTargetDependency */, + 4102B0DD918134608065100259589469 /* PBXTargetDependency */, + ); + name = RxCocoa; + productName = RxCocoa; + productReference = 325E00D876E1A0E299D37CE65FDB0DE5 /* RxCocoa.framework */; + productType = "com.apple.product-type.framework"; + }; + 6B17ACFFA1106579057E7579BD0864D9 /* Pods-ShadowsocksX-NG */ = { + isa = PBXNativeTarget; + buildConfigurationList = E62222B61754001641FEEB5265C47800 /* Build configuration list for PBXNativeTarget "Pods-ShadowsocksX-NG" */; + buildPhases = ( + 855AFCC42057C2373661C8E13D0661FB /* Sources */, + 6443CD8A013D609DDEF5F3EDC5E0440D /* Frameworks */, + 148BB9718289036380AAFF9DC25D7B36 /* Headers */, + ); + buildRules = ( + ); + dependencies = ( + E61DB995CF5694210585B2EA04D7CA42 /* PBXTargetDependency */, + E7BF9C0BAFCF0988A90720B68B809BF9 /* PBXTargetDependency */, + A1568DB7854338CDE3F1A53F15030C84 /* PBXTargetDependency */, + D892B4EE16A18355B1E10B09A72B5D97 /* PBXTargetDependency */, + 321DEE4C9C5CB62E660554A07A9B1B0E /* PBXTargetDependency */, + B12B615BA0A606B7FAF63523BD971E25 /* PBXTargetDependency */, ); name = "Pods-ShadowsocksX-NG"; productName = "Pods-ShadowsocksX-NG"; - productReference = BF541EB164C2E45EC80ADBE338F2D325 /* Pods_ShadowsocksX_NG.framework */; + productReference = 03E3456EFEE530A9893F05C197129802 /* Pods_ShadowsocksX_NG.framework */; productType = "com.apple.product-type.framework"; }; 88E9EC28B8B46C3631E6B242B50F4442 /* Alamofire */ = { @@ -1656,24 +1756,7 @@ ); name = Alamofire; productName = Alamofire; - productReference = FBAF339F33C80576683D76394CA51047 /* Alamofire.framework */; - productType = "com.apple.product-type.framework"; - }; - 9759FFB1455B05FE96A5765890590110 /* RxSwift */ = { - isa = PBXNativeTarget; - buildConfigurationList = C3C04E339BA1928DBC29CEFD07DC6ADF /* Build configuration list for PBXNativeTarget "RxSwift" */; - buildPhases = ( - 2BF821D2760C912E8AB21AE0059F2E19 /* Sources */, - 656F921478BE483858A20165B6945F4A /* Frameworks */, - 515CC0B658FC2F28D886B75DF18D212D /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = RxSwift; - productName = RxSwift; - productReference = E15756B54614ACA75251861D700E1946 /* RxSwift.framework */; + productReference = A279F8FAB8DF84139AA62A3AEE39EB38 /* Alamofire.framework */; productType = "com.apple.product-type.framework"; }; D6E5ED8DAF7CA937C8F68F342C48B26E /* MASShortcut-MASShortcut */ = { @@ -1690,17 +1773,34 @@ ); name = "MASShortcut-MASShortcut"; productName = "MASShortcut-MASShortcut"; - productReference = 288F0992DFCC5E6027AA31FD385C34D6 /* MASShortcut.bundle */; + productReference = A8A0A3D0716F080419F265C10AADD4A7 /* MASShortcut.bundle */; productType = "com.apple.product-type.bundle"; }; + DC6681CBBC287D4FE7DCFAF4A86EAF69 /* RxSwift */ = { + isa = PBXNativeTarget; + buildConfigurationList = FEDBDCE7F9AD6032519F0629074D8721 /* Build configuration list for PBXNativeTarget "RxSwift" */; + buildPhases = ( + A1118A50CE4BD6952E1D904483070FB7 /* Sources */, + 5B295BD96B60FD6619422C9528D2BFED /* Frameworks */, + F9B86C61BE49D815610759351DD08491 /* Headers */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = RxSwift; + productName = RxSwift; + productReference = B8E3BA0D34EA17145B91113248942537 /* RxSwift.framework */; + productType = "com.apple.product-type.framework"; + }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ D41D8CD98F00B204E9800998ECF8427E /* Project object */ = { isa = PBXProject; attributes = { - LastSwiftUpdateCheck = 0730; - LastUpgradeCheck = 0900; + LastSwiftUpdateCheck = 0830; + LastUpgradeCheck = 0700; }; buildConfigurationList = 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */; compatibilityVersion = "Xcode 3.2"; @@ -1710,7 +1810,7 @@ en, ); mainGroup = 7DB346D0F39D3F0E887471402A8071AB; - productRefGroup = AEB9320F726BCC1999DC9E6198BA9F1C /* Products */; + productRefGroup = E1C90AEDF7154C74EE643D0736078CA4 /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( @@ -1720,10 +1820,11 @@ 00C94ED0B49A44FBF0C4E2F6C875CFFC /* MASShortcut */, D6E5ED8DAF7CA937C8F68F342C48B26E /* MASShortcut-MASShortcut */, 05800FAF969AA3CD7F8AEB1C36988B53 /* Pods-proxy_conf_helper */, - 88D587684BF4E7ECC675C83B7E824D75 /* Pods-ShadowsocksX-NG */, + 6B17ACFFA1106579057E7579BD0864D9 /* Pods-ShadowsocksX-NG */, 339CC546E4A1696296EFEDC2FA79ADE0 /* Pods-ShadowsocksX-NGTests */, - 50DA2BB85DEBA27DDBB9E2D53E8E2A1A /* RxCocoa */, - 9759FFB1455B05FE96A5765890590110 /* RxSwift */, + 6932E79AD45EC8E5F4DE4B739F2F5301 /* RxCocoa */, + DC6681CBBC287D4FE7DCFAF4A86EAF69 /* RxSwift */, + 5425B8CFFAAD7D4B848A7675E261BBE1 /* XYPingUtil */, ); }; /* End PBXProject section */ @@ -1753,7 +1854,7 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - F8815ECB42FCF09BBC99D3730DFD577C /* MASShortcut.bundle in Resources */, + 4818C1BB29E7C2BF255D9941737665EA /* MASShortcut.bundle in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1786,169 +1887,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 2BF821D2760C912E8AB21AE0059F2E19 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 47C776FC4A5D9C0FE6E5541509E2B06E /* AddRef.swift in Sources */, - D14AF917AAA665B36A071D4272716548 /* Amb.swift in Sources */, - 8087E705CC00CA7C021AF6601E343C7B /* AnonymousDisposable.swift in Sources */, - FB241DBEEFCA95FE872EF4CD6623157A /* AnonymousInvocable.swift in Sources */, - A9EA920651EC47BDE57A5BAAD44EF55B /* AnonymousObservable.swift in Sources */, - ED97B464615625E0F41D4CFE8321AF1B /* AnonymousObserver.swift in Sources */, - AFA4B1D93CB3D6DC0AA571F54239C102 /* AnyObserver.swift in Sources */, - 08DB8704904133A00B55601FAD0A012F /* AsMaybe.swift in Sources */, - CECC009E42390657E216EAC1EDC6274C /* AsSingle.swift in Sources */, - AF816ABCF197AAB5DA7362510CBC36AF /* AsyncLock.swift in Sources */, - CAAA66DC11EF7A8AFC3F9E08689BE08A /* AsyncSubject.swift in Sources */, - F3C83071EFA9A3A1CEFD3DD9817AC887 /* Bag+Rx.swift in Sources */, - D32273245E8606A37F7600158C272C01 /* Bag.swift in Sources */, - 77CFCF08FC8EA9F7758207854CED1E55 /* BehaviorSubject.swift in Sources */, - 358C6A1EF83AAD32B9453D2A9E6D6AA1 /* BinaryDisposable.swift in Sources */, - 5D8999DD4665B8E0F332EEC6B75CD6CF /* BooleanDisposable.swift in Sources */, - 3330B1E49DA9623EA683C8808CCDAF2F /* Buffer.swift in Sources */, - 8E48DA9023ED9B9E18414F2827949056 /* Cancelable.swift in Sources */, - F46CAF4542DF0C7D5C7B62CB1AABD54B /* Catch.swift in Sources */, - 59FAD0BBD4C663C17F44B59EFCA2A982 /* CombineLatest+arity.swift in Sources */, - A0C03D1525E6CED9442AE65F080B12E2 /* CombineLatest+Collection.swift in Sources */, - 6E8DF9E210380F39D45784980A71822F /* CombineLatest.swift in Sources */, - 380776E07A38623224A8D296024B2C9F /* CompositeDisposable.swift in Sources */, - 8CBA48409C86D95E6C4ABF3B26B8D0B8 /* Concat.swift in Sources */, - 42B796D37251F4BCF59ADC3C56B0C05C /* ConcurrentDispatchQueueScheduler.swift in Sources */, - 9F5E6138A3FE1726687C407708C71B4F /* ConcurrentMainScheduler.swift in Sources */, - 9794085A02FC87CF773A9EFB60C40F78 /* ConnectableObservable.swift in Sources */, - CAA6C816B24605177BB40AA731710460 /* ConnectableObservableType.swift in Sources */, - 9BE2B48A0DE5CE3C3B4EAF39DA85A876 /* CurrentThreadScheduler.swift in Sources */, - 6D1A95ED4B8C56039BEA5CB0242D1B29 /* Debounce.swift in Sources */, - 1C7F09EA3B480077170395B01076A2CF /* Debug.swift in Sources */, - 1FBC620BCD08041C114EEC0A11DDF69D /* DefaultIfEmpty.swift in Sources */, - 0990CFB289EC7E60955ACCF0DE727364 /* Deferred.swift in Sources */, - F4D944E38AA9EEB0850C85C303E8E3C2 /* Delay.swift in Sources */, - 83EF434424E7664543A3087F24738083 /* DelaySubscription.swift in Sources */, - 7F04E0567A70E986129DD6C9E2B467F1 /* Deprecated.swift in Sources */, - A2215749D44CF8D1C3F40EBF3FDE3DBD /* DispatchQueue+Extensions.swift in Sources */, - 6A46A6E9EC3D5EBE6868B267874C7F75 /* DispatchQueueConfiguration.swift in Sources */, - 677791FD8851F4D960BD70AE613BBA14 /* Disposable.swift in Sources */, - EBC1F84329AD2225017D47F63D55CA77 /* Disposables.swift in Sources */, - C6696D7D4F90372F47C224F1687AB5D0 /* DisposeBag.swift in Sources */, - 5E74113E3B8562A64DB64EF45BCA52C9 /* DisposeBase.swift in Sources */, - 9BDE5D29C68F5622298CA4A54A2BCDD0 /* DistinctUntilChanged.swift in Sources */, - BC1C0A9BB7F0E803C621E106D2DD292B /* Do.swift in Sources */, - 03F3C06659D9C05E49701C68B2F368DB /* ElementAt.swift in Sources */, - 78EBCD44C7BC4E2AB3ED660E9CAECFBB /* Empty.swift in Sources */, - C8FF11576430A8FC899515C128F80A67 /* Error.swift in Sources */, - 1AC61C1EA2DF1703163518C3858684FC /* Errors.swift in Sources */, - 3F5958F756DADBE2D0850A0F17186CCE /* Event.swift in Sources */, - 2AF6E7F79209F1F5EC7E2928FBEABC64 /* Filter.swift in Sources */, - B6E8854A928CDD5A03A136A92BAFFDC6 /* Generate.swift in Sources */, - 2247209AAAE299B2C89F2CFC75D3490D /* GroupBy.swift in Sources */, - DF4F1845181D496D965AD3FFD6366CCE /* GroupedObservable.swift in Sources */, - D6315D7F0CC2C411BEC2097E2BEA7242 /* HistoricalScheduler.swift in Sources */, - 1B5CEAC4BA4628D84ED636748404D3E3 /* HistoricalSchedulerTimeConverter.swift in Sources */, - F0CA204303CD1FDCC9AE08D89B231BA8 /* ImmediateScheduler.swift in Sources */, - 0C963577F459E5A7F345D0FBD58E0A67 /* ImmediateSchedulerType.swift in Sources */, - 095B15AD34057F9AF7AF7DC0CD7CC6E5 /* InfiniteSequence.swift in Sources */, - FF4F2998C2F400957C309F52B81C8F25 /* InvocableScheduledItem.swift in Sources */, - A802DC058B09432DF8F56F89406CF4F3 /* InvocableType.swift in Sources */, - 569E360D93A0FCB66F506D87E9BA7759 /* Just.swift in Sources */, - 71AF173C50F15DA473F398350C6A5FED /* Lock.swift in Sources */, - 3DD39CA7E6E7BDADC4A4126FC3310FAC /* LockOwnerType.swift in Sources */, - BED10B12B35FCD3CA735FE8A3B65774A /* MainScheduler.swift in Sources */, - 6DEC6398861E6DCBB4D67813B1E75036 /* Map.swift in Sources */, - 8B192520AA37984CAF1D2D760A62307E /* Merge.swift in Sources */, - 951C065E37A9ED6736A9697B231AC365 /* Multicast.swift in Sources */, - 5EA93C9BD770ADB728BD2CFE4FF44DC7 /* Never.swift in Sources */, - 5377A1F2185BF5247D6BC1CE35827700 /* NopDisposable.swift in Sources */, - FF6798A03CC53C99950B31DE10942B90 /* Observable+Aggregate.swift in Sources */, - 99662A21FAA5C025E034AAA5428E8D63 /* Observable+Binding.swift in Sources */, - 42EBF5069D107883B2BAFC32E539345A /* Observable+Concurrency.swift in Sources */, - 8BAF2E7597F1559A99FFB9C4DBDD9279 /* Observable+Creation.swift in Sources */, - 5AA7F01B9354C3DD1AB37F4AE65A5F4E /* Observable+Debug.swift in Sources */, - 5207EF225F11ACDE1EBB58D61DB61014 /* Observable+Multiple.swift in Sources */, - AE2B4C3519BCF47ED52108E615A778DE /* Observable+Single.swift in Sources */, - 0A018C2159E3422F73CC243BE77CB879 /* Observable+StandardSequenceOperators.swift in Sources */, - 57BC884F6BD181585A0B6F7719A49E2B /* Observable+Time.swift in Sources */, - 7D6E4A9CA431CA9D7BAF04817FB59C61 /* Observable.swift in Sources */, - 889A7A900C61A4B93329387833E2C65B /* ObservableConvertibleType.swift in Sources */, - 7E0C22AADD7C94FAED4BA3FA5802EA11 /* ObservableType+Extensions.swift in Sources */, - 5209FF4069635478A47FC5F929C25812 /* ObservableType.swift in Sources */, - A41241F5F212D2959EE88A02DA4B8006 /* ObserveOn.swift in Sources */, - 7FF7CAC8360011983D8A150A70ECAB6B /* ObserveOnSerialDispatchQueue.swift in Sources */, - 0C59FF6E931F35DE452E544B4E9366E3 /* ObserverBase.swift in Sources */, - 4FF29AE3D6A968F4167A336AC81D6E0D /* ObserverType.swift in Sources */, - 2519514CB62A290340D6D2B43ECC1459 /* OperationQueueScheduler.swift in Sources */, - 84A730F255D8C54A7F8A020CAC048A5A /* Optional.swift in Sources */, - 7FB525438AD4F2FB899B71CE0FC1A059 /* Platform.Darwin.swift in Sources */, - 85A2F7602621DE3FBE64FE43DE060EA7 /* Platform.Linux.swift in Sources */, - 494C1BDAACA36787EE7312E98F2984CA /* PrimitiveSequence+Zip+arity.swift in Sources */, - 46507181FD708FCB8B9066F54D38F9D2 /* PrimitiveSequence.swift in Sources */, - 11C0C606C5CDBA15C8F0E1C06BEE3799 /* PriorityQueue.swift in Sources */, - F68A07679A05EFEF9BFDED2B37886513 /* Producer.swift in Sources */, - AB8322F9B396436A004AAEBD01BF3015 /* PublishSubject.swift in Sources */, - 7F56F52F0503DF86BAFA5E0245643804 /* Queue.swift in Sources */, - EFBF1BDB8CD460EA4A9610EF91C54928 /* Range.swift in Sources */, - 9EACF2968862DF9219BBE32011842CDF /* Reactive.swift in Sources */, - E442EEDE70730AB746DADBB7B509B070 /* RecursiveLock.swift in Sources */, - 1BE8F717FDCFA2CC8DC9318624D80952 /* RecursiveScheduler.swift in Sources */, - 03AEC3CDFC3EAC2C0366631AA17F0021 /* Reduce.swift in Sources */, - 54D22FC915545C2DBECC569A2763FA93 /* RefCount.swift in Sources */, - A8F15851A3BDF0B2474224E5776281DA /* RefCountDisposable.swift in Sources */, - 852BFFEC5A19EC92A4A72C7072E11224 /* Repeat.swift in Sources */, - 4105ADAD2C51D3E4230C170EA0EC6C5B /* ReplaySubject.swift in Sources */, - 4B69C82E603D53AC00B7733414B831A9 /* RetryWhen.swift in Sources */, - CC5DF94AD0EDC78D929C06C6E2AC1E95 /* Rx.swift in Sources */, - 0B02531D97A04A562AD8FEFE3075E528 /* RxMutableBox.swift in Sources */, - 576C8796EAC4084B6F49BFC5C839E9D1 /* RxSwift-dummy.m in Sources */, - 6CEB47895E9B0D9170C31591412A7490 /* Sample.swift in Sources */, - F8FDBDB785D58B00E3DD49EFD58CFA34 /* Scan.swift in Sources */, - 8EA651DF52CCAF3C7F7F8DFE3EBA4130 /* ScheduledDisposable.swift in Sources */, - 4BB5255894FF4DC65E495662590280B3 /* ScheduledItem.swift in Sources */, - F7DCEFB4AC63035A92A1A1361DAC5D12 /* ScheduledItemType.swift in Sources */, - B442B2E0FBC57B32C68E7F970A890863 /* SchedulerServices+Emulation.swift in Sources */, - 8F3401FDD9D855007B24BE4AB7C0FC04 /* SchedulerType.swift in Sources */, - 81B5B2FE5823C56C6B5E712BF392F1B4 /* Sequence.swift in Sources */, - 2C2579538078FA3F4F5945718C44ACB4 /* SerialDispatchQueueScheduler.swift in Sources */, - ED3B6D9F5F3F89371B6425AB21A42BD5 /* SerialDisposable.swift in Sources */, - 2B60F28247A564FD61AF32BB988582DD /* ShareReplay1.swift in Sources */, - 7743CB22A5AE8379D41C0BDA7FA85470 /* ShareReplay1WhileConnected.swift in Sources */, - 59CF390612B666999922B2F9B6032D43 /* SingleAssignmentDisposable.swift in Sources */, - 0EF1FE250F2BFFABD61D2918C76E2916 /* SingleAsync.swift in Sources */, - 29D6BFCA8351A8E55B3A9B9FBBBB316D /* Sink.swift in Sources */, - 338E1BFAB40B2106D7B32979145BBBF3 /* Skip.swift in Sources */, - 977E457DD1A321217C8A9CA0B1AC8C61 /* SkipUntil.swift in Sources */, - 69BDA19A850913A07F745502A2943BDA /* SkipWhile.swift in Sources */, - C7A9B35BE31DF4C7DE1082BB94D1E8F2 /* StartWith.swift in Sources */, - DCEB10616CAFEFE12B6D4F6A7DDBBFD4 /* String+Rx.swift in Sources */, - 6CE32532AE4F14383FC5987D2EFC594B /* SubjectType.swift in Sources */, - E4BC2475373C69F1F805A462F1CA469D /* SubscribeOn.swift in Sources */, - FE567BBF31C04A25708225C9DD0B3B3F /* SubscriptionDisposable.swift in Sources */, - 68EFC793F03DFFF389E88AA969A8BB70 /* Switch.swift in Sources */, - 2C75CE551E9FD25187BC830078E6DD59 /* SwitchIfEmpty.swift in Sources */, - 4193C34CAA37C733D8231452EBBE0A46 /* SynchronizedDisposeType.swift in Sources */, - D9ACDAE812F7F132507CBD9D783613D6 /* SynchronizedOnType.swift in Sources */, - 7F3021ED7A62270BBCA3F9A4C13285EA /* SynchronizedSubscribeType.swift in Sources */, - 96719B2401B89179B97BE8828702C730 /* SynchronizedUnsubscribeType.swift in Sources */, - 64E8CC7D517563FA0FE904F5917FE2E1 /* TailRecursiveSink.swift in Sources */, - 106520C21CE01A94879410E99DD37F47 /* Take.swift in Sources */, - ED270C801E50A979CD21211BD2685550 /* TakeLast.swift in Sources */, - 4DD7E070B3A0D803370EE6CCA28CCA63 /* TakeUntil.swift in Sources */, - AC5D1A3CC7602A05322EF0B0B7BF8B85 /* TakeWhile.swift in Sources */, - E88ABB06791F804707EA13EFF1BB714F /* Throttle.swift in Sources */, - 63B5A98D9EF3325EEF1F93ACFAB7DC39 /* Timeout.swift in Sources */, - 92805E4E337491904604FE86909924FA /* Timer.swift in Sources */, - 184571546F643ABB4ADDC1DAAB6FBE78 /* ToArray.swift in Sources */, - 1B4686F080E5DB31E0FDEC12AD725B0B /* Using.swift in Sources */, - 8C8CC54FC0B2BC4ACE282AD7EDE2CB6D /* Variable.swift in Sources */, - 3FA20C251DB09C90B6E357ED89B534D7 /* VirtualTimeConverterType.swift in Sources */, - BA6C45B6BC8AED9DCFC82D7CF7A8A929 /* VirtualTimeScheduler.swift in Sources */, - 12C4D8F003A5CAEC8FA3C7D03A4A1484 /* Window.swift in Sources */, - 1B3A98673592E3650381A338F20CA81A /* WithLatestFrom.swift in Sources */, - A2871C692E9B86522F46AA4100144621 /* Zip+arity.swift in Sources */, - C171A65415727D094B9AF634E1D172A8 /* Zip+Collection.swift in Sources */, - E63AC9803426E8646E59772DBED7864E /* Zip.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; 32B9974868188C4803318E36329C87FE /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -1974,6 +1912,17 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 43768B3954142C5D7750F6ECC8C3208A /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + EF62C439CDB49B2025E1129DABE0E3E7 /* PingManager.m in Sources */, + E030981E149A688448E7F1D0965D270A /* PingUtil.m in Sources */, + D8EE7C6DED759032DB7729FB0EDC4F2C /* SimplePing.m in Sources */, + 72771B5B5BC439EF3F21D1EB3B0A566C /* XYPingUtil-dummy.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 81F40976E91E102E115D6BE30CCC18E9 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -1995,11 +1944,233 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 904AEEA871CD0088ACE9F674EED25700 /* Sources */ = { + 855AFCC42057C2373661C8E13D0661FB /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - EBEFF85070E25F0A581B7BA1E08138AC /* Pods-ShadowsocksX-NG-dummy.m in Sources */, + C4D027251723DF3C3C7AC299DFAC5804 /* Pods-ShadowsocksX-NG-dummy.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 9118B022F0967EC252F875F202103265 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 891F9C8AA1F6A62016BEB276B2384596 /* _RX.m in Sources */, + C57E93AF1EBECB80C94BA9382ABCA118 /* _RXDelegateProxy.m in Sources */, + EC2C7A72191005606415EAC996F8EE79 /* _RXKVOObserver.m in Sources */, + 794E58C182C9FA6974A69B41E81515DE /* _RXObjCRuntime.m in Sources */, + 29EF97DBF618D3C086D1BC516E1263AE /* Bag.swift in Sources */, + 79625A4CE4AE36636F930EBBCDD2954F /* ControlEvent+Driver.swift in Sources */, + 228DD29ECAD11BE65872ECD29BF1A25D /* ControlEvent.swift in Sources */, + 1E2F21AEEF1E1B03EA741DDBA644D0DE /* ControlProperty+Driver.swift in Sources */, + 50FB485D65543696C6533784C5C73C0E /* ControlProperty.swift in Sources */, + 41826BEFDB497FE15CD2A5BE8FCBCEBF /* ControlTarget.swift in Sources */, + 3BBEA6ECB2BDD5C142B27FBC119CB592 /* DelegateProxy.swift in Sources */, + 3E0DBF5FA0FA6FA05D39A1278AC8EBE4 /* DelegateProxyType.swift in Sources */, + D35E06F608850DB190F07D37608B6A18 /* DispatchQueue+Extensions.swift in Sources */, + 34F323310C01C832E9B33501A1E67D6C /* Driver+Subscription.swift in Sources */, + 457C330AB459C778CF438436BFEC6ADC /* Driver.swift in Sources */, + 4ED7E0534E6B997446FEC52CF8BB36F3 /* InfiniteSequence.swift in Sources */, + 52A961E1778F8815140E0100496FA737 /* KVORepresentable+CoreGraphics.swift in Sources */, + B88A2D8B4A4C8293507154A1F8C77789 /* KVORepresentable+Swift.swift in Sources */, + 0A79258D536781E0ED86896A287E8FBC /* KVORepresentable.swift in Sources */, + 2063639BC088FCB8DA8ABB3F19FE3ED9 /* Logging.swift in Sources */, + 6784CE40B3F108925E837764E2DA14AD /* NotificationCenter+Rx.swift in Sources */, + 8025DDDD86DFF50136621E8CD0EFF49F /* NSButton+Rx.swift in Sources */, + 3BE9C85B9E63D2B0F62FFAB155818FD0 /* NSControl+Rx.swift in Sources */, + E2AF44B2F2F0BFC51D8E135E643F06F8 /* NSImageView+Rx.swift in Sources */, + 3CBED5F76AF5EBF439C788188CB413F4 /* NSLayoutConstraint+Rx.swift in Sources */, + 34D45081AE5854C510060D3213EC54FC /* NSObject+Rx+KVORepresentable.swift in Sources */, + 8BBDA02E9EA5371C8775343B5A3D3F62 /* NSObject+Rx+RawRepresentable.swift in Sources */, + 09D5E6CA952BF86344C3D3AEBA67C717 /* NSObject+Rx.swift in Sources */, + 35067D15322894181C213B15742EF0ED /* NSSlider+Rx.swift in Sources */, + 8C49B4E397E993F44D9CDF82C869DB11 /* NSTextField+Rx.swift in Sources */, + B382BDA887412B9C2317D0C7D97375FC /* NSView+Rx.swift in Sources */, + 6602426F34CB177621F50A1521FD40EE /* Observable+Bind.swift in Sources */, + F6B83E0628196D28D4AC0E13FCD2881A /* ObservableConvertibleType+Driver.swift in Sources */, + 935300A0813D5EE7304234859ABBF34A /* ObservableConvertibleType+SharedSequence.swift in Sources */, + 50B407D5FCD4526ABE4DAE67F766410A /* Platform.Darwin.swift in Sources */, + 7E57E94DA036D065CCDDE3838A430803 /* Platform.Linux.swift in Sources */, + 1C4468F6110A0BF15D943DEB75E05456 /* PriorityQueue.swift in Sources */, + 400E90601302DBBBB9A0C1238CFB378C /* Queue.swift in Sources */, + 36007A4DE5D5AD3FBDFF1BB65670AC90 /* RecursiveLock.swift in Sources */, + AF3DDA9D688360179E81FCDA8016572C /* RxCocoa-dummy.m in Sources */, + 3B0444A4F038DD378185F890F477B06E /* RxCocoa.swift in Sources */, + BEB4BC2C98989EBAA255F98DCA2BEAF8 /* RxCocoaObjCRuntimeError+Extensions.swift in Sources */, + 00BC651843DF8E2EE2D10269168ADC2E /* RxTarget.swift in Sources */, + 4E1956EF3CF509B3EAE80C4438FDD18F /* SectionedViewDataSourceType.swift in Sources */, + AD0B5013398A53541DE6FE2A82FDF2FD /* SharedSequence+Operators+arity.swift in Sources */, + 0A0EF3A90FEBB5A097AEE93864A7EB96 /* SharedSequence+Operators.swift in Sources */, + CF2564A6A0EA656DAA2AEA09FEF0993D /* SharedSequence.swift in Sources */, + F9C135FBA5C748195689841C914E2ED8 /* TextInput.swift in Sources */, + 0E09BF58B70FC62107C157DF892331A7 /* UIBindingObserver.swift in Sources */, + F2F7E34815F19605884CB9AB6C71C57A /* URLSession+Rx.swift in Sources */, + 6F499FF6C2CB9C2D19F990B73BDD758C /* Variable+Driver.swift in Sources */, + 071F3B3F0ABA56A7EE9F753051344630 /* Variable+SharedSequence.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + A1118A50CE4BD6952E1D904483070FB7 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 09DC4D970FD92A3E9D954D9C4E65DBDF /* AddRef.swift in Sources */, + 50C8C8E4F72460010439E54ECE7108D3 /* Amb.swift in Sources */, + 546CF011930D11BBF190A58B52BCA7C4 /* AnonymousDisposable.swift in Sources */, + 329499C76B9B50E41F81D8811F286751 /* AnonymousInvocable.swift in Sources */, + 428F1C1E2760D29B6D913561B3A411BF /* AnonymousObservable.swift in Sources */, + 1CD5A67C47F7B743BE6D345C5A03157E /* AnonymousObserver.swift in Sources */, + 480440D429395DDA6D3743627383EEF5 /* AnyObserver.swift in Sources */, + 9700F9841DC79916857426578B72C7DC /* AsMaybe.swift in Sources */, + EE4FA9EE72F9E9F31BFD9B1E565E056F /* AsSingle.swift in Sources */, + F5015B4F457CDFFF62367F8469BE5DBE /* AsyncLock.swift in Sources */, + 4A0AB68C051A5D12CF763C5314F3139E /* AsyncSubject.swift in Sources */, + F112959E72E4CAF6D39C9325340E7A83 /* Bag+Rx.swift in Sources */, + 7B2D47B24C516306105A0B71DADE0E9A /* Bag.swift in Sources */, + E09FCF5A9F225ECBCA900A97FBC402D1 /* BehaviorSubject.swift in Sources */, + 765937186C18E032C3E7ADA8AB15D8E4 /* BinaryDisposable.swift in Sources */, + 0B389FA8703AC6A3CB29F0EC5DAC0110 /* BooleanDisposable.swift in Sources */, + EA3D463E1136BF68BA7BB760073B5744 /* Buffer.swift in Sources */, + 8C50E5BB7107788841E6E71039C8932A /* Cancelable.swift in Sources */, + 1F74CCFE495942AE0A8CB44AA4E3B230 /* Catch.swift in Sources */, + B12D46ADF0FD32C4737954A56E8731B5 /* CombineLatest+arity.swift in Sources */, + 4541C2177A5383985349E0A51FCE225E /* CombineLatest+Collection.swift in Sources */, + 800D3C6760439199F642FFD8A72F636C /* CombineLatest.swift in Sources */, + C196A0B9EDC9527EFF935E995BEDE9D1 /* CompositeDisposable.swift in Sources */, + 45E9E2F38B985EF6FA9EF159C2FBB34C /* Concat.swift in Sources */, + 98C28BB352EEDD363122F244CC934BFA /* ConcurrentDispatchQueueScheduler.swift in Sources */, + EDB362AE33EAB03B860CA408925B4CC7 /* ConcurrentMainScheduler.swift in Sources */, + AC454128B30D6C4B999A745E27EBECCD /* ConnectableObservable.swift in Sources */, + 493E24A302918E1415A8BF5D6631E4D1 /* ConnectableObservableType.swift in Sources */, + 8ACB79AA505AD2974A625DF1AFCCC8CD /* CurrentThreadScheduler.swift in Sources */, + 7B8A5703BEE2D9BD213396C962FC1804 /* Debounce.swift in Sources */, + 289B997EFA17F4E3F5D838CF7E9E3A0E /* Debug.swift in Sources */, + 62D51BDD5CDBAE0F3C2B0AC9CAE16822 /* DefaultIfEmpty.swift in Sources */, + E26DECEB32D5A28E4138D107F7DDC802 /* Deferred.swift in Sources */, + 2B72966511DBAAA91DBBADE59A2FC39B /* Delay.swift in Sources */, + 77866A2A0A426A7DE33401EAFC92EA51 /* DelaySubscription.swift in Sources */, + D3CCC06C927380145B6DED3E01FDB190 /* Deprecated.swift in Sources */, + FD1FC42234191CB201677CC9A52F6DAF /* DispatchQueue+Extensions.swift in Sources */, + 6233CE6AAB7F8B37C083EA39A8EEA4E1 /* DispatchQueueConfiguration.swift in Sources */, + 5F2EC5C73DC23AD4B8B289702B2040D6 /* Disposable.swift in Sources */, + EF2FC271267572CE5523B30A26AB0085 /* Disposables.swift in Sources */, + 64C161A1B66557D4D03CC116FE30907B /* DisposeBag.swift in Sources */, + 23C4A22087104DA1DC8BB3F02F310517 /* DisposeBase.swift in Sources */, + E6856B55D2BAAF4F75289E294F588191 /* DistinctUntilChanged.swift in Sources */, + 059F01CD35F3DD3BADC6C322DC0366F2 /* Do.swift in Sources */, + 890B1FCF479DF4D27561E143B0680286 /* ElementAt.swift in Sources */, + DEAA4E05D3470CAFCF5103F87DB16CCC /* Empty.swift in Sources */, + 05F2F5BBF87C0A2708454989B76D4632 /* Error.swift in Sources */, + 66FD65B14E83621A1ECBE66714E0A17E /* Errors.swift in Sources */, + 7684B9ACE6F892A454E87B0059708FEA /* Event.swift in Sources */, + 1286ED6CE4F07503C88CC145F5677F10 /* Filter.swift in Sources */, + F38014F19A5F73C78F3AF8FB1EF08385 /* Generate.swift in Sources */, + 93C97D4281BFD2C2D6D1E15A29509487 /* GroupBy.swift in Sources */, + 7F761FD1228BB195BCDA41CEFB33D2AF /* GroupedObservable.swift in Sources */, + A36FC423698674E72A1DD5FCD8FA077D /* HistoricalScheduler.swift in Sources */, + 24D7EAEB1BB49D7678AA3DFB12359964 /* HistoricalSchedulerTimeConverter.swift in Sources */, + E98CF1FFA39F6144046AB195F32A8705 /* ImmediateScheduler.swift in Sources */, + D4CBEE66702991A8186BD763553F077A /* ImmediateSchedulerType.swift in Sources */, + 34CEFB3816548F7DE18E93992EBB8B39 /* InfiniteSequence.swift in Sources */, + 5D18125D1E7AFAA8FB4E812251774EDD /* InvocableScheduledItem.swift in Sources */, + 32F4CE3866CF64A7E8ED48218423C50B /* InvocableType.swift in Sources */, + EC2D09800658E21A3987E15EC695F3BB /* Just.swift in Sources */, + C31507D209CDACF33113CF9CE65B5147 /* Lock.swift in Sources */, + F24BDCE90285452688C676B73B15B8B8 /* LockOwnerType.swift in Sources */, + 1860758F64DDE2D0642F959879190195 /* MainScheduler.swift in Sources */, + D15B988F8134FA508F6DEEEB4DEEC0A9 /* Map.swift in Sources */, + 662D3653FA79037EEB57D8439E2731B6 /* Merge.swift in Sources */, + 4BC3CC2D51B6526FBE46AD71901DFE98 /* Multicast.swift in Sources */, + B3EDF298F39001394B78EEA7417EACD0 /* Never.swift in Sources */, + A6C9EF87C7551C00D1A3157C57AFBC6D /* NopDisposable.swift in Sources */, + 79FD82966621903E8313A125D44BE93A /* Observable+Aggregate.swift in Sources */, + AB10BBBC1CE9749827B14E1B9E9D8B01 /* Observable+Binding.swift in Sources */, + 1AF49D45455E3B41876F2240F7076A94 /* Observable+Concurrency.swift in Sources */, + 00616446FE37EC07EDF821E6079956F5 /* Observable+Creation.swift in Sources */, + E8AC2EEE8DC09047B9F5D9853287140B /* Observable+Debug.swift in Sources */, + 7B6D03AB71890047F797E7A59B27B2EA /* Observable+Multiple.swift in Sources */, + 38A405B7BE5AE9335ED1184C9AA39BB3 /* Observable+Single.swift in Sources */, + 3E9CBD489D752B59F4BAFEA743FD3263 /* Observable+StandardSequenceOperators.swift in Sources */, + 460574FE11E2D1422F64E94116DD7885 /* Observable+Time.swift in Sources */, + 53D7019EAFDBDEDA057BF35898C389C4 /* Observable.swift in Sources */, + B4BD359172FEDE2CC10B658C8F287A2D /* ObservableConvertibleType.swift in Sources */, + 8D92B3A07B2FBFE05143259AA86656CA /* ObservableType+Extensions.swift in Sources */, + DF7E4A83443DCD8CFF222D54F5755C9B /* ObservableType.swift in Sources */, + 7805728F6455C7D31149ABFFCBD85A90 /* ObserveOn.swift in Sources */, + 878BF050FDA8909A4BFB945F30B2AEE4 /* ObserveOnSerialDispatchQueue.swift in Sources */, + 281904D4A787EBA58BEBF73687E92CE0 /* ObserverBase.swift in Sources */, + 03C5F1980E8D147062D8A70BD9BB608E /* ObserverType.swift in Sources */, + D47D618EDDE23B9C4E7BB52D34C6E88D /* OperationQueueScheduler.swift in Sources */, + E24C8C0788514DD2873695CF72C8FA21 /* Optional.swift in Sources */, + 31E3754BD8CB50E1F603FA8187D0BAEB /* Platform.Darwin.swift in Sources */, + 42B1F1781501E30E4C18AAC2E257D47F /* Platform.Linux.swift in Sources */, + 5E11B9D778FEC4E0027E2B18EB026094 /* PrimitiveSequence+Zip+arity.swift in Sources */, + 4B1C4ACADC903FEF72C343808A99ABE8 /* PrimitiveSequence.swift in Sources */, + E33D874096F36162BF556CE81E4C81AA /* PriorityQueue.swift in Sources */, + 9F4693368B07C2738CEE522AAF021EB8 /* Producer.swift in Sources */, + C3F483118B2881907DB635B299B6344A /* PublishSubject.swift in Sources */, + C7C6AD45C1063FBC56FB2147C23108A6 /* Queue.swift in Sources */, + 5F4889FB8DF3609135C00C3F24141D81 /* Range.swift in Sources */, + 0CBF3AFEC13BD3E6166AA3DA7053E8C0 /* Reactive.swift in Sources */, + AC341D4277F26382A0473B2A3C60C64C /* RecursiveLock.swift in Sources */, + FF12CA6F98AF01B6053B87DAEB44C3B6 /* RecursiveScheduler.swift in Sources */, + 6F551B3DB9330EE56759808F80A5667B /* Reduce.swift in Sources */, + BDCBBA215EB8176A5CF99CC037EB60E8 /* RefCount.swift in Sources */, + 03E2A58758B79A20AD51B981C4886718 /* RefCountDisposable.swift in Sources */, + 8ACD9947963C0D8FC67AAF64B95EA5E6 /* Repeat.swift in Sources */, + 75E5E32A6A16B89FB92D90C4399EA959 /* ReplaySubject.swift in Sources */, + 2F09C0E96FFB9BB5E1C6859FFEE52243 /* RetryWhen.swift in Sources */, + 892420D6E5AA7E203A19E605FE75000B /* Rx.swift in Sources */, + 114427E8C429C46858ECF5C96C202CD7 /* RxMutableBox.swift in Sources */, + 6BF9BF549BA5A63E908438ABB4B72E03 /* RxSwift-dummy.m in Sources */, + 2AC9CAABFB9B97528DAFA455704EE151 /* Sample.swift in Sources */, + 73A018AD0A797855553E5E875B4DC25A /* Scan.swift in Sources */, + 5C4112995450C3A39978B8717B6D4F10 /* ScheduledDisposable.swift in Sources */, + 48F848F3041EDD002CEEB571CFBD92F9 /* ScheduledItem.swift in Sources */, + 9245F5E200F5524D8A7D09889E563FCB /* ScheduledItemType.swift in Sources */, + 74274D2E6B24F39195E9446E46D757E0 /* SchedulerServices+Emulation.swift in Sources */, + 50529966E724F6B99CA48503817DDD2E /* SchedulerType.swift in Sources */, + 41B7697D953D7CBF8C2269467644E35E /* Sequence.swift in Sources */, + 900F2FA68841E2235F4F0E3C40ACA5F2 /* SerialDispatchQueueScheduler.swift in Sources */, + 689E3853DB4EC9F349A6A02FBFA612EE /* SerialDisposable.swift in Sources */, + 706576B85A1ED681821E779DAB62E113 /* ShareReplay1.swift in Sources */, + 62ECAC93A1DD7F7E8FBBF4EC7AE4766E /* ShareReplay1WhileConnected.swift in Sources */, + B1EE7C0B6A55B8EC266C48847A8851FB /* SingleAssignmentDisposable.swift in Sources */, + 8FC310D0EBDD40F0B7C0A465DBE2B075 /* SingleAsync.swift in Sources */, + D9CD050B56E237AF4D8ECDF49083BE59 /* Sink.swift in Sources */, + 857F22278E75DDF29A9698F975439469 /* Skip.swift in Sources */, + 4382F015B0F61FD36A235650F75C4605 /* SkipUntil.swift in Sources */, + 896F79AF189D33E993ED4875D31DF7DC /* SkipWhile.swift in Sources */, + 4AA0CED4F606872DEF4F61B1D5FFD53F /* StartWith.swift in Sources */, + 30C68E520A23F2584DAB2A79211BEBF2 /* String+Rx.swift in Sources */, + 10854F26DFA7604DA0372DDEF2955C3A /* SubjectType.swift in Sources */, + 49EB792DE2350BCC128C152D15AE2C1E /* SubscribeOn.swift in Sources */, + 6D63F0EABD901E66044CA93D64FF9709 /* SubscriptionDisposable.swift in Sources */, + B7BE75E5ACF3F9003E97981C62F4848E /* Switch.swift in Sources */, + 9FEDCCFEE728734D4790D4A49B8D4659 /* SwitchIfEmpty.swift in Sources */, + B06D1DC3883AD1F4F9397B5CA6022933 /* SynchronizedDisposeType.swift in Sources */, + 5DC71F1088EAD8F09FE4A142E1A0051D /* SynchronizedOnType.swift in Sources */, + AD5121506A0550A16653F0A5BBA8736B /* SynchronizedSubscribeType.swift in Sources */, + 40244570E31BDC4D13572A226B50DCF5 /* SynchronizedUnsubscribeType.swift in Sources */, + 1DC97F78ED29161695FD2E398F74CE52 /* TailRecursiveSink.swift in Sources */, + 888B85289F06B737C0BA1F9B1DF57233 /* Take.swift in Sources */, + 1414C05E1E966901E52499785F06846A /* TakeLast.swift in Sources */, + 5AF4463F09295FEF4385B01616A66AE8 /* TakeUntil.swift in Sources */, + 52FF712751DFFBED45BB205CC2942047 /* TakeWhile.swift in Sources */, + CF67659B01872F89F837DF9EAB6D7B93 /* Throttle.swift in Sources */, + C26CDE750E51AA528324448DD9C48A0A /* Timeout.swift in Sources */, + 7B0CDF4E87F1D47F72CA2007D6F32F99 /* Timer.swift in Sources */, + CB264322B6E9F506D34F2E3136E445E0 /* ToArray.swift in Sources */, + 76C020F1B74267F4E00392ADFB5158FA /* Using.swift in Sources */, + 03705B04DE33C19084B60BBC77E95F99 /* Variable.swift in Sources */, + 52363BFF8DA89A2DF3A96125A0C6A503 /* VirtualTimeConverterType.swift in Sources */, + 27BAEB60D66090CD9AEC60AC563891AA /* VirtualTimeScheduler.swift in Sources */, + 9AB49D82B36A65549A32C6385316E45B /* Window.swift in Sources */, + 7E1D2502415371D0B97026801DA8AD68 /* WithLatestFrom.swift in Sources */, + 63595F4168565B6BDD4BBB0DB7EDDE1C /* Zip+arity.swift in Sources */, + 783FF9A8E4EBF76BA340A6802DEC041B /* Zip+Collection.swift in Sources */, + ADE37332A65217431C0A85A88EC10ED0 /* Zip.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -2026,85 +2197,20 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - E4683809F6E2E0E13A1DA3716D22762E /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 7A303312792E091ABAE7157A9FB83B23 /* _RX.m in Sources */, - A2E3CE14430670CE78113A4AA2282522 /* _RXDelegateProxy.m in Sources */, - 363C02C0DC1D05C96E4C99FA291EFDE1 /* _RXKVOObserver.m in Sources */, - 7CD1DD00190DB1ACA427120A0F54AAB5 /* _RXObjCRuntime.m in Sources */, - 9D6566D484F3BA80C9400E9DD202C281 /* Bag.swift in Sources */, - FC296F43271A48D9D4C58B5715C051D5 /* ControlEvent+Driver.swift in Sources */, - 15C09589084D116390E3B04BF3B026B6 /* ControlEvent.swift in Sources */, - A66A89FE5B6FC0BB454C391B22DA9E5D /* ControlProperty+Driver.swift in Sources */, - 8D12A35F60C0393445B793DBB638575D /* ControlProperty.swift in Sources */, - 8CE914272F3F97EA9F1568043975674A /* ControlTarget.swift in Sources */, - C779A6C734EA83712332BA6A13EFFE5C /* DelegateProxy.swift in Sources */, - 7841A7635F46B11A9A96F101CF5F4354 /* DelegateProxyType.swift in Sources */, - ECC084E104E80FB7345F76B6B0C15FAC /* DispatchQueue+Extensions.swift in Sources */, - 9B18C2229AEFC7674EF9795A7A77DCEB /* Driver+Subscription.swift in Sources */, - 27776D059250B2AEEA4FD883A98F18E2 /* Driver.swift in Sources */, - 3F68F1F5B35DB36E1D1A35AF93621DC0 /* InfiniteSequence.swift in Sources */, - 84CE2F3B9BC695F0B6E48B2D6405659F /* KVORepresentable+CoreGraphics.swift in Sources */, - 35413ADE5985AB5E408AF576A84B4C24 /* KVORepresentable+Swift.swift in Sources */, - A2CF744BF46B0F17DC6607F4D0D82944 /* KVORepresentable.swift in Sources */, - 33856730EE17C2CA1481049F1422FA6A /* Logging.swift in Sources */, - 39F610E5C7762C98378BF845AC774621 /* NotificationCenter+Rx.swift in Sources */, - 1012A309E82945C38EA9CA39444380DF /* NSButton+Rx.swift in Sources */, - 266E93ACE8FFB80FDF783822D630E927 /* NSControl+Rx.swift in Sources */, - E16B1A45A5741C6A98DFAE5C24764F55 /* NSImageView+Rx.swift in Sources */, - 4A4C1E2799F10F07FD0349A686041EC3 /* NSLayoutConstraint+Rx.swift in Sources */, - D9ED1A4C6F894B1DC0298C280C8056EB /* NSObject+Rx+KVORepresentable.swift in Sources */, - 625FB12932BD111CA0CB053F2820F15A /* NSObject+Rx+RawRepresentable.swift in Sources */, - B0C1DEAEF59617FD104B45651A9E02E7 /* NSObject+Rx.swift in Sources */, - 2E3A8BCE3E4D9114ABCBB4D7966812A8 /* NSSlider+Rx.swift in Sources */, - 06067FEB1AB279D49A3F16553693D98C /* NSTextField+Rx.swift in Sources */, - 6670B050A7427F9C7393AB5D8D2E26FC /* NSView+Rx.swift in Sources */, - 46661BD5FD35D16A1D72B05C32BA4805 /* Observable+Bind.swift in Sources */, - F22B5B760326351832F4648F432136D8 /* ObservableConvertibleType+Driver.swift in Sources */, - 98FBAAEB02A3A0CAA335BD31829CF985 /* ObservableConvertibleType+SharedSequence.swift in Sources */, - E95C2409BDE4CB6BA371A54DD05D7996 /* Platform.Darwin.swift in Sources */, - CAFB60F384AE9659EDB5D377F5D183F9 /* Platform.Linux.swift in Sources */, - 4811AC35475C767F778C6E3B68648F94 /* PriorityQueue.swift in Sources */, - 451920991DC451B2676E9A139C857DD2 /* Queue.swift in Sources */, - ACA9C9D1223FED43AAE8C8130225DCCF /* RecursiveLock.swift in Sources */, - B6FE3D84E41A57384175035BC92ABEAA /* RxCocoa-dummy.m in Sources */, - 6D71A4D5D45590A99D42928E14133A61 /* RxCocoa.swift in Sources */, - 8AE3D3F02C4FC2EB6A10602D6A18A234 /* RxCocoaObjCRuntimeError+Extensions.swift in Sources */, - D5A9F983227BEB62BCA37F568897987C /* RxTarget.swift in Sources */, - C733DF41496B0364EF379F77068B4367 /* SectionedViewDataSourceType.swift in Sources */, - 17848AD97F24126359BC05C4E675F0A4 /* SharedSequence+Operators+arity.swift in Sources */, - 07147440201D62C544F94526CA96A5C3 /* SharedSequence+Operators.swift in Sources */, - 5AB880D9ADA38379AE40B94C492D6541 /* SharedSequence.swift in Sources */, - 3ABDC8F6AC096D1B402D23DDE0DA663D /* TextInput.swift in Sources */, - 2FBF7BF077F416DB8C7C99AEAD139F9B /* UIBindingObserver.swift in Sources */, - 69E55ABC7A2FD0420B1F5DB3172B10E1 /* URLSession+Rx.swift in Sources */, - 9676160A622D6A1E0ED9A304D56E9E0B /* Variable+Driver.swift in Sources */, - BA54F883C123CBEDD90E739B2B2ACCAE /* Variable+SharedSequence.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 333E7BAB0E0DB09E26646BD8E93FFDCE /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = Alamofire; - target = 88E9EC28B8B46C3631E6B242B50F4442 /* Alamofire */; - targetProxy = 3F9C089DC9458E35616C2D072F1349CE /* PBXContainerItemProxy */; - }; - 3AB65F40E1512A92325180D6E33602FE /* PBXTargetDependency */ = { + 321DEE4C9C5CB62E660554A07A9B1B0E /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = RxSwift; - target = 9759FFB1455B05FE96A5765890590110 /* RxSwift */; - targetProxy = 3C966E4001966C610E2B35B4896D0EA0 /* PBXContainerItemProxy */; + target = DC6681CBBC287D4FE7DCFAF4A86EAF69 /* RxSwift */; + targetProxy = D77B242B7D80B4FBFD12A3947CD77C4D /* PBXContainerItemProxy */; }; - 3E1EF8FCF446C8D86D778D5D1ABFA9CD /* PBXTargetDependency */ = { + 4102B0DD918134608065100259589469 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = GCDWebServer; - target = 5B8B0ED1046111D92895FC95F12DBC10 /* GCDWebServer */; - targetProxy = 73B1C6F65534B8F327FD1E3C4EFB4D79 /* PBXContainerItemProxy */; + name = RxSwift; + target = DC6681CBBC287D4FE7DCFAF4A86EAF69 /* RxSwift */; + targetProxy = E34EFC16B57066A31EFFC80D4090192B /* PBXContainerItemProxy */; }; 6D8935AB78317EC6C1ABBB09EA86C5FB /* PBXTargetDependency */ = { isa = PBXTargetDependency; @@ -2118,87 +2224,60 @@ target = 3CB2B8006B2B1ACAF9ADCA1DC82E2290 /* BRLOptionParser */; targetProxy = FDE579D9762D0D9F86EDB1DE6EADE62F /* PBXContainerItemProxy */; }; - 895CE87A9D309D30CEFBF51BA07CDBEA /* PBXTargetDependency */ = { + A1568DB7854338CDE3F1A53F15030C84 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = MASShortcut; target = 00C94ED0B49A44FBF0C4E2F6C875CFFC /* MASShortcut */; - targetProxy = 7BF76F7FBFF9CC917BC74620BE20739E /* PBXContainerItemProxy */; + targetProxy = CC9D51BF26A6671ECEB6B2A6A25E1846 /* PBXContainerItemProxy */; }; - C65B838B24FDE9D70E5E870D8780B5EB /* PBXTargetDependency */ = { + B12B615BA0A606B7FAF63523BD971E25 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = XYPingUtil; + target = 5425B8CFFAAD7D4B848A7675E261BBE1 /* XYPingUtil */; + targetProxy = 58575E9B14651D9C8140CE3E7BC866FC /* PBXContainerItemProxy */; + }; + D892B4EE16A18355B1E10B09A72B5D97 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = RxCocoa; - target = 50DA2BB85DEBA27DDBB9E2D53E8E2A1A /* RxCocoa */; - targetProxy = 5A421F3FED66CE2F7D5D41431FD05426 /* PBXContainerItemProxy */; + target = 6932E79AD45EC8E5F4DE4B739F2F5301 /* RxCocoa */; + targetProxy = F9979B3CE2DDD9A78937371D3D62388F /* PBXContainerItemProxy */; }; - D9D65FB37163F6C00197A5C036F871E6 /* PBXTargetDependency */ = { + E61DB995CF5694210585B2EA04D7CA42 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = RxSwift; - target = 9759FFB1455B05FE96A5765890590110 /* RxSwift */; - targetProxy = 9AAE001A73362881B10E1F0C00EDCC5C /* PBXContainerItemProxy */; + name = Alamofire; + target = 88E9EC28B8B46C3631E6B242B50F4442 /* Alamofire */; + targetProxy = CC40ABFBBE8775F38F9FA5595C1D4189 /* PBXContainerItemProxy */; + }; + E7BF9C0BAFCF0988A90720B68B809BF9 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = GCDWebServer; + target = 5B8B0ED1046111D92895FC95F12DBC10 /* GCDWebServer */; + targetProxy = 395B943E3AB38B6371DA7BEE5041AFA0 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - 02E195CBAB30A9CBC71B668C0E2C5F60 /* Debug */ = { + 014D6135D20B2A831876728B582DD866 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D6CBB4BD325445F86290A6A3E27E8B45 /* Alamofire.xcconfig */; + baseConfigurationReference = 9BA2A0099476E08B6CC8026BDF0C603E /* Pods-ShadowsocksX-NGTests.debug.xcconfig */; buildSettings = { - CODE_SIGN_IDENTITY = "-"; + CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; COMBINE_HIDPI_IMAGES = YES; CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; FRAMEWORK_VERSION = A; - GCC_NO_COMMON_BLOCKS = YES; - GCC_PREFIX_HEADER = "Target Support Files/Alamofire/Alamofire-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Alamofire/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.10; - MODULEMAP_FILE = "Target Support Files/Alamofire/Alamofire.modulemap"; - MTL_ENABLE_DEBUG_INFO = YES; - PRODUCT_NAME = Alamofire; - SDKROOT = macosx; - SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 3.0; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - 09AC259EF48E4803CFA133821B50928D /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = F67191B1F87DA238C4D87250DFBE43DD /* Pods-ShadowsocksX-NGTests.release.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "-"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - FRAMEWORK_VERSION = A; - GCC_NO_COMMON_BLOCKS = YES; INFOPLIST_FILE = "Target Support Files/Pods-ShadowsocksX-NGTests/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; MACH_O_TYPE = staticlib; MACOSX_DEPLOYMENT_TARGET = 10.11; MODULEMAP_FILE = "Target Support Files/Pods-ShadowsocksX-NGTests/Pods-ShadowsocksX-NGTests.modulemap"; - MTL_ENABLE_DEBUG_INFO = NO; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PODS_ROOT = "$(SRCROOT)"; @@ -2209,270 +2288,61 @@ VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; - }; - 2A0A67E0E8A2EA509035561EE4AFB8EB /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = A5055B8EFFFBEDE50909E935D4BCA446 /* Pods-proxy_conf_helper.release.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "-"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - EXECUTABLE_PREFIX = lib; - GCC_NO_COMMON_BLOCKS = YES; - MACH_O_TYPE = staticlib; - MACOSX_DEPLOYMENT_TARGET = 10.11; - MTL_ENABLE_DEBUG_INFO = NO; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = macosx; - SKIP_INSTALL = YES; - }; - name = Release; - }; - 3E78636AE74B59428E5A0935753CC17C /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 3261881064E033A3711EA27CE78524FC /* RxSwift.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "-"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - FRAMEWORK_VERSION = A; - GCC_NO_COMMON_BLOCKS = YES; - GCC_PREFIX_HEADER = "Target Support Files/RxSwift/RxSwift-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/RxSwift/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.10; - MODULEMAP_FILE = "Target Support Files/RxSwift/RxSwift.modulemap"; - MTL_ENABLE_DEBUG_INFO = YES; - PRODUCT_NAME = RxSwift; - SDKROOT = macosx; - SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 3.0; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; name = Debug; }; - 454A1980F630934367D478DF55211291 /* Release */ = { + 0A9023DCD8653BA4D6E580B803AAB761 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 797084A009F9EF151DBBF73DD026ADC6 /* BRLOptionParser.xcconfig */; + baseConfigurationReference = 08EAA8D46ACD7B8C5ECE8CCE68A774E5 /* Alamofire.xcconfig */; buildSettings = { - CODE_SIGN_IDENTITY = "-"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - EXECUTABLE_PREFIX = lib; - GCC_NO_COMMON_BLOCKS = YES; - GCC_PREFIX_HEADER = "Target Support Files/BRLOptionParser/BRLOptionParser-prefix.pch"; - MACOSX_DEPLOYMENT_TARGET = 10.7; - MTL_ENABLE_DEBUG_INFO = NO; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_NAME = "$(TARGET_NAME)"; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = macosx; - }; - name = Release; - }; - 4F50769607A8A1A40CFF74C962A6EC0C /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 6F8C5EB810D1464D5BE86A414DC08616 /* MASShortcut.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "-"; + CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; COMBINE_HIDPI_IMAGES = YES; CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; FRAMEWORK_VERSION = A; - GCC_NO_COMMON_BLOCKS = YES; - GCC_PREFIX_HEADER = "Target Support Files/MASShortcut/MASShortcut-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/MASShortcut/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.6; - MODULEMAP_FILE = "Target Support Files/MASShortcut/MASShortcut.modulemap"; - MTL_ENABLE_DEBUG_INFO = YES; - PRODUCT_NAME = MASShortcut; - SDKROOT = macosx; - SKIP_INSTALL = YES; - SWIFT_VERSION = 3.0; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - 581B7E690A5A7F5E7DF616728F5651C1 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = D6CBB4BD325445F86290A6A3E27E8B45 /* Alamofire.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "-"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - FRAMEWORK_VERSION = A; - GCC_NO_COMMON_BLOCKS = YES; GCC_PREFIX_HEADER = "Target Support Files/Alamofire/Alamofire-prefix.pch"; INFOPLIST_FILE = "Target Support Files/Alamofire/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; MACOSX_DEPLOYMENT_TARGET = 10.10; MODULEMAP_FILE = "Target Support Files/Alamofire/Alamofire.modulemap"; - MTL_ENABLE_DEBUG_INFO = NO; PRODUCT_NAME = Alamofire; SDKROOT = macosx; SKIP_INSTALL = YES; - SWIFT_VERSION = 3.0; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - 5BBF011CC3651D848A68DA27DF8ECC7D /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = C5B2560C6A7D9250831A76E33D926588 /* RxCocoa.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "-"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - FRAMEWORK_VERSION = A; - GCC_NO_COMMON_BLOCKS = YES; - GCC_PREFIX_HEADER = "Target Support Files/RxCocoa/RxCocoa-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/RxCocoa/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.10; - MODULEMAP_FILE = "Target Support Files/RxCocoa/RxCocoa.modulemap"; - MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_NAME = RxCocoa; - SDKROOT = macosx; - SKIP_INSTALL = YES; - SWIFT_VERSION = 3.0; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - 5D622BA00757EC20ADAD24C580904C04 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGNING_REQUIRED = NO; - COPY_PHASE_STRIP = YES; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_PREPROCESSOR_DEFINITIONS = ( - "POD_CONFIGURATION_RELEASE=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.11; - PROVISIONING_PROFILE_SPECIFIER = NO_SIGNING/; - STRIP_INSTALLED_PRODUCT = NO; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SYMROOT = "${SRCROOT}/../build"; - VALIDATE_PRODUCT = YES; + SWIFT_VERSION = 4.0; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; }; name = Release; }; - 5E76D5F0E34012DBB44CB075BFB0007D /* Debug */ = { + 126E36D17399D91443C1B47182EDF2AA /* Debug */ = { isa = XCBuildConfiguration; baseConfigurationReference = 98522BF2EB25C0255284080F9CA3E195 /* Pods-ShadowsocksX-NG.debug.xcconfig */; buildSettings = { - CODE_SIGN_IDENTITY = "-"; + CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; COMBINE_HIDPI_IMAGES = YES; CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; FRAMEWORK_VERSION = A; - GCC_NO_COMMON_BLOCKS = YES; INFOPLIST_FILE = "Target Support Files/Pods-ShadowsocksX-NG/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; MACH_O_TYPE = staticlib; MACOSX_DEPLOYMENT_TARGET = 10.11; MODULEMAP_FILE = "Target Support Files/Pods-ShadowsocksX-NG/Pods-ShadowsocksX-NG.modulemap"; - MTL_ENABLE_DEBUG_INFO = YES; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PODS_ROOT = "$(SRCROOT)"; @@ -2480,90 +2350,51 @@ PRODUCT_NAME = Pods_ShadowsocksX_NG; SDKROOT = macosx; SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Debug; }; - 69C0AC77C660068E1F05164BAC26E89F /* Debug */ = { + 157463F8BA9AC88622CED9BD197CFDBD /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C5B2560C6A7D9250831A76E33D926588 /* RxCocoa.xcconfig */; + baseConfigurationReference = 2CC8FBCACBF9FEB38CBD2C5A08FF5675 /* GCDWebServer.xcconfig */; buildSettings = { - CODE_SIGN_IDENTITY = "-"; + CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; COMBINE_HIDPI_IMAGES = YES; CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; FRAMEWORK_VERSION = A; - GCC_NO_COMMON_BLOCKS = YES; - GCC_PREFIX_HEADER = "Target Support Files/RxCocoa/RxCocoa-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/RxCocoa/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/GCDWebServer/GCDWebServer-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/GCDWebServer/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.10; - MODULEMAP_FILE = "Target Support Files/RxCocoa/RxCocoa.modulemap"; - MTL_ENABLE_DEBUG_INFO = YES; - PRODUCT_NAME = RxCocoa; + MACOSX_DEPLOYMENT_TARGET = 10.7; + MODULEMAP_FILE = "Target Support Files/GCDWebServer/GCDWebServer.modulemap"; + PRODUCT_NAME = GCDWebServer; SDKROOT = macosx; SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 3.0; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - 6F5040456E9D7C1CBF0FC8D4AE544E8E /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 3261881064E033A3711EA27CE78524FC /* RxSwift.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "-"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - FRAMEWORK_VERSION = A; - GCC_NO_COMMON_BLOCKS = YES; - GCC_PREFIX_HEADER = "Target Support Files/RxSwift/RxSwift-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/RxSwift/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.10; - MODULEMAP_FILE = "Target Support Files/RxSwift/RxSwift.modulemap"; - MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_NAME = RxSwift; - SDKROOT = macosx; - SKIP_INSTALL = YES; - SWIFT_VERSION = 3.0; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 4.0; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Release; }; - 7F85541659A067CF326B2DF15039555D /* Release */ = { + 312ACE5D8CB6F9064A5725F7C4CF9B12 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 6F8C5EB810D1464D5BE86A414DC08616 /* MASShortcut.xcconfig */; + baseConfigurationReference = 9D1D713D4FFF07BD9637DE60583A1926 /* MASShortcut.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "-"; COMBINE_HIDPI_IMAGES = YES; CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/MASShortcut"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_NO_COMMON_BLOCKS = YES; INFOPLIST_FILE = "Target Support Files/MASShortcut/ResourceBundle-MASShortcut-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles"; MACOSX_DEPLOYMENT_TARGET = 10.6; @@ -2572,131 +2403,55 @@ SKIP_INSTALL = YES; WRAPPER_EXTENSION = bundle; }; - name = Release; + name = Debug; }; - 81B74614E7B351BBFADF2489179A00EE /* Debug */ = { + 353215786D69646983337802C8F2A8A3 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 797084A009F9EF151DBBF73DD026ADC6 /* BRLOptionParser.xcconfig */; + baseConfigurationReference = 71FAFD5785147C842808E222D27B2D4E /* BRLOptionParser.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "-"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; EXECUTABLE_PREFIX = lib; - GCC_NO_COMMON_BLOCKS = YES; GCC_PREFIX_HEADER = "Target Support Files/BRLOptionParser/BRLOptionParser-prefix.pch"; MACOSX_DEPLOYMENT_TARGET = 10.7; - MTL_ENABLE_DEBUG_INFO = YES; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_NAME = "$(TARGET_NAME)"; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = macosx; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; }; name = Debug; }; - 85EFB31300ECD852FAD5DE392B6CDD3A /* Release */ = { + 38AFE42E0B6F59BF0F8C611B2315CE8A /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 1255CE4EF584F1227FCFE877388965BE /* GCDWebServer.xcconfig */; + baseConfigurationReference = A5055B8EFFFBEDE50909E935D4BCA446 /* Pods-proxy_conf_helper.release.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "-"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - FRAMEWORK_VERSION = A; - GCC_NO_COMMON_BLOCKS = YES; - GCC_PREFIX_HEADER = "Target Support Files/GCDWebServer/GCDWebServer-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/GCDWebServer/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.7; - MODULEMAP_FILE = "Target Support Files/GCDWebServer/GCDWebServer.modulemap"; - MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_NAME = GCDWebServer; - SDKROOT = macosx; - SKIP_INSTALL = YES; - SWIFT_VERSION = 3.0; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - 87B437463CE3AEA04B9E52EC25693B5B /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 054C3E84057CD06DB85D99E7AD207F48 /* Pods-proxy_conf_helper.debug.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "-"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; EXECUTABLE_PREFIX = lib; - GCC_NO_COMMON_BLOCKS = YES; MACH_O_TYPE = staticlib; MACOSX_DEPLOYMENT_TARGET = 10.11; - MTL_ENABLE_DEBUG_INFO = YES; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PODS_ROOT = "$(SRCROOT)"; PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = macosx; SKIP_INSTALL = YES; }; - name = Debug; - }; - 9F61FD28CA790C68C44F0E823C9A301A /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 6F8C5EB810D1464D5BE86A414DC08616 /* MASShortcut.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "-"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - FRAMEWORK_VERSION = A; - GCC_NO_COMMON_BLOCKS = YES; - GCC_PREFIX_HEADER = "Target Support Files/MASShortcut/MASShortcut-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/MASShortcut/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.6; - MODULEMAP_FILE = "Target Support Files/MASShortcut/MASShortcut.modulemap"; - MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_NAME = MASShortcut; - SDKROOT = macosx; - SKIP_INSTALL = YES; - SWIFT_VERSION = 3.0; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; name = Release; }; - AB74B5E09B30AE94F1D9671501EA01E8 /* Debug */ = { + 3918C3731F97F7B1A6B91CA53EA9B086 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; @@ -2704,24 +2459,27 @@ CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CODE_SIGNING_REQUIRED = NO; COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_C_LANGUAGE_STANDARD = gnu11; GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; GCC_OPTIMIZATION_LEVEL = 0; @@ -2730,46 +2488,213 @@ "DEBUG=1", "$(inherited)", ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; MACOSX_DEPLOYMENT_TARGET = 10.11; + MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = NO_SIGNING/; STRIP_INSTALLED_PRODUCT = NO; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; SYMROOT = "${SRCROOT}/../build"; }; name = Debug; }; - D13D4430BCE0A99C4D768DB5B9EAFAB4 /* Debug */ = { + 3E4FE876BE3FE23B968D72994E45F33E /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 9BA2A0099476E08B6CC8026BDF0C603E /* Pods-ShadowsocksX-NGTests.debug.xcconfig */; + baseConfigurationReference = 71FAFD5785147C842808E222D27B2D4E /* BRLOptionParser.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "-"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + EXECUTABLE_PREFIX = lib; + GCC_PREFIX_HEADER = "Target Support Files/BRLOptionParser/BRLOptionParser-prefix.pch"; + MACOSX_DEPLOYMENT_TARGET = 10.7; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = macosx; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + }; + name = Release; + }; + 4619DD3D66D4A42446908F4CBBF9F052 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 3103989A45B5C1B5277D5BBC7D01C0CF /* RxCocoa.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + COMBINE_HIDPI_IMAGES = YES; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + FRAMEWORK_VERSION = A; + GCC_PREFIX_HEADER = "Target Support Files/RxCocoa/RxCocoa-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/RxCocoa/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.10; + MODULEMAP_FILE = "Target Support Files/RxCocoa/RxCocoa.modulemap"; + PRODUCT_NAME = RxCocoa; + SDKROOT = macosx; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 3.0; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + 517CFD2BFFC625AF59D3081574562C7C /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 2CC8FBCACBF9FEB38CBD2C5A08FF5675 /* GCDWebServer.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + COMBINE_HIDPI_IMAGES = YES; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + FRAMEWORK_VERSION = A; + GCC_PREFIX_HEADER = "Target Support Files/GCDWebServer/GCDWebServer-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/GCDWebServer/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.7; + MODULEMAP_FILE = "Target Support Files/GCDWebServer/GCDWebServer.modulemap"; + PRODUCT_NAME = GCDWebServer; + SDKROOT = macosx; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 4.0; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + 52B3502E90247836A684BCE55D949DFB /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 054C3E84057CD06DB85D99E7AD207F48 /* Pods-proxy_conf_helper.debug.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = "-"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + EXECUTABLE_PREFIX = lib; + MACH_O_TYPE = staticlib; + MACOSX_DEPLOYMENT_TARGET = 10.11; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + SDKROOT = macosx; + SKIP_INSTALL = YES; + }; + name = Debug; + }; + 5366FDA554E3C6C80625EFD58D92FA03 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 089EB7E66F64D3A19BB7681AFCE91031 /* Pods-ShadowsocksX-NG.release.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + COMBINE_HIDPI_IMAGES = YES; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + FRAMEWORK_VERSION = A; + INFOPLIST_FILE = "Target Support Files/Pods-ShadowsocksX-NG/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; + MACH_O_TYPE = staticlib; + MACOSX_DEPLOYMENT_TARGET = 10.11; + MODULEMAP_FILE = "Target Support Files/Pods-ShadowsocksX-NG/Pods-ShadowsocksX-NG.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = Pods_ShadowsocksX_NG; + SDKROOT = macosx; + SKIP_INSTALL = YES; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + 53BC627F2D2F8AB7405019859C74D808 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 151DE95436AED4F35D7B68717140FA1B /* RxSwift.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + COMBINE_HIDPI_IMAGES = YES; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + FRAMEWORK_VERSION = A; + GCC_PREFIX_HEADER = "Target Support Files/RxSwift/RxSwift-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/RxSwift/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.10; + MODULEMAP_FILE = "Target Support Files/RxSwift/RxSwift.modulemap"; + PRODUCT_NAME = RxSwift; + SDKROOT = macosx; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 3.0; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + 585970A6B2E97B1118A2E7870AE18684 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = F67191B1F87DA238C4D87250DFBE43DD /* Pods-ShadowsocksX-NGTests.release.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; COMBINE_HIDPI_IMAGES = YES; CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; FRAMEWORK_VERSION = A; - GCC_NO_COMMON_BLOCKS = YES; INFOPLIST_FILE = "Target Support Files/Pods-ShadowsocksX-NGTests/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; MACH_O_TYPE = staticlib; MACOSX_DEPLOYMENT_TARGET = 10.11; MODULEMAP_FILE = "Target Support Files/Pods-ShadowsocksX-NGTests/Pods-ShadowsocksX-NGTests.modulemap"; - MTL_ENABLE_DEBUG_INFO = YES; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PODS_ROOT = "$(SRCROOT)"; @@ -2780,88 +2705,132 @@ VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; - D7792E19C106FDF752BCD3F1B45DC02D /* Release */ = { + 602E11CAE6E17BD0FB30DD5EE3E0E88A /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 089EB7E66F64D3A19BB7681AFCE91031 /* Pods-ShadowsocksX-NG.release.xcconfig */; + baseConfigurationReference = 9D1D713D4FFF07BD9637DE60583A1926 /* MASShortcut.xcconfig */; buildSettings = { - CODE_SIGN_IDENTITY = "-"; + CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; COMBINE_HIDPI_IMAGES = YES; CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; FRAMEWORK_VERSION = A; - GCC_NO_COMMON_BLOCKS = YES; - INFOPLIST_FILE = "Target Support Files/Pods-ShadowsocksX-NG/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/MASShortcut/MASShortcut-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/MASShortcut/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MACOSX_DEPLOYMENT_TARGET = 10.11; - MODULEMAP_FILE = "Target Support Files/Pods-ShadowsocksX-NG/Pods-ShadowsocksX-NG.modulemap"; - MTL_ENABLE_DEBUG_INFO = NO; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = Pods_ShadowsocksX_NG; + MACOSX_DEPLOYMENT_TARGET = 10.6; + MODULEMAP_FILE = "Target Support Files/MASShortcut/MASShortcut.modulemap"; + PRODUCT_NAME = MASShortcut; SDKROOT = macosx; SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 4.0; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Release; }; - EEC1F7D47739588099958DDE9B22FEEB /* Debug */ = { + 6560A4AFF004D1420AB4047ED7B3E45A /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 1255CE4EF584F1227FCFE877388965BE /* GCDWebServer.xcconfig */; buildSettings = { - CODE_SIGN_IDENTITY = "-"; + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGNING_REQUIRED = NO; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_PREPROCESSOR_DEFINITIONS = ( + "POD_CONFIGURATION_RELEASE=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.11; + MTL_ENABLE_DEBUG_INFO = NO; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = NO_SIGNING/; + STRIP_INSTALLED_PRODUCT = NO; + SYMROOT = "${SRCROOT}/../build"; + }; + name = Release; + }; + 7A9A13316270DFFB994B396FD02BA0D7 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = B04657A13605844C8019BD035A0EBEEA /* XYPingUtil.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; COMBINE_HIDPI_IMAGES = YES; CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; FRAMEWORK_VERSION = A; - GCC_NO_COMMON_BLOCKS = YES; - GCC_PREFIX_HEADER = "Target Support Files/GCDWebServer/GCDWebServer-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/GCDWebServer/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/XYPingUtil/XYPingUtil-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/XYPingUtil/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.7; - MODULEMAP_FILE = "Target Support Files/GCDWebServer/GCDWebServer.modulemap"; - MTL_ENABLE_DEBUG_INFO = YES; - PRODUCT_NAME = GCDWebServer; + MACOSX_DEPLOYMENT_TARGET = 10.11; + MODULEMAP_FILE = "Target Support Files/XYPingUtil/XYPingUtil.modulemap"; + PRODUCT_NAME = XYPingUtil; SDKROOT = macosx; SKIP_INSTALL = YES; - SWIFT_VERSION = 3.0; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 4.0; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Debug; }; - F1B067679E8618A86DA283BCD4698C6D /* Debug */ = { + 7DDA088AC519B45C54DE31DD7B6A497F /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 6F8C5EB810D1464D5BE86A414DC08616 /* MASShortcut.xcconfig */; + baseConfigurationReference = 9D1D713D4FFF07BD9637DE60583A1926 /* MASShortcut.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "-"; COMBINE_HIDPI_IMAGES = YES; CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/MASShortcut"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_NO_COMMON_BLOCKS = YES; INFOPLIST_FILE = "Target Support Files/MASShortcut/ResourceBundle-MASShortcut-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles"; MACOSX_DEPLOYMENT_TARGET = 10.6; @@ -2870,16 +2839,174 @@ SKIP_INSTALL = YES; WRAPPER_EXTENSION = bundle; }; + name = Release; + }; + AB22803FF442FDA32B9017FBF80DF1A8 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 9D1D713D4FFF07BD9637DE60583A1926 /* MASShortcut.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + COMBINE_HIDPI_IMAGES = YES; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + FRAMEWORK_VERSION = A; + GCC_PREFIX_HEADER = "Target Support Files/MASShortcut/MASShortcut-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/MASShortcut/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.6; + MODULEMAP_FILE = "Target Support Files/MASShortcut/MASShortcut.modulemap"; + PRODUCT_NAME = MASShortcut; + SDKROOT = macosx; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 4.0; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; name = Debug; }; + B2F84BB079C7C6D70C2D3424C89A317F /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 08EAA8D46ACD7B8C5ECE8CCE68A774E5 /* Alamofire.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + COMBINE_HIDPI_IMAGES = YES; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + FRAMEWORK_VERSION = A; + GCC_PREFIX_HEADER = "Target Support Files/Alamofire/Alamofire-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Alamofire/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.10; + MODULEMAP_FILE = "Target Support Files/Alamofire/Alamofire.modulemap"; + PRODUCT_NAME = Alamofire; + SDKROOT = macosx; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 4.0; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + BC239C1C391499B60F2D0011B8510AB4 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 3103989A45B5C1B5277D5BBC7D01C0CF /* RxCocoa.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + COMBINE_HIDPI_IMAGES = YES; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + FRAMEWORK_VERSION = A; + GCC_PREFIX_HEADER = "Target Support Files/RxCocoa/RxCocoa-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/RxCocoa/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.10; + MODULEMAP_FILE = "Target Support Files/RxCocoa/RxCocoa.modulemap"; + PRODUCT_NAME = RxCocoa; + SDKROOT = macosx; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_VERSION = 3.0; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + E5F3F90EC770F195AF5A18AE4579294B /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 151DE95436AED4F35D7B68717140FA1B /* RxSwift.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + COMBINE_HIDPI_IMAGES = YES; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + FRAMEWORK_VERSION = A; + GCC_PREFIX_HEADER = "Target Support Files/RxSwift/RxSwift-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/RxSwift/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.10; + MODULEMAP_FILE = "Target Support Files/RxSwift/RxSwift.modulemap"; + PRODUCT_NAME = RxSwift; + SDKROOT = macosx; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_VERSION = 3.0; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + EF38A6827F150F39AD4F1B645D033F5A /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = B04657A13605844C8019BD035A0EBEEA /* XYPingUtil.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + COMBINE_HIDPI_IMAGES = YES; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + FRAMEWORK_VERSION = A; + GCC_PREFIX_HEADER = "Target Support Files/XYPingUtil/XYPingUtil-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/XYPingUtil/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.11; + MODULEMAP_FILE = "Target Support Files/XYPingUtil/XYPingUtil.modulemap"; + PRODUCT_NAME = XYPingUtil; + SDKROOT = macosx; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 4.0; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ 010811070A86F912EA0CD2BB98136CD9 /* Build configuration list for PBXNativeTarget "GCDWebServer" */ = { isa = XCConfigurationList; buildConfigurations = ( - EEC1F7D47739588099958DDE9B22FEEB /* Debug */, - 85EFB31300ECD852FAD5DE392B6CDD3A /* Release */, + 517CFD2BFFC625AF59D3081574562C7C /* Debug */, + 157463F8BA9AC88622CED9BD197CFDBD /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -2887,8 +3014,8 @@ 246647E8AB354727F9ECD0879805161F /* Build configuration list for PBXNativeTarget "Pods-proxy_conf_helper" */ = { isa = XCConfigurationList; buildConfigurations = ( - 87B437463CE3AEA04B9E52EC25693B5B /* Debug */, - 2A0A67E0E8A2EA509035561EE4AFB8EB /* Release */, + 52B3502E90247836A684BCE55D949DFB /* Debug */, + 38AFE42E0B6F59BF0F8C611B2315CE8A /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -2896,8 +3023,17 @@ 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */ = { isa = XCConfigurationList; buildConfigurations = ( - AB74B5E09B30AE94F1D9671501EA01E8 /* Debug */, - 5D622BA00757EC20ADAD24C580904C04 /* Release */, + 3918C3731F97F7B1A6B91CA53EA9B086 /* Debug */, + 6560A4AFF004D1420AB4047ED7B3E45A /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 3295726720309EF4B38B3D5B87870957 /* Build configuration list for PBXNativeTarget "XYPingUtil" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 7A9A13316270DFFB994B396FD02BA0D7 /* Debug */, + EF38A6827F150F39AD4F1B645D033F5A /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -2905,8 +3041,8 @@ 3F916C3627231C409340EF9C88C37F7E /* Build configuration list for PBXNativeTarget "MASShortcut" */ = { isa = XCConfigurationList; buildConfigurations = ( - 4F50769607A8A1A40CFF74C962A6EC0C /* Debug */, - 9F61FD28CA790C68C44F0E823C9A301A /* Release */, + AB22803FF442FDA32B9017FBF80DF1A8 /* Debug */, + 602E11CAE6E17BD0FB30DD5EE3E0E88A /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -2914,8 +3050,8 @@ 419E5D95491847CD79841B971A8A3277 /* Build configuration list for PBXNativeTarget "Alamofire" */ = { isa = XCConfigurationList; buildConfigurations = ( - 02E195CBAB30A9CBC71B668C0E2C5F60 /* Debug */, - 581B7E690A5A7F5E7DF616728F5651C1 /* Release */, + B2F84BB079C7C6D70C2D3424C89A317F /* Debug */, + 0A9023DCD8653BA4D6E580B803AAB761 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -2923,8 +3059,17 @@ 4B561109B4C51E9DC9F5F27E9C033405 /* Build configuration list for PBXNativeTarget "BRLOptionParser" */ = { isa = XCConfigurationList; buildConfigurations = ( - 81B74614E7B351BBFADF2489179A00EE /* Debug */, - 454A1980F630934367D478DF55211291 /* Release */, + 353215786D69646983337802C8F2A8A3 /* Debug */, + 3E4FE876BE3FE23B968D72994E45F33E /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 68A1E6DC60C085C6E4207BD623630211 /* Build configuration list for PBXNativeTarget "RxCocoa" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 4619DD3D66D4A42446908F4CBBF9F052 /* Debug */, + BC239C1C391499B60F2D0011B8510AB4 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -2932,8 +3077,8 @@ 78B338CAC10BFFE58C0DE5D189212D60 /* Build configuration list for PBXNativeTarget "Pods-ShadowsocksX-NGTests" */ = { isa = XCConfigurationList; buildConfigurations = ( - D13D4430BCE0A99C4D768DB5B9EAFAB4 /* Debug */, - 09AC259EF48E4803CFA133821B50928D /* Release */, + 014D6135D20B2A831876728B582DD866 /* Debug */, + 585970A6B2E97B1118A2E7870AE18684 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -2941,35 +3086,26 @@ B2542ED88CE98D477B8D38769095CE5E /* Build configuration list for PBXNativeTarget "MASShortcut-MASShortcut" */ = { isa = XCConfigurationList; buildConfigurations = ( - F1B067679E8618A86DA283BCD4698C6D /* Debug */, - 7F85541659A067CF326B2DF15039555D /* Release */, + 312ACE5D8CB6F9064A5725F7C4CF9B12 /* Debug */, + 7DDA088AC519B45C54DE31DD7B6A497F /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - C3C04E339BA1928DBC29CEFD07DC6ADF /* Build configuration list for PBXNativeTarget "RxSwift" */ = { + E62222B61754001641FEEB5265C47800 /* Build configuration list for PBXNativeTarget "Pods-ShadowsocksX-NG" */ = { isa = XCConfigurationList; buildConfigurations = ( - 3E78636AE74B59428E5A0935753CC17C /* Debug */, - 6F5040456E9D7C1CBF0FC8D4AE544E8E /* Release */, + 126E36D17399D91443C1B47182EDF2AA /* Debug */, + 5366FDA554E3C6C80625EFD58D92FA03 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - D913F5C08F647E9FCC34C3A5B3030BD5 /* Build configuration list for PBXNativeTarget "RxCocoa" */ = { + FEDBDCE7F9AD6032519F0629074D8721 /* Build configuration list for PBXNativeTarget "RxSwift" */ = { isa = XCConfigurationList; buildConfigurations = ( - 69C0AC77C660068E1F05164BAC26E89F /* Debug */, - 5BBF011CC3651D848A68DA27DF8ECC7D /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - E185892330EBDCF4E8B37928210771A9 /* Build configuration list for PBXNativeTarget "Pods-ShadowsocksX-NG" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 5E76D5F0E34012DBB44CB075BFB0007D /* Debug */, - D7792E19C106FDF752BCD3F1B45DC02D /* Release */, + 53BC627F2D2F8AB7405019859C74D808 /* Debug */, + E5F3F90EC770F195AF5A18AE4579294B /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/Pods/Target Support Files/Alamofire/Alamofire.xcconfig b/Pods/Target Support Files/Alamofire/Alamofire.xcconfig index a7c04ce..dda36c1 100644 --- a/Pods/Target Support Files/Alamofire/Alamofire.xcconfig +++ b/Pods/Target Support Files/Alamofire/Alamofire.xcconfig @@ -1,10 +1,10 @@ CODE_SIGN_IDENTITY = -CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/Alamofire +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Alamofire GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/BRLOptionParser" OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -PODS_BUILD_DIR = $BUILD_DIR -PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/Alamofire PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} diff --git a/Pods/Target Support Files/BRLOptionParser/BRLOptionParser.xcconfig b/Pods/Target Support Files/BRLOptionParser/BRLOptionParser.xcconfig index 3784c02..af364a6 100644 --- a/Pods/Target Support Files/BRLOptionParser/BRLOptionParser.xcconfig +++ b/Pods/Target Support Files/BRLOptionParser/BRLOptionParser.xcconfig @@ -1,8 +1,8 @@ -CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/BRLOptionParser +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/BRLOptionParser GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/BRLOptionParser" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/BRLOptionParser" -PODS_BUILD_DIR = $BUILD_DIR -PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/BRLOptionParser PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} diff --git a/Pods/Target Support Files/GCDWebServer/GCDWebServer.xcconfig b/Pods/Target Support Files/GCDWebServer/GCDWebServer.xcconfig index 7dbb43b..db18519 100644 --- a/Pods/Target Support Files/GCDWebServer/GCDWebServer.xcconfig +++ b/Pods/Target Support Files/GCDWebServer/GCDWebServer.xcconfig @@ -1,10 +1,10 @@ CODE_SIGN_IDENTITY = -CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/GCDWebServer +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/GCDWebServer GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/BRLOptionParser" OTHER_LDFLAGS = -l"z" -framework "SystemConfiguration" -PODS_BUILD_DIR = $BUILD_DIR -PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/GCDWebServer PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} diff --git a/Pods/Target Support Files/MASShortcut/MASShortcut.xcconfig b/Pods/Target Support Files/MASShortcut/MASShortcut.xcconfig index 67803f4..befd45a 100644 --- a/Pods/Target Support Files/MASShortcut/MASShortcut.xcconfig +++ b/Pods/Target Support Files/MASShortcut/MASShortcut.xcconfig @@ -1,10 +1,10 @@ CODE_SIGN_IDENTITY = -CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/MASShortcut +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/MASShortcut GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/BRLOptionParser" OTHER_LDFLAGS = -framework "AppKit" -framework "Carbon" -PODS_BUILD_DIR = $BUILD_DIR -PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/MASShortcut PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} diff --git a/Pods/Target Support Files/Pods-ShadowsocksX-NG/Pods-ShadowsocksX-NG-acknowledgements.markdown b/Pods/Target Support Files/Pods-ShadowsocksX-NG/Pods-ShadowsocksX-NG-acknowledgements.markdown index 6bde1ea..0fd20ec 100644 --- a/Pods/Target Support Files/Pods-ShadowsocksX-NG/Pods-ShadowsocksX-NG-acknowledgements.markdown +++ b/Pods/Target Support Files/Pods-ShadowsocksX-NG/Pods-ShadowsocksX-NG-acknowledgements.markdown @@ -101,4 +101,27 @@ Permission is hereby granted, free of charge, to any person obtaining a copy of The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +## XYPingUtil + +Copyright (c) 2017 Rudy Yang + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + Generated by CocoaPods - https://cocoapods.org diff --git a/Pods/Target Support Files/Pods-ShadowsocksX-NG/Pods-ShadowsocksX-NG-acknowledgements.plist b/Pods/Target Support Files/Pods-ShadowsocksX-NG/Pods-ShadowsocksX-NG-acknowledgements.plist index 9f2b39a..09b705a 100644 --- a/Pods/Target Support Files/Pods-ShadowsocksX-NG/Pods-ShadowsocksX-NG-acknowledgements.plist +++ b/Pods/Target Support Files/Pods-ShadowsocksX-NG/Pods-ShadowsocksX-NG-acknowledgements.plist @@ -143,6 +143,35 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI Type PSGroupSpecifier + + FooterText + Copyright (c) 2017 Rudy Yang + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + License + MIT + Title + XYPingUtil + Type + PSGroupSpecifier + FooterText Generated by CocoaPods - https://cocoapods.org diff --git a/Pods/Target Support Files/Pods-ShadowsocksX-NG/Pods-ShadowsocksX-NG-frameworks.sh b/Pods/Target Support Files/Pods-ShadowsocksX-NG/Pods-ShadowsocksX-NG-frameworks.sh index 6afb24e..28bf84e 100755 --- a/Pods/Target Support Files/Pods-ShadowsocksX-NG/Pods-ShadowsocksX-NG-frameworks.sh +++ b/Pods/Target Support Files/Pods-ShadowsocksX-NG/Pods-ShadowsocksX-NG-frameworks.sh @@ -6,6 +6,10 @@ mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" +# This protects against multiple targets copying the same framework dependency at the same time. The solution +# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html +RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") + install_framework() { if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then @@ -23,9 +27,9 @@ install_framework() source="$(readlink "${source}")" fi - # use filter instead of exclude so missing patterns dont' throw errors - echo "rsync -av --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" - rsync -av --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" + # Use filter instead of exclude so missing patterns don't throw errors. + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" local basename basename="$(basename -s .framework "$1")" @@ -54,6 +58,15 @@ install_framework() fi } +# Copies the dSYM of a vendored framework +install_dsym() { + local source="$1" + if [ -r "$source" ]; then + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${DWARF_DSYM_FOLDER_PATH}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${DWARF_DSYM_FOLDER_PATH}" + fi +} + # Signs a framework with the provided identity code_sign_if_enabled() { if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then @@ -76,7 +89,7 @@ strip_invalid_archs() { archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | rev)" stripped="" for arch in $archs; do - if ! [[ "${VALID_ARCHS}" == *"$arch"* ]]; then + if ! [[ "${ARCHS}" == *"$arch"* ]]; then # Strip non-valid architectures in-place lipo -remove "$arch" -output "$binary" "$binary" || exit 1 stripped="$stripped $arch" @@ -89,18 +102,20 @@ strip_invalid_archs() { if [[ "$CONFIGURATION" == "Debug" ]]; then - install_framework "$BUILT_PRODUCTS_DIR/Alamofire/Alamofire.framework" - install_framework "$BUILT_PRODUCTS_DIR/GCDWebServer/GCDWebServer.framework" - install_framework "$BUILT_PRODUCTS_DIR/MASShortcut/MASShortcut.framework" - install_framework "$BUILT_PRODUCTS_DIR/RxCocoa/RxCocoa.framework" - install_framework "$BUILT_PRODUCTS_DIR/RxSwift/RxSwift.framework" + install_framework "${BUILT_PRODUCTS_DIR}/Alamofire/Alamofire.framework" + install_framework "${BUILT_PRODUCTS_DIR}/GCDWebServer/GCDWebServer.framework" + install_framework "${BUILT_PRODUCTS_DIR}/MASShortcut/MASShortcut.framework" + install_framework "${BUILT_PRODUCTS_DIR}/RxCocoa/RxCocoa.framework" + install_framework "${BUILT_PRODUCTS_DIR}/RxSwift/RxSwift.framework" + install_framework "${BUILT_PRODUCTS_DIR}/XYPingUtil/XYPingUtil.framework" fi if [[ "$CONFIGURATION" == "Release" ]]; then - install_framework "$BUILT_PRODUCTS_DIR/Alamofire/Alamofire.framework" - install_framework "$BUILT_PRODUCTS_DIR/GCDWebServer/GCDWebServer.framework" - install_framework "$BUILT_PRODUCTS_DIR/MASShortcut/MASShortcut.framework" - install_framework "$BUILT_PRODUCTS_DIR/RxCocoa/RxCocoa.framework" - install_framework "$BUILT_PRODUCTS_DIR/RxSwift/RxSwift.framework" + install_framework "${BUILT_PRODUCTS_DIR}/Alamofire/Alamofire.framework" + install_framework "${BUILT_PRODUCTS_DIR}/GCDWebServer/GCDWebServer.framework" + install_framework "${BUILT_PRODUCTS_DIR}/MASShortcut/MASShortcut.framework" + install_framework "${BUILT_PRODUCTS_DIR}/RxCocoa/RxCocoa.framework" + install_framework "${BUILT_PRODUCTS_DIR}/RxSwift/RxSwift.framework" + install_framework "${BUILT_PRODUCTS_DIR}/XYPingUtil/XYPingUtil.framework" fi if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then wait diff --git a/Pods/Target Support Files/Pods-ShadowsocksX-NG/Pods-ShadowsocksX-NG-resources.sh b/Pods/Target Support Files/Pods-ShadowsocksX-NG/Pods-ShadowsocksX-NG-resources.sh index 4602c68..a7df440 100755 --- a/Pods/Target Support Files/Pods-ShadowsocksX-NG/Pods-ShadowsocksX-NG-resources.sh +++ b/Pods/Target Support Files/Pods-ShadowsocksX-NG/Pods-ShadowsocksX-NG-resources.sh @@ -8,6 +8,10 @@ RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt XCASSET_FILES=() +# This protects against multiple targets copying the same framework dependency at the same time. The solution +# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html +RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") + case "${TARGETED_DEVICE_FAMILY}" in 1,2) TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" @@ -21,6 +25,9 @@ case "${TARGETED_DEVICE_FAMILY}" in 3) TARGET_DEVICE_ARGS="--target-device tv" ;; + 4) + TARGET_DEVICE_ARGS="--target-device watch" + ;; *) TARGET_DEVICE_ARGS="--target-device mac" ;; @@ -41,29 +48,29 @@ EOM fi case $RESOURCE_PATH in *.storyboard) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" + echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} ;; *.xib) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" + echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} ;; *.framework) - echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true mkdir -p "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - echo "rsync -av $RESOURCE_PATH ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - rsync -av "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" $RESOURCE_PATH ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" ;; *.xcdatamodel) - echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH"`.mom\"" + echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH"`.mom\"" || true xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodel`.mom" ;; *.xcdatamodeld) - echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd\"" + echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd\"" || true xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd" ;; *.xcmappingmodel) - echo "xcrun mapc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm\"" + echo "xcrun mapc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm\"" || true xcrun mapc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm" ;; *.xcassets) @@ -71,7 +78,7 @@ EOM XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE") ;; *) - echo "$RESOURCE_PATH" + echo "$RESOURCE_PATH" || true echo "$RESOURCE_PATH" >> "$RESOURCES_TO_COPY" ;; esac diff --git a/Pods/Target Support Files/Pods-ShadowsocksX-NG/Pods-ShadowsocksX-NG.debug.xcconfig b/Pods/Target Support Files/Pods-ShadowsocksX-NG/Pods-ShadowsocksX-NG.debug.xcconfig index 1f561c6..eb6ab02 100644 --- a/Pods/Target Support Files/Pods-ShadowsocksX-NG/Pods-ShadowsocksX-NG.debug.xcconfig +++ b/Pods/Target Support Files/Pods-ShadowsocksX-NG/Pods-ShadowsocksX-NG.debug.xcconfig @@ -1,11 +1,12 @@ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES CODE_SIGN_IDENTITY = -FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/Alamofire" "$PODS_CONFIGURATION_BUILD_DIR/GCDWebServer" "$PODS_CONFIGURATION_BUILD_DIR/MASShortcut" "$PODS_CONFIGURATION_BUILD_DIR/RxCocoa" "$PODS_CONFIGURATION_BUILD_DIR/RxSwift" +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/GCDWebServer" "${PODS_CONFIGURATION_BUILD_DIR}/MASShortcut" "${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift" "${PODS_CONFIGURATION_BUILD_DIR}/XYPingUtil" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/../Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/Alamofire/Alamofire.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/GCDWebServer/GCDWebServer.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/MASShortcut/MASShortcut.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/RxCocoa/RxCocoa.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/RxSwift/RxSwift.framework/Headers" -OTHER_LDFLAGS = $(inherited) -framework "Alamofire" -framework "GCDWebServer" -framework "MASShortcut" -framework "RxCocoa" -framework "RxSwift" +OTHER_CFLAGS = $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/GCDWebServer/GCDWebServer.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/MASShortcut/MASShortcut.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa/RxCocoa.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift/RxSwift.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/XYPingUtil/XYPingUtil.framework/Headers" +OTHER_LDFLAGS = $(inherited) -framework "Alamofire" -framework "GCDWebServer" -framework "MASShortcut" -framework "RxCocoa" -framework "RxSwift" -framework "XYPingUtil" OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -PODS_BUILD_DIR = $BUILD_DIR -PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods diff --git a/Pods/Target Support Files/Pods-ShadowsocksX-NG/Pods-ShadowsocksX-NG.release.xcconfig b/Pods/Target Support Files/Pods-ShadowsocksX-NG/Pods-ShadowsocksX-NG.release.xcconfig index 1f561c6..eb6ab02 100644 --- a/Pods/Target Support Files/Pods-ShadowsocksX-NG/Pods-ShadowsocksX-NG.release.xcconfig +++ b/Pods/Target Support Files/Pods-ShadowsocksX-NG/Pods-ShadowsocksX-NG.release.xcconfig @@ -1,11 +1,12 @@ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES CODE_SIGN_IDENTITY = -FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/Alamofire" "$PODS_CONFIGURATION_BUILD_DIR/GCDWebServer" "$PODS_CONFIGURATION_BUILD_DIR/MASShortcut" "$PODS_CONFIGURATION_BUILD_DIR/RxCocoa" "$PODS_CONFIGURATION_BUILD_DIR/RxSwift" +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/GCDWebServer" "${PODS_CONFIGURATION_BUILD_DIR}/MASShortcut" "${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift" "${PODS_CONFIGURATION_BUILD_DIR}/XYPingUtil" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/../Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/Alamofire/Alamofire.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/GCDWebServer/GCDWebServer.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/MASShortcut/MASShortcut.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/RxCocoa/RxCocoa.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/RxSwift/RxSwift.framework/Headers" -OTHER_LDFLAGS = $(inherited) -framework "Alamofire" -framework "GCDWebServer" -framework "MASShortcut" -framework "RxCocoa" -framework "RxSwift" +OTHER_CFLAGS = $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/GCDWebServer/GCDWebServer.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/MASShortcut/MASShortcut.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa/RxCocoa.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift/RxSwift.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/XYPingUtil/XYPingUtil.framework/Headers" +OTHER_LDFLAGS = $(inherited) -framework "Alamofire" -framework "GCDWebServer" -framework "MASShortcut" -framework "RxCocoa" -framework "RxSwift" -framework "XYPingUtil" OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -PODS_BUILD_DIR = $BUILD_DIR -PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods diff --git a/Pods/Target Support Files/Pods-ShadowsocksX-NGTests/Pods-ShadowsocksX-NGTests-frameworks.sh b/Pods/Target Support Files/Pods-ShadowsocksX-NGTests/Pods-ShadowsocksX-NGTests-frameworks.sh index 0f29f13..88dd537 100755 --- a/Pods/Target Support Files/Pods-ShadowsocksX-NGTests/Pods-ShadowsocksX-NGTests-frameworks.sh +++ b/Pods/Target Support Files/Pods-ShadowsocksX-NGTests/Pods-ShadowsocksX-NGTests-frameworks.sh @@ -6,6 +6,10 @@ mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" +# This protects against multiple targets copying the same framework dependency at the same time. The solution +# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html +RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") + install_framework() { if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then @@ -23,9 +27,9 @@ install_framework() source="$(readlink "${source}")" fi - # use filter instead of exclude so missing patterns dont' throw errors - echo "rsync -av --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" - rsync -av --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" + # Use filter instead of exclude so missing patterns don't throw errors. + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" local basename basename="$(basename -s .framework "$1")" @@ -54,6 +58,15 @@ install_framework() fi } +# Copies the dSYM of a vendored framework +install_dsym() { + local source="$1" + if [ -r "$source" ]; then + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${DWARF_DSYM_FOLDER_PATH}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${DWARF_DSYM_FOLDER_PATH}" + fi +} + # Signs a framework with the provided identity code_sign_if_enabled() { if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then @@ -76,7 +89,7 @@ strip_invalid_archs() { archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | rev)" stripped="" for arch in $archs; do - if ! [[ "${VALID_ARCHS}" == *"$arch"* ]]; then + if ! [[ "${ARCHS}" == *"$arch"* ]]; then # Strip non-valid architectures in-place lipo -remove "$arch" -output "$binary" "$binary" || exit 1 stripped="$stripped $arch" diff --git a/Pods/Target Support Files/Pods-ShadowsocksX-NGTests/Pods-ShadowsocksX-NGTests-resources.sh b/Pods/Target Support Files/Pods-ShadowsocksX-NGTests/Pods-ShadowsocksX-NGTests-resources.sh index 4602c68..a7df440 100755 --- a/Pods/Target Support Files/Pods-ShadowsocksX-NGTests/Pods-ShadowsocksX-NGTests-resources.sh +++ b/Pods/Target Support Files/Pods-ShadowsocksX-NGTests/Pods-ShadowsocksX-NGTests-resources.sh @@ -8,6 +8,10 @@ RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt XCASSET_FILES=() +# This protects against multiple targets copying the same framework dependency at the same time. The solution +# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html +RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") + case "${TARGETED_DEVICE_FAMILY}" in 1,2) TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" @@ -21,6 +25,9 @@ case "${TARGETED_DEVICE_FAMILY}" in 3) TARGET_DEVICE_ARGS="--target-device tv" ;; + 4) + TARGET_DEVICE_ARGS="--target-device watch" + ;; *) TARGET_DEVICE_ARGS="--target-device mac" ;; @@ -41,29 +48,29 @@ EOM fi case $RESOURCE_PATH in *.storyboard) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" + echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} ;; *.xib) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" + echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} ;; *.framework) - echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true mkdir -p "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - echo "rsync -av $RESOURCE_PATH ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - rsync -av "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" $RESOURCE_PATH ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" ;; *.xcdatamodel) - echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH"`.mom\"" + echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH"`.mom\"" || true xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodel`.mom" ;; *.xcdatamodeld) - echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd\"" + echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd\"" || true xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd" ;; *.xcmappingmodel) - echo "xcrun mapc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm\"" + echo "xcrun mapc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm\"" || true xcrun mapc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm" ;; *.xcassets) @@ -71,7 +78,7 @@ EOM XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE") ;; *) - echo "$RESOURCE_PATH" + echo "$RESOURCE_PATH" || true echo "$RESOURCE_PATH" >> "$RESOURCES_TO_COPY" ;; esac diff --git a/Pods/Target Support Files/Pods-ShadowsocksX-NGTests/Pods-ShadowsocksX-NGTests.debug.xcconfig b/Pods/Target Support Files/Pods-ShadowsocksX-NGTests/Pods-ShadowsocksX-NGTests.debug.xcconfig index 7a56420..056135d 100644 --- a/Pods/Target Support Files/Pods-ShadowsocksX-NGTests/Pods-ShadowsocksX-NGTests.debug.xcconfig +++ b/Pods/Target Support Files/Pods-ShadowsocksX-NGTests/Pods-ShadowsocksX-NGTests.debug.xcconfig @@ -1,8 +1,9 @@ CODE_SIGN_IDENTITY = -FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/Alamofire" "$PODS_CONFIGURATION_BUILD_DIR/GCDWebServer" "$PODS_CONFIGURATION_BUILD_DIR/MASShortcut" "$PODS_CONFIGURATION_BUILD_DIR/RxCocoa" "$PODS_CONFIGURATION_BUILD_DIR/RxSwift" +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/GCDWebServer" "${PODS_CONFIGURATION_BUILD_DIR}/MASShortcut" "${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift" "${PODS_CONFIGURATION_BUILD_DIR}/XYPingUtil" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/../Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/Alamofire/Alamofire.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/GCDWebServer/GCDWebServer.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/MASShortcut/MASShortcut.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/RxCocoa/RxCocoa.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/RxSwift/RxSwift.framework/Headers" -PODS_BUILD_DIR = $BUILD_DIR -PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/../Frameworks' '@loader_path/../Frameworks' +OTHER_CFLAGS = $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/GCDWebServer/GCDWebServer.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/MASShortcut/MASShortcut.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa/RxCocoa.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift/RxSwift.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/XYPingUtil/XYPingUtil.framework/Headers" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods diff --git a/Pods/Target Support Files/Pods-ShadowsocksX-NGTests/Pods-ShadowsocksX-NGTests.release.xcconfig b/Pods/Target Support Files/Pods-ShadowsocksX-NGTests/Pods-ShadowsocksX-NGTests.release.xcconfig index 7a56420..056135d 100644 --- a/Pods/Target Support Files/Pods-ShadowsocksX-NGTests/Pods-ShadowsocksX-NGTests.release.xcconfig +++ b/Pods/Target Support Files/Pods-ShadowsocksX-NGTests/Pods-ShadowsocksX-NGTests.release.xcconfig @@ -1,8 +1,9 @@ CODE_SIGN_IDENTITY = -FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/Alamofire" "$PODS_CONFIGURATION_BUILD_DIR/GCDWebServer" "$PODS_CONFIGURATION_BUILD_DIR/MASShortcut" "$PODS_CONFIGURATION_BUILD_DIR/RxCocoa" "$PODS_CONFIGURATION_BUILD_DIR/RxSwift" +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/GCDWebServer" "${PODS_CONFIGURATION_BUILD_DIR}/MASShortcut" "${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift" "${PODS_CONFIGURATION_BUILD_DIR}/XYPingUtil" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/../Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/Alamofire/Alamofire.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/GCDWebServer/GCDWebServer.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/MASShortcut/MASShortcut.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/RxCocoa/RxCocoa.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/RxSwift/RxSwift.framework/Headers" -PODS_BUILD_DIR = $BUILD_DIR -PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/../Frameworks' '@loader_path/../Frameworks' +OTHER_CFLAGS = $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/GCDWebServer/GCDWebServer.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/MASShortcut/MASShortcut.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa/RxCocoa.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift/RxSwift.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/XYPingUtil/XYPingUtil.framework/Headers" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods diff --git a/Pods/Target Support Files/Pods-proxy_conf_helper/Pods-proxy_conf_helper-frameworks.sh b/Pods/Target Support Files/Pods-proxy_conf_helper/Pods-proxy_conf_helper-frameworks.sh index 0f29f13..88dd537 100755 --- a/Pods/Target Support Files/Pods-proxy_conf_helper/Pods-proxy_conf_helper-frameworks.sh +++ b/Pods/Target Support Files/Pods-proxy_conf_helper/Pods-proxy_conf_helper-frameworks.sh @@ -6,6 +6,10 @@ mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" +# This protects against multiple targets copying the same framework dependency at the same time. The solution +# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html +RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") + install_framework() { if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then @@ -23,9 +27,9 @@ install_framework() source="$(readlink "${source}")" fi - # use filter instead of exclude so missing patterns dont' throw errors - echo "rsync -av --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" - rsync -av --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" + # Use filter instead of exclude so missing patterns don't throw errors. + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" local basename basename="$(basename -s .framework "$1")" @@ -54,6 +58,15 @@ install_framework() fi } +# Copies the dSYM of a vendored framework +install_dsym() { + local source="$1" + if [ -r "$source" ]; then + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${DWARF_DSYM_FOLDER_PATH}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${DWARF_DSYM_FOLDER_PATH}" + fi +} + # Signs a framework with the provided identity code_sign_if_enabled() { if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then @@ -76,7 +89,7 @@ strip_invalid_archs() { archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | rev)" stripped="" for arch in $archs; do - if ! [[ "${VALID_ARCHS}" == *"$arch"* ]]; then + if ! [[ "${ARCHS}" == *"$arch"* ]]; then # Strip non-valid architectures in-place lipo -remove "$arch" -output "$binary" "$binary" || exit 1 stripped="$stripped $arch" diff --git a/Pods/Target Support Files/Pods-proxy_conf_helper/Pods-proxy_conf_helper-resources.sh b/Pods/Target Support Files/Pods-proxy_conf_helper/Pods-proxy_conf_helper-resources.sh index 4602c68..a7df440 100755 --- a/Pods/Target Support Files/Pods-proxy_conf_helper/Pods-proxy_conf_helper-resources.sh +++ b/Pods/Target Support Files/Pods-proxy_conf_helper/Pods-proxy_conf_helper-resources.sh @@ -8,6 +8,10 @@ RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt XCASSET_FILES=() +# This protects against multiple targets copying the same framework dependency at the same time. The solution +# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html +RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") + case "${TARGETED_DEVICE_FAMILY}" in 1,2) TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" @@ -21,6 +25,9 @@ case "${TARGETED_DEVICE_FAMILY}" in 3) TARGET_DEVICE_ARGS="--target-device tv" ;; + 4) + TARGET_DEVICE_ARGS="--target-device watch" + ;; *) TARGET_DEVICE_ARGS="--target-device mac" ;; @@ -41,29 +48,29 @@ EOM fi case $RESOURCE_PATH in *.storyboard) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" + echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} ;; *.xib) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" + echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} ;; *.framework) - echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true mkdir -p "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - echo "rsync -av $RESOURCE_PATH ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - rsync -av "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" $RESOURCE_PATH ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" ;; *.xcdatamodel) - echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH"`.mom\"" + echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH"`.mom\"" || true xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodel`.mom" ;; *.xcdatamodeld) - echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd\"" + echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd\"" || true xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd" ;; *.xcmappingmodel) - echo "xcrun mapc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm\"" + echo "xcrun mapc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm\"" || true xcrun mapc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm" ;; *.xcassets) @@ -71,7 +78,7 @@ EOM XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE") ;; *) - echo "$RESOURCE_PATH" + echo "$RESOURCE_PATH" || true echo "$RESOURCE_PATH" >> "$RESOURCES_TO_COPY" ;; esac diff --git a/Pods/Target Support Files/Pods-proxy_conf_helper/Pods-proxy_conf_helper.debug.xcconfig b/Pods/Target Support Files/Pods-proxy_conf_helper/Pods-proxy_conf_helper.debug.xcconfig index 7a9c2fa..2f65c6e 100644 --- a/Pods/Target Support Files/Pods-proxy_conf_helper/Pods-proxy_conf_helper.debug.xcconfig +++ b/Pods/Target Support Files/Pods-proxy_conf_helper/Pods-proxy_conf_helper.debug.xcconfig @@ -1,8 +1,9 @@ GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/BRLOptionParser" -LIBRARY_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/BRLOptionParser" +LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BRLOptionParser" OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/BRLOptionParser" OTHER_LDFLAGS = $(inherited) -ObjC -l"BRLOptionParser" -PODS_BUILD_DIR = $BUILD_DIR -PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods diff --git a/Pods/Target Support Files/Pods-proxy_conf_helper/Pods-proxy_conf_helper.release.xcconfig b/Pods/Target Support Files/Pods-proxy_conf_helper/Pods-proxy_conf_helper.release.xcconfig index 7a9c2fa..2f65c6e 100644 --- a/Pods/Target Support Files/Pods-proxy_conf_helper/Pods-proxy_conf_helper.release.xcconfig +++ b/Pods/Target Support Files/Pods-proxy_conf_helper/Pods-proxy_conf_helper.release.xcconfig @@ -1,8 +1,9 @@ GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/BRLOptionParser" -LIBRARY_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/BRLOptionParser" +LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BRLOptionParser" OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/BRLOptionParser" OTHER_LDFLAGS = $(inherited) -ObjC -l"BRLOptionParser" -PODS_BUILD_DIR = $BUILD_DIR -PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods diff --git a/Pods/Target Support Files/RxCocoa/RxCocoa.xcconfig b/Pods/Target Support Files/RxCocoa/RxCocoa.xcconfig index 7996294..25f353b 100644 --- a/Pods/Target Support Files/RxCocoa/RxCocoa.xcconfig +++ b/Pods/Target Support Files/RxCocoa/RxCocoa.xcconfig @@ -1,11 +1,11 @@ CODE_SIGN_IDENTITY = -CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/RxCocoa -FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/RxSwift" +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/BRLOptionParser" OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -PODS_BUILD_DIR = $BUILD_DIR -PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/RxCocoa PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} diff --git a/Pods/Target Support Files/RxSwift/RxSwift.xcconfig b/Pods/Target Support Files/RxSwift/RxSwift.xcconfig index e28d570..abf0358 100644 --- a/Pods/Target Support Files/RxSwift/RxSwift.xcconfig +++ b/Pods/Target Support Files/RxSwift/RxSwift.xcconfig @@ -1,10 +1,10 @@ CODE_SIGN_IDENTITY = -CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/RxSwift +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/RxSwift GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/BRLOptionParser" OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -PODS_BUILD_DIR = $BUILD_DIR -PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/RxSwift PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} diff --git a/Pods/Target Support Files/XYPingUtil/Info.plist b/Pods/Target Support Files/XYPingUtil/Info.plist new file mode 100644 index 0000000..cba2585 --- /dev/null +++ b/Pods/Target Support Files/XYPingUtil/Info.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + ${PRODUCT_BUNDLE_IDENTIFIER} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + FMWK + CFBundleShortVersionString + 0.0.1 + CFBundleSignature + ???? + CFBundleVersion + ${CURRENT_PROJECT_VERSION} + NSPrincipalClass + + + diff --git a/Pods/Target Support Files/XYPingUtil/XYPingUtil-dummy.m b/Pods/Target Support Files/XYPingUtil/XYPingUtil-dummy.m new file mode 100644 index 0000000..401e56c --- /dev/null +++ b/Pods/Target Support Files/XYPingUtil/XYPingUtil-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_XYPingUtil : NSObject +@end +@implementation PodsDummy_XYPingUtil +@end diff --git a/Pods/Target Support Files/XYPingUtil/XYPingUtil-prefix.pch b/Pods/Target Support Files/XYPingUtil/XYPingUtil-prefix.pch new file mode 100644 index 0000000..082f8af --- /dev/null +++ b/Pods/Target Support Files/XYPingUtil/XYPingUtil-prefix.pch @@ -0,0 +1,12 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + diff --git a/Pods/Target Support Files/XYPingUtil/XYPingUtil-umbrella.h b/Pods/Target Support Files/XYPingUtil/XYPingUtil-umbrella.h new file mode 100644 index 0000000..1518dcd --- /dev/null +++ b/Pods/Target Support Files/XYPingUtil/XYPingUtil-umbrella.h @@ -0,0 +1,19 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + +#import "PingManager.h" +#import "PingUtil.h" +#import "SimplePing.h" + +FOUNDATION_EXPORT double XYPingUtilVersionNumber; +FOUNDATION_EXPORT const unsigned char XYPingUtilVersionString[]; + diff --git a/Pods/Target Support Files/XYPingUtil/XYPingUtil.modulemap b/Pods/Target Support Files/XYPingUtil/XYPingUtil.modulemap new file mode 100644 index 0000000..48dfbdc --- /dev/null +++ b/Pods/Target Support Files/XYPingUtil/XYPingUtil.modulemap @@ -0,0 +1,6 @@ +framework module XYPingUtil { + umbrella header "XYPingUtil-umbrella.h" + + export * + module * { export * } +} diff --git a/Pods/Target Support Files/XYPingUtil/XYPingUtil.xcconfig b/Pods/Target Support Files/XYPingUtil/XYPingUtil.xcconfig new file mode 100644 index 0000000..88f19c8 --- /dev/null +++ b/Pods/Target Support Files/XYPingUtil/XYPingUtil.xcconfig @@ -0,0 +1,11 @@ +CODE_SIGN_IDENTITY = +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/XYPingUtil +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/BRLOptionParser" +OTHER_LDFLAGS = -l"z" -framework "Foundation" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_ROOT = ${SRCROOT} +PODS_TARGET_SRCROOT = ${PODS_ROOT}/XYPingUtil +PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} +SKIP_INSTALL = YES diff --git a/Pods/XYPingUtil/LICENSE b/Pods/XYPingUtil/LICENSE new file mode 100755 index 0000000..6ab1a1f --- /dev/null +++ b/Pods/XYPingUtil/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2017 Rudy Yang + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/Pods/XYPingUtil/PingUtil/PingManager.h b/Pods/XYPingUtil/PingUtil/PingManager.h new file mode 100644 index 0000000..f6a5832 --- /dev/null +++ b/Pods/XYPingUtil/PingUtil/PingManager.h @@ -0,0 +1,14 @@ +// +// PingManger.h +// MacTool +// +// Created by Rudy Yang on 2017/9/29. +// + +#import + +@interface PingManager : NSObject + +- (void)pingHost:(NSString *)host success:(void(^)(NSInteger msCount))success failure:(void(^)(void))failure; + +@end diff --git a/Pods/XYPingUtil/PingUtil/PingManager.m b/Pods/XYPingUtil/PingUtil/PingManager.m new file mode 100644 index 0000000..da56b85 --- /dev/null +++ b/Pods/XYPingUtil/PingUtil/PingManager.m @@ -0,0 +1,267 @@ +// +// PingManger.m +// MacTool +// +// Created by Rudy Yang on 2017/9/29. +// + +#import "PingManager.h" +#import "SimplePing.h" + +#include +#include +#include + +#pragma mark * Utilities + +/*! Returns the string representation of the supplied address. + * \param address Contains a (struct sockaddr) with the address to render. + * \returns A string representation of that address. + */ + +static NSString * displayAddressForAddress(NSData * address) { + int err; + NSString * result; + char hostStr[NI_MAXHOST]; + + result = nil; + + if (address != nil) { + err = getnameinfo(address.bytes, (socklen_t) address.length, hostStr, sizeof(hostStr), NULL, 0, NI_NUMERICHOST); + if (err == 0) { + result = @(hostStr); + } + } + + if (result == nil) { + result = @"?"; + } + + return result; +} + +/*! Returns a short error string for the supplied error. + * \param error The error to render. + * \returns A short string representing that error. + */ + +static NSString * shortErrorFromError(NSError * error) { + NSString * result; + NSNumber * failureNum; + int failure; + const char * failureStr; + + assert(error != nil); + + result = nil; + + // Handle DNS errors as a special case. + + if ( [error.domain isEqual:(NSString *)kCFErrorDomainCFNetwork] && (error.code == kCFHostErrorUnknown) ) { + failureNum = error.userInfo[(id) kCFGetAddrInfoFailureKey]; + if ( [failureNum isKindOfClass:[NSNumber class]] ) { + failure = failureNum.intValue; + if (failure != 0) { + failureStr = gai_strerror(failure); + if (failureStr != NULL) { + result = @(failureStr); + } + } + } + } + + // Otherwise try various properties of the error object. + + if (result == nil) { + result = error.localizedFailureReason; + } + if (result == nil) { + result = error.localizedDescription; + } + assert(result != nil); + return result; +} + + +@interface PingManager() + +@property (nonatomic, assign, readwrite) BOOL forceIPv4; +@property (nonatomic, assign, readwrite) BOOL forceIPv6; +@property (nonatomic, strong, readwrite, nullable) SimplePing * pinger; +@property (nonatomic, strong, readwrite, nullable) NSTimer * sendTimer; + +@property (nonatomic, assign) NSTimeInterval ping; + +@property (nonatomic, strong) NSDate *beginDate; + +@property (strong, nonatomic) NSMutableDictionary *PingTimers; + +@property (copy, nonatomic) void(^success)(NSInteger msCount); +@property (copy, nonatomic) void(^failure)(); + +@end + +@implementation PingManager + +- (void)dealloc { + [self->_pinger stop]; + [self->_sendTimer invalidate]; +} + +- (BOOL)isValidIpAddress:(NSString *)ip { + const char *utf8 = [ip UTF8String]; + + // Check valid IPv4. + struct in_addr dst; + int success = inet_pton(AF_INET, utf8, &(dst.s_addr)); + if (success != 1) { + // Check valid IPv6. + struct in6_addr dst6; + success = inet_pton(AF_INET6, utf8, &dst6); + } + return (success == 1); +} + +- (void)pingHost:(NSString *)host success:(void(^)(NSInteger msCount))success failure:(void(^)())failure { + + const char *utf8 = [host UTF8String]; + struct in_addr dst; + int isIPv4 = inet_pton(AF_INET, utf8, &(dst.s_addr)); + + struct in6_addr dst6; + int isIPv6 = inet_pton(AF_INET6, utf8, &dst6); + self.forceIPv6 = NO; + self.forceIPv4 = NO; + if (isIPv4 == 1) { + self.forceIPv4 = YES; + } else if (isIPv6 == 1) { + self.forceIPv6 = YES; + } else { + self.forceIPv4 = YES; + } + + self.success = success; + self.failure = failure; + [self runWithHostName:host]; +} + +- (void)close { + [self.sendTimer invalidate]; + self.sendTimer = nil; + self.pinger = nil; +} +/*! The Objective-C 'main' for this program. + * \details This creates a SimplePing object, configures it, and then runs the run loop + * sending pings and printing the results. + * \param hostName The host to ping. + */ + +- (void)runWithHostName:(NSString *)hostName { + assert(self.pinger == nil); + + self.pinger = [[SimplePing alloc] initWithHostName:hostName]; + assert(self.pinger != nil); + + // By default we use the first IP address we get back from host resolution (.Any) + // but these flags let the user override that. + + if (self.forceIPv4 && ! self.forceIPv6) { + self.pinger.addressStyle = SimplePingAddressStyleICMPv4; + } else if (self.forceIPv6 && ! self.forceIPv4) { + self.pinger.addressStyle = SimplePingAddressStyleICMPv6; + } + + self.pinger.delegate = self; + [self.pinger start]; + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ + if (self.pinger != nil) { + [self close]; + if (self.success) { + self.success(-1); + } + } + }); + do { + [[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantFuture]]; + } while (self.pinger != nil); +} + +/*! Sends a ping. + * \details Called to send a ping, both directly (as soon as the SimplePing object starts up) + * and via a timer (to continue sending pings periodically). + */ + +- (void)sendPing { + assert(self.pinger != nil); + [self.pinger sendPingWithData:nil]; +} + +- (void)simplePing:(SimplePing *)pinger didStartWithAddress:(NSData *)address { +#pragma unused(pinger) + assert(pinger == self.pinger); + assert(address != nil); + self.beginDate = [NSDate date]; + NSLog(@"pinging %@", displayAddressForAddress(address)); + + // Send the first ping straight away. + + [self sendPing]; + + // And start a timer to send the subsequent pings. + + assert(self.sendTimer == nil); + self.sendTimer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(sendPing) userInfo:nil repeats:YES]; +} + +- (void)simplePing:(SimplePing *)pinger didFailWithError:(NSError *)error { +#pragma unused(pinger) + assert(pinger == self.pinger); + NSLog(@"failed: %@", shortErrorFromError(error)); + [self close]; + if (self.failure) { + self.failure(); + } +} + +- (void)simplePing:(SimplePing *)pinger didSendPacket:(NSData *)packet sequenceNumber:(uint16_t)sequenceNumber { +#pragma unused(pinger) + assert(pinger == self.pinger); +#pragma unused(packet) + NSLog(@"#%u sent", (unsigned int) sequenceNumber); +} + +- (void)simplePing:(SimplePing *)pinger didFailToSendPacket:(NSData *)packet sequenceNumber:(uint16_t)sequenceNumber error:(NSError *)error { +#pragma unused(pinger) + assert(pinger == self.pinger); +#pragma unused(packet) + NSLog(@"#%u send failed: %@", (unsigned int) sequenceNumber, shortErrorFromError(error)); + [self close]; + if (self.failure) { + self.failure(); + } +} + +- (void)simplePing:(SimplePing *)pinger didReceivePingResponsePacket:(NSData *)packet sequenceNumber:(uint16_t)sequenceNumber { +#pragma unused(pinger) + assert(pinger == self.pinger); +#pragma unused(packet) + self.ping = [[NSDate date] timeIntervalSinceDate:self.beginDate] * 1000; +// NSLog(@"ping = %@", @(_ping)); + NSLog(@"#%u received, size=%zu", (unsigned int) sequenceNumber, (size_t) packet.length); + [self close]; + if (self.success) { + self.success(self.ping); + } +} + +- (void)simplePing:(SimplePing *)pinger didReceiveUnexpectedPacket:(NSData *)packet { +#pragma unused(pinger) + assert(pinger == self.pinger); + [self close]; + NSLog(@"unexpected packet, size=%zu", (size_t) packet.length); + if (self.success) { + self.success(0); + } +} + +@end diff --git a/Pods/XYPingUtil/PingUtil/PingUtil.h b/Pods/XYPingUtil/PingUtil/PingUtil.h new file mode 100644 index 0000000..0669869 --- /dev/null +++ b/Pods/XYPingUtil/PingUtil/PingUtil.h @@ -0,0 +1,24 @@ +// +// PingUtil.h +// PingUtil +// +// Created by Rudy Yang on 2017/10/18. +// Copyright © 2017年 Rudy Yang. All rights reserved. +// + +#import + +FOUNDATION_EXPORT double PingUtil_maxOSVersionNumber; + +FOUNDATION_EXPORT const unsigned char PingUtil_maxOSVersionString[]; + +@interface PingUtil : NSObject + +@property (strong, nonatomic) NSMutableDictionary *pingTimers; + ++ (void)pingHost:(NSString *)host success:(void(^)(NSInteger msCount))success failure:(void(^)(void))failure; + ++ (void)pingHosts:(NSArray *)hosts success:(void(^)(NSArray* msCounts))success failure:(void(^)(void))failure; + + +@end diff --git a/Pods/XYPingUtil/PingUtil/PingUtil.m b/Pods/XYPingUtil/PingUtil/PingUtil.m new file mode 100644 index 0000000..1bbe352 --- /dev/null +++ b/Pods/XYPingUtil/PingUtil/PingUtil.m @@ -0,0 +1,36 @@ +// +// PingUtil.m +// PingUtil +// +// Created by Rudy Yang on 2017/10/18. +// Copyright © 2017年 Rudy Yang. All rights reserved. +// + +#import "PingUtil.h" +#import "PingManager.h" + +@implementation PingUtil + ++ (void)pingHost:(NSString *)host success:(void(^)(NSInteger msCount))success failure:(void(^)(void))failure { + [self pingHosts:@[host] success:^(NSArray *msCounts) { + success([msCounts.firstObject integerValue]); + } failure:^{ + failure(); + }]; +} + ++ (void)pingHosts:(NSArray *)hosts success:(void(^)(NSArray* msCounts))success failure:(void(^)(void))failure { + NSMutableArray *msCounts = @[].mutableCopy; + for (NSString *host in hosts) { + PingManager *pingManager = [[PingManager alloc] init]; + [pingManager pingHost:host success:^(NSInteger msCount) { + [msCounts addObject:@(msCount)]; + } failure:^{ + + }]; + } + success(msCounts); +} + + +@end diff --git a/Pods/XYPingUtil/PingUtil/SimplePing.h b/Pods/XYPingUtil/PingUtil/SimplePing.h new file mode 100755 index 0000000..f76d07b --- /dev/null +++ b/Pods/XYPingUtil/PingUtil/SimplePing.h @@ -0,0 +1,272 @@ +/* + Copyright (C) 2016 Apple Inc. All Rights Reserved. + See LICENSE.txt for this sample’s licensing information + + Abstract: + An object wrapper around the low-level BSD Sockets ping function. + */ + +@import Foundation; + +#include // for __Check_Compile_Time + +NS_ASSUME_NONNULL_BEGIN + +@protocol SimplePingDelegate; + +/*! Controls the IP address version used by SimplePing instances. + */ + +typedef NS_ENUM(NSInteger, SimplePingAddressStyle) { + SimplePingAddressStyleAny, ///< Use the first IPv4 or IPv6 address found; the default. + SimplePingAddressStyleICMPv4, ///< Use the first IPv4 address found. + SimplePingAddressStyleICMPv6 ///< Use the first IPv6 address found. +}; + +/*! An object wrapper around the low-level BSD Sockets ping function. + * \details To use the class create an instance, set the delegate and call `-start` + * to start the instance on the current run loop. If things go well you'll soon get the + * `-simplePing:didStartWithAddress:` delegate callback. From there you can can call + * `-sendPingWithData:` to send a ping and you'll receive the + * `-simplePing:didReceivePingResponsePacket:sequenceNumber:` and + * `-simplePing:didReceiveUnexpectedPacket:` delegate callbacks as ICMP packets arrive. + * + * The class can be used from any thread but the use of any single instance must be + * confined to a specific thread and that thread must run its run loop. + */ + +@interface SimplePing : NSObject + +- (instancetype)init NS_UNAVAILABLE; + +/*! Initialise the object to ping the specified host. + * \param hostName The DNS name of the host to ping; an IPv4 or IPv6 address in string form will + * work here. + * \returns The initialised object. + */ + +- (instancetype)initWithHostName:(NSString *)hostName NS_DESIGNATED_INITIALIZER; + +/*! A copy of the value passed to `-initWithHostName:`. + */ + +@property (nonatomic, copy, readonly) NSString * hostName; + +/*! The delegate for this object. + * \details Delegate callbacks are schedule in the default run loop mode of the run loop of the + * thread that calls `-start`. + */ + +@property (nonatomic, weak, readwrite, nullable) id delegate; + +/*! Controls the IP address version used by the object. + * \details You should set this value before starting the object. + */ + +@property (nonatomic, assign, readwrite) SimplePingAddressStyle addressStyle; + +/*! The address being pinged. + * \details The contents of the NSData is a (struct sockaddr) of some form. The + * value is nil while the object is stopped and remains nil on start until + * `-simplePing:didStartWithAddress:` is called. + */ + +@property (nonatomic, copy, readonly, nullable) NSData * hostAddress; + +/*! The address family for `hostAddress`, or `AF_UNSPEC` if that's nil. + */ + +@property (nonatomic, assign, readonly) sa_family_t hostAddressFamily; + +/*! The identifier used by pings by this object. + * \details When you create an instance of this object it generates a random identifier + * that it uses to identify its own pings. + */ + +@property (nonatomic, assign, readonly) uint16_t identifier; + +/*! The next sequence number to be used by this object. + * \details This value starts at zero and increments each time you send a ping (safely + * wrapping back to zero if necessary). The sequence number is included in the ping, + * allowing you to match up requests and responses, and thus calculate ping times and + * so on. + */ + +@property (nonatomic, assign, readonly) uint16_t nextSequenceNumber; + +/*! Starts the object. + * \details You should set up the delegate and any ping parameters before calling this. + * + * If things go well you'll soon get the `-simplePing:didStartWithAddress:` delegate + * callback, at which point you can start sending pings (via `-sendPingWithData:`) and + * will start receiving ICMP packets (either ping responses, via the + * `-simplePing:didReceivePingResponsePacket:sequenceNumber:` delegate callback, or + * unsolicited ICMP packets, via the `-simplePing:didReceiveUnexpectedPacket:` delegate + * callback). + * + * If the object fails to start, typically because `hostName` doesn't resolve, you'll get + * the `-simplePing:didFailWithError:` delegate callback. + * + * It is not correct to start an already started object. + */ + +- (void)start; + +/*! Sends a ping packet containing the specified data. + * \details Sends an actual ping. + * + * The object must be started when you call this method and, on starting the object, you must + * wait for the `-simplePing:didStartWithAddress:` delegate callback before calling it. + * \param data Some data to include in the ping packet, after the ICMP header, or nil if you + * want the packet to include a standard 56 byte payload (resulting in a standard 64 byte + * ping). + */ + +- (void)sendPingWithData:(nullable NSData *)data; + +/*! Stops the object. + * \details You should call this when you're done pinging. + * + * It's safe to call this on an object that's stopped. + */ + +- (void)stop; + +@end + +/*! A delegate protocol for the SimplePing class. + */ + +@protocol SimplePingDelegate + +@optional + +/*! A SimplePing delegate callback, called once the object has started up. + * \details This is called shortly after you start the object to tell you that the + * object has successfully started. On receiving this callback, you can call + * `-sendPingWithData:` to send pings. + * + * If the object didn't start, `-simplePing:didFailWithError:` is called instead. + * \param pinger The object issuing the callback. + * \param address The address that's being pinged; at the time this delegate callback + * is made, this will have the same value as the `hostAddress` property. + */ + +- (void)simplePing:(SimplePing *)pinger didStartWithAddress:(NSData *)address; + +/*! A SimplePing delegate callback, called if the object fails to start up. + * \details This is called shortly after you start the object to tell you that the + * object has failed to start. The most likely cause of failure is a problem + * resolving `hostName`. + * + * By the time this callback is called, the object has stopped (that is, you don't + * need to call `-stop` yourself). + * \param pinger The object issuing the callback. + * \param error Describes the failure. + */ + +- (void)simplePing:(SimplePing *)pinger didFailWithError:(NSError *)error; + +/*! A SimplePing delegate callback, called when the object has successfully sent a ping packet. + * \details Each call to `-sendPingWithData:` will result in either a + * `-simplePing:didSendPacket:sequenceNumber:` delegate callback or a + * `-simplePing:didFailToSendPacket:sequenceNumber:error:` delegate callback (unless you + * stop the object before you get the callback). These callbacks are currently delivered + * synchronously from within `-sendPingWithData:`, but this synchronous behaviour is not + * considered API. + * \param pinger The object issuing the callback. + * \param packet The packet that was sent; this includes the ICMP header (`ICMPHeader`) and the + * data you passed to `-sendPingWithData:` but does not include any IP-level headers. + * \param sequenceNumber The ICMP sequence number of that packet. + */ + +- (void)simplePing:(SimplePing *)pinger didSendPacket:(NSData *)packet sequenceNumber:(uint16_t)sequenceNumber; + +/*! A SimplePing delegate callback, called when the object fails to send a ping packet. + * \details Each call to `-sendPingWithData:` will result in either a + * `-simplePing:didSendPacket:sequenceNumber:` delegate callback or a + * `-simplePing:didFailToSendPacket:sequenceNumber:error:` delegate callback (unless you + * stop the object before you get the callback). These callbacks are currently delivered + * synchronously from within `-sendPingWithData:`, but this synchronous behaviour is not + * considered API. + * \param pinger The object issuing the callback. + * \param packet The packet that was not sent; see `-simplePing:didSendPacket:sequenceNumber:` + * for details. + * \param sequenceNumber The ICMP sequence number of that packet. + * \param error Describes the failure. + */ + +- (void)simplePing:(SimplePing *)pinger didFailToSendPacket:(NSData *)packet sequenceNumber:(uint16_t)sequenceNumber error:(NSError *)error; + +/*! A SimplePing delegate callback, called when the object receives a ping response. + * \details If the object receives an ping response that matches a ping request that it + * sent, it informs the delegate via this callback. Matching is primarily done based on + * the ICMP identifier, although other criteria are used as well. + * \param pinger The object issuing the callback. + * \param packet The packet received; this includes the ICMP header (`ICMPHeader`) and any data that + * follows that in the ICMP message but does not include any IP-level headers. + * \param sequenceNumber The ICMP sequence number of that packet. + */ + +- (void)simplePing:(SimplePing *)pinger didReceivePingResponsePacket:(NSData *)packet sequenceNumber:(uint16_t)sequenceNumber; + +/*! A SimplePing delegate callback, called when the object receives an unmatched ICMP message. + * \details If the object receives an ICMP message that does not match a ping request that it + * sent, it informs the delegate via this callback. The nature of ICMP handling in a + * BSD kernel makes this a common event because, when an ICMP message arrives, it is + * delivered to all ICMP sockets. + * + * IMPORTANT: This callback is especially common when using IPv6 because IPv6 uses ICMP + * for important network management functions. For example, IPv6 routers periodically + * send out Router Advertisement (RA) packets via Neighbor Discovery Protocol (NDP), which + * is implemented on top of ICMP. + * + * For more on matching, see the discussion associated with + * `-simplePing:didReceivePingResponsePacket:sequenceNumber:`. + * \param pinger The object issuing the callback. + * \param packet The packet received; this includes the ICMP header (`ICMPHeader`) and any data that + * follows that in the ICMP message but does not include any IP-level headers. + */ + +- (void)simplePing:(SimplePing *)pinger didReceiveUnexpectedPacket:(NSData *)packet; + +@end + +#pragma mark * ICMP On-The-Wire Format + +/*! Describes the on-the-wire header format for an ICMP ping. + * \details This defines the header structure of ping packets on the wire. Both IPv4 and + * IPv6 use the same basic structure. + * + * This is declared in the header because clients of SimplePing might want to use + * it parse received ping packets. + */ + +struct ICMPHeader { + uint8_t type; + uint8_t code; + uint16_t checksum; + uint16_t identifier; + uint16_t sequenceNumber; + // data... +}; +typedef struct ICMPHeader ICMPHeader; + +__Check_Compile_Time(sizeof(ICMPHeader) == 8); +__Check_Compile_Time(offsetof(ICMPHeader, type) == 0); +__Check_Compile_Time(offsetof(ICMPHeader, code) == 1); +__Check_Compile_Time(offsetof(ICMPHeader, checksum) == 2); +__Check_Compile_Time(offsetof(ICMPHeader, identifier) == 4); +__Check_Compile_Time(offsetof(ICMPHeader, sequenceNumber) == 6); + +enum { + ICMPv4TypeEchoRequest = 8, ///< The ICMP `type` for a ping request; in this case `code` is always 0. + ICMPv4TypeEchoReply = 0 ///< The ICMP `type` for a ping response; in this case `code` is always 0. +}; + +enum { + ICMPv6TypeEchoRequest = 128, ///< The ICMP `type` for a ping request; in this case `code` is always 0. + ICMPv6TypeEchoReply = 129 ///< The ICMP `type` for a ping response; in this case `code` is always 0. +}; + +NS_ASSUME_NONNULL_END diff --git a/Pods/XYPingUtil/PingUtil/SimplePing.m b/Pods/XYPingUtil/PingUtil/SimplePing.m new file mode 100644 index 0000000..0e60f82 --- /dev/null +++ b/Pods/XYPingUtil/PingUtil/SimplePing.m @@ -0,0 +1,782 @@ +/* + Copyright (C) 2016 Apple Inc. All Rights Reserved. + See LICENSE.txt for this sample’s licensing information + + Abstract: + An object wrapper around the low-level BSD Sockets ping function. + */ + +#import "SimplePing.h" + +#include +#include +#include + +#pragma mark * IPv4 and ICMPv4 On-The-Wire Format + +/*! Describes the on-the-wire header format for an IPv4 packet. + * \details This defines the header structure of IPv4 packets on the wire. We need + * this in order to skip this header in the IPv4 case, where the kernel passes + * it to us for no obvious reason. + */ + +struct IPv4Header { + uint8_t versionAndHeaderLength; + uint8_t differentiatedServices; + uint16_t totalLength; + uint16_t identification; + uint16_t flagsAndFragmentOffset; + uint8_t timeToLive; + uint8_t protocol; + uint16_t headerChecksum; + uint8_t sourceAddress[4]; + uint8_t destinationAddress[4]; + // options... + // data... +}; +typedef struct IPv4Header IPv4Header; + +__Check_Compile_Time(sizeof(IPv4Header) == 20); +__Check_Compile_Time(offsetof(IPv4Header, versionAndHeaderLength) == 0); +__Check_Compile_Time(offsetof(IPv4Header, differentiatedServices) == 1); +__Check_Compile_Time(offsetof(IPv4Header, totalLength) == 2); +__Check_Compile_Time(offsetof(IPv4Header, identification) == 4); +__Check_Compile_Time(offsetof(IPv4Header, flagsAndFragmentOffset) == 6); +__Check_Compile_Time(offsetof(IPv4Header, timeToLive) == 8); +__Check_Compile_Time(offsetof(IPv4Header, protocol) == 9); +__Check_Compile_Time(offsetof(IPv4Header, headerChecksum) == 10); +__Check_Compile_Time(offsetof(IPv4Header, sourceAddress) == 12); +__Check_Compile_Time(offsetof(IPv4Header, destinationAddress) == 16); + +/*! Calculates an IP checksum. + * \details This is the standard BSD checksum code, modified to use modern types. + * \param buffer A pointer to the data to checksum. + * \param bufferLen The length of that data. + * \returns The checksum value, in network byte order. + */ + +static uint16_t in_cksum(const void *buffer, size_t bufferLen) { + // + size_t bytesLeft; + int32_t sum; + const uint16_t * cursor; + union { + uint16_t us; + uint8_t uc[2]; + } last; + uint16_t answer; + + bytesLeft = bufferLen; + sum = 0; + cursor = buffer; + + /* + * Our algorithm is simple, using a 32 bit accumulator (sum), we add + * sequential 16 bit words to it, and at the end, fold back all the + * carry bits from the top 16 bits into the lower 16 bits. + */ + while (bytesLeft > 1) { + sum += *cursor; + cursor += 1; + bytesLeft -= 2; + } + + /* mop up an odd byte, if necessary */ + if (bytesLeft == 1) { + last.uc[0] = * (const uint8_t *) cursor; + last.uc[1] = 0; + sum += last.us; + } + + /* add back carry outs from top 16 bits to low 16 bits */ + sum = (sum >> 16) + (sum & 0xffff); /* add hi 16 to low 16 */ + sum += (sum >> 16); /* add carry */ + answer = (uint16_t) ~sum; /* truncate to 16 bits */ + + return answer; +} + +#pragma mark * SimplePing + +@interface SimplePing () + +// read/write versions of public properties + +@property (nonatomic, copy, readwrite, nullable) NSData * hostAddress; +@property (nonatomic, assign, readwrite ) uint16_t nextSequenceNumber; + +// private properties + +/*! True if nextSequenceNumber has wrapped from 65535 to 0. + */ + +@property (nonatomic, assign, readwrite) BOOL nextSequenceNumberHasWrapped; + +/*! A host object for name-to-address resolution. + */ + +@property (nonatomic, strong, readwrite, nullable) CFHostRef host __attribute__ ((NSObject)); + +/*! A socket object for ICMP send and receive. + */ + +@property (nonatomic, strong, readwrite, nullable) CFSocketRef socket __attribute__ ((NSObject)); + +@end + +@implementation SimplePing + +- (instancetype)initWithHostName:(NSString *)hostName { + NSParameterAssert(hostName != nil); + self = [super init]; + if (self != nil) { + self->_hostName = [hostName copy]; + self->_identifier = (uint16_t) arc4random(); + } + return self; +} + +- (void)dealloc { + [self stop]; + // Double check that -stop took care of _host and _socket. + assert(self->_host == NULL); + assert(self->_socket == NULL); +} + +- (sa_family_t)hostAddressFamily { + sa_family_t result; + + result = AF_UNSPEC; + if ( (self.hostAddress != nil) && (self.hostAddress.length >= sizeof(struct sockaddr)) ) { + result = ((const struct sockaddr *) self.hostAddress.bytes)->sa_family; + } + return result; +} + +/*! Shuts down the pinger object and tell the delegate about the error. + * \param error Describes the failure. + */ + +- (void)didFailWithError:(NSError *)error { + id strongDelegate; + + assert(error != nil); + + // We retain ourselves temporarily because it's common for the delegate method + // to release its last reference to us, which causes -dealloc to be called here. + // If we then reference self on the return path, things go badly. I don't think + // that happens currently, but I've got into the habit of doing this as a + // defensive measure. + + CFAutorelease( CFBridgingRetain( self )); + + [self stop]; + strongDelegate = self.delegate; + if ( (strongDelegate != nil) && [strongDelegate respondsToSelector:@selector(simplePing:didFailWithError:)] ) { + [strongDelegate simplePing:self didFailWithError:error]; + } +} + +/*! Shuts down the pinger object and tell the delegate about the error. + * \details This converts the CFStreamError to an NSError and then call through to + * -didFailWithError: to do the real work. + * \param streamError Describes the failure. + */ + +- (void)didFailWithHostStreamError:(CFStreamError)streamError { + NSDictionary * userInfo; + NSError * error; + + if (streamError.domain == kCFStreamErrorDomainNetDB) { + userInfo = @{(id) kCFGetAddrInfoFailureKey: @(streamError.error)}; + } else { + userInfo = nil; + } + error = [NSError errorWithDomain:(NSString *) kCFErrorDomainCFNetwork code:kCFHostErrorUnknown userInfo:userInfo]; + + [self didFailWithError:error]; +} + +/*! Builds a ping packet from the supplied parameters. + * \param type The packet type, which is different for IPv4 and IPv6. + * \param payload Data to place after the ICMP header. + * \param requiresChecksum Determines whether a checksum is calculated (IPv4) or not (IPv6). + * \returns A ping packet suitable to be passed to the kernel. + */ + +- (NSData *)pingPacketWithType:(uint8_t)type payload:(NSData *)payload requiresChecksum:(BOOL)requiresChecksum { + NSMutableData * packet; + ICMPHeader * icmpPtr; + + packet = [NSMutableData dataWithLength:sizeof(*icmpPtr) + payload.length]; + assert(packet != nil); + + icmpPtr = packet.mutableBytes; + icmpPtr->type = type; + icmpPtr->code = 0; + icmpPtr->checksum = 0; + icmpPtr->identifier = OSSwapHostToBigInt16(self.identifier); + icmpPtr->sequenceNumber = OSSwapHostToBigInt16(self.nextSequenceNumber); + memcpy(&icmpPtr[1], [payload bytes], [payload length]); + + if (requiresChecksum) { + // The IP checksum routine returns a 16-bit number that's already in correct byte order + // (due to wacky 1's complement maths), so we just put it into the packet as a 16-bit unit. + + icmpPtr->checksum = in_cksum(packet.bytes, packet.length); + } + + return packet; +} + +- (void)sendPingWithData:(NSData *)data { + int err; + NSData * payload; + NSData * packet; + ssize_t bytesSent; + id strongDelegate; + + // data may be nil + NSParameterAssert(self.hostAddress != nil); // gotta wait for -simplePing:didStartWithAddress: + + // Construct the ping packet. + + payload = data; + if (payload == nil) { + payload = [[NSString stringWithFormat:@"%28zd bottles of beer on the wall", (ssize_t) 99 - (size_t) (self.nextSequenceNumber % 100) ] dataUsingEncoding:NSASCIIStringEncoding]; + assert(payload != nil); + + // Our dummy payload is sized so that the resulting ICMP packet, including the ICMPHeader, is + // 64-bytes, which makes it easier to recognise our packets on the wire. + + assert([payload length] == 56); + } + + switch (self.hostAddressFamily) { + case AF_INET: { + packet = [self pingPacketWithType:ICMPv4TypeEchoRequest payload:payload requiresChecksum:YES]; + } break; + case AF_INET6: { + packet = [self pingPacketWithType:ICMPv6TypeEchoRequest payload:payload requiresChecksum:NO]; + } break; + default: { + assert(NO); + } break; + } + assert(packet != nil); + + // Send the packet. + + if (self.socket == NULL) { + bytesSent = -1; + err = EBADF; + } else { + bytesSent = sendto( + CFSocketGetNative(self.socket), + packet.bytes, + packet.length, + 0, + self.hostAddress.bytes, + (socklen_t) self.hostAddress.length + ); + err = 0; + if (bytesSent < 0) { + err = errno; + } + } + + // Handle the results of the send. + + strongDelegate = self.delegate; + if ( (bytesSent > 0) && (((NSUInteger) bytesSent) == packet.length) ) { + + // Complete success. Tell the client. + + if ( (strongDelegate != nil) && [strongDelegate respondsToSelector:@selector(simplePing:didSendPacket:sequenceNumber:)] ) { + [strongDelegate simplePing:self didSendPacket:packet sequenceNumber:self.nextSequenceNumber]; + } + } else { + NSError * error; + + // Some sort of failure. Tell the client. + + if (err == 0) { + err = ENOBUFS; // This is not a hugely descriptor error, alas. + } + error = [NSError errorWithDomain:NSPOSIXErrorDomain code:err userInfo:nil]; + if ( (strongDelegate != nil) && [strongDelegate respondsToSelector:@selector(simplePing:didFailToSendPacket:sequenceNumber:error:)] ) { + [strongDelegate simplePing:self didFailToSendPacket:packet sequenceNumber:self.nextSequenceNumber error:error]; + } + } + + self.nextSequenceNumber += 1; + if (self.nextSequenceNumber == 0) { + self.nextSequenceNumberHasWrapped = YES; + } +} + +/*! Calculates the offset of the ICMP header within an IPv4 packet. + * \details In the IPv4 case the kernel returns us a buffer that includes the + * IPv4 header. We're not interested in that, so we have to skip over it. + * This code does a rough check of the IPv4 header and, if it looks OK, + * returns the offset of the ICMP header. + * \param packet The IPv4 packet, as returned to us by the kernel. + * \returns The offset of the ICMP header, or NSNotFound. + */ + ++ (NSUInteger)icmpHeaderOffsetInIPv4Packet:(NSData *)packet { + // Returns the offset of the ICMPv4Header within an IP packet. + NSUInteger result; + const struct IPv4Header * ipPtr; + size_t ipHeaderLength; + + result = NSNotFound; + if (packet.length >= (sizeof(IPv4Header) + sizeof(ICMPHeader))) { + ipPtr = (const IPv4Header *) packet.bytes; + if ( ((ipPtr->versionAndHeaderLength & 0xF0) == 0x40) && // IPv4 + ( ipPtr->protocol == IPPROTO_ICMP ) ) { + ipHeaderLength = (ipPtr->versionAndHeaderLength & 0x0F) * sizeof(uint32_t); + if (packet.length >= (ipHeaderLength + sizeof(ICMPHeader))) { + result = ipHeaderLength; + } + } + } + return result; +} + +/*! Checks whether the specified sequence number is one we sent. + * \param sequenceNumber The incoming sequence number. + * \returns YES if the sequence number looks like one we sent. + */ + +- (BOOL)validateSequenceNumber:(uint16_t)sequenceNumber { + if (self.nextSequenceNumberHasWrapped) { + // If the sequence numbers have wrapped that we can't reliably check + // whether this is a sequence number we sent. Rather, we check to see + // whether the sequence number is within the last 120 sequence numbers + // we sent. Note that the uint16_t subtraction here does the right + // thing regardless of the wrapping. + // + // Why 120? Well, if we send one ping per second, 120 is 2 minutes, which + // is the standard "max time a packet can bounce around the Internet" value. + return ((uint16_t) (self.nextSequenceNumber - sequenceNumber)) < (uint16_t) 120; + } else { + return sequenceNumber < self.nextSequenceNumber; + } +} + +/*! Checks whether an incoming IPv4 packet looks like a ping response. + * \details This routine modifies this `packet` data! It does this for two reasons: + * + * * It needs to zero out the `checksum` field of the ICMPHeader in order to do + * its checksum calculation. + * + * * It removes the IPv4 header from the front of the packet. + * \param packet The IPv4 packet, as returned to us by the kernel. + * \param sequenceNumberPtr A pointer to a place to start the ICMP sequence number. + * \returns YES if the packet looks like a reasonable IPv4 ping response. + */ + +- (BOOL)validatePing4ResponsePacket:(NSMutableData *)packet sequenceNumber:(uint16_t *)sequenceNumberPtr { + BOOL result; + NSUInteger icmpHeaderOffset; + ICMPHeader * icmpPtr; + uint16_t receivedChecksum; + uint16_t calculatedChecksum; + + result = NO; + + icmpHeaderOffset = [[self class] icmpHeaderOffsetInIPv4Packet:packet]; + if (icmpHeaderOffset != NSNotFound) { + icmpPtr = (struct ICMPHeader *) (((uint8_t *) packet.mutableBytes) + icmpHeaderOffset); + + receivedChecksum = icmpPtr->checksum; + icmpPtr->checksum = 0; + calculatedChecksum = in_cksum(icmpPtr, packet.length - icmpHeaderOffset); + icmpPtr->checksum = receivedChecksum; + + if (receivedChecksum == calculatedChecksum) { + if ( (icmpPtr->type == ICMPv4TypeEchoReply) && (icmpPtr->code == 0) ) { + if ( OSSwapBigToHostInt16(icmpPtr->identifier) == self.identifier ) { + uint16_t sequenceNumber; + + sequenceNumber = OSSwapBigToHostInt16(icmpPtr->sequenceNumber); + if ([self validateSequenceNumber:sequenceNumber]) { + + // Remove the IPv4 header off the front of the data we received, leaving us with + // just the ICMP header and the ping payload. + [packet replaceBytesInRange:NSMakeRange(0, icmpHeaderOffset) withBytes:NULL length:0]; + + *sequenceNumberPtr = sequenceNumber; + result = YES; + } + } + } + } + } + + return result; +} + +/*! Checks whether an incoming IPv6 packet looks like a ping response. + * \param packet The IPv6 packet, as returned to us by the kernel; note that this routine + * could modify this data but does not need to in the IPv6 case. + * \param sequenceNumberPtr A pointer to a place to start the ICMP sequence number. + * \returns YES if the packet looks like a reasonable IPv4 ping response. + */ + +- (BOOL)validatePing6ResponsePacket:(NSMutableData *)packet sequenceNumber:(uint16_t *)sequenceNumberPtr { + BOOL result; + const ICMPHeader * icmpPtr; + + result = NO; + + if (packet.length >= sizeof(*icmpPtr)) { + icmpPtr = packet.bytes; + + // In the IPv6 case we don't check the checksum because that's hard (we need to + // cook up an IPv6 pseudo header and we don't have the ingredients) and unnecessary + // (the kernel has already done this check). + + if ( (icmpPtr->type == ICMPv6TypeEchoReply) && (icmpPtr->code == 0) ) { + if ( OSSwapBigToHostInt16(icmpPtr->identifier) == self.identifier ) { + uint16_t sequenceNumber; + + sequenceNumber = OSSwapBigToHostInt16(icmpPtr->sequenceNumber); + if ([self validateSequenceNumber:sequenceNumber]) { + *sequenceNumberPtr = sequenceNumber; + result = YES; + } + } + } + } + return result; +} + +/*! Checks whether an incoming packet looks like a ping response. + * \param packet The packet, as returned to us by the kernel; note that may end up modifying + * this data. + * \param sequenceNumberPtr A pointer to a place to start the ICMP sequence number. + * \returns YES if the packet looks like a reasonable IPv4 ping response. + */ + +- (BOOL)validatePingResponsePacket:(NSMutableData *)packet sequenceNumber:(uint16_t *)sequenceNumberPtr { + BOOL result; + + switch (self.hostAddressFamily) { + case AF_INET: { + result = [self validatePing4ResponsePacket:packet sequenceNumber:sequenceNumberPtr]; + } break; + case AF_INET6: { + result = [self validatePing6ResponsePacket:packet sequenceNumber:sequenceNumberPtr]; + } break; + default: { + assert(NO); + result = NO; + } break; + } + return result; +} + +/*! Reads data from the ICMP socket. + * \details Called by the socket handling code (SocketReadCallback) to process an ICMP + * message waiting on the socket. + */ + +- (void)readData { + int err; + struct sockaddr_storage addr; + socklen_t addrLen; + ssize_t bytesRead; + void * buffer; + enum { kBufferSize = 65535 }; + + // 65535 is the maximum IP packet size, which seems like a reasonable bound + // here (plus it's what uses). + + buffer = malloc(kBufferSize); + assert(buffer != NULL); + + // Actually read the data. We use recvfrom(), and thus get back the source address, + // but we don't actually do anything with it. It would be trivial to pass it to + // the delegate but we don't need it in this example. + + addrLen = sizeof(addr); + bytesRead = recvfrom(CFSocketGetNative(self.socket), buffer, kBufferSize, 0, (struct sockaddr *) &addr, &addrLen); + err = 0; + if (bytesRead < 0) { + err = errno; + } + + // Process the data we read. + + if (bytesRead > 0) { + NSMutableData * packet; + id strongDelegate; + uint16_t sequenceNumber; + + packet = [NSMutableData dataWithBytes:buffer length:(NSUInteger) bytesRead]; + assert(packet != nil); + + // We got some data, pass it up to our client. + + strongDelegate = self.delegate; + if ( [self validatePingResponsePacket:packet sequenceNumber:&sequenceNumber] ) { + if ( (strongDelegate != nil) && [strongDelegate respondsToSelector:@selector(simplePing:didReceivePingResponsePacket:sequenceNumber:)] ) { + [strongDelegate simplePing:self didReceivePingResponsePacket:packet sequenceNumber:sequenceNumber]; + } + } else { + if ( (strongDelegate != nil) && [strongDelegate respondsToSelector:@selector(simplePing:didReceiveUnexpectedPacket:)] ) { + [strongDelegate simplePing:self didReceiveUnexpectedPacket:packet]; + } + } + } else { + + // We failed to read the data, so shut everything down. + + if (err == 0) { + err = EPIPE; + } + [self didFailWithError:[NSError errorWithDomain:NSPOSIXErrorDomain code:err userInfo:nil]]; + } + + free(buffer); + + // Note that we don't loop back trying to read more data. Rather, we just + // let CFSocket call us again. +} + +/*! The callback for our CFSocket object. + * \details This simply routes the call to our `-readData` method. + * \param s See the documentation for CFSocketCallBack. + * \param type See the documentation for CFSocketCallBack. + * \param address See the documentation for CFSocketCallBack. + * \param data See the documentation for CFSocketCallBack. + * \param info See the documentation for CFSocketCallBack; this is actually a pointer to the + * 'owning' object. + */ + +static void SocketReadCallback(CFSocketRef s, CFSocketCallBackType type, CFDataRef address, const void *data, void *info) { + // This C routine is called by CFSocket when there's data waiting on our + // ICMP socket. It just redirects the call to Objective-C code. + SimplePing * obj; + + obj = (__bridge SimplePing *) info; + assert([obj isKindOfClass:[SimplePing class]]); + + #pragma unused(s) + assert(s == obj.socket); + #pragma unused(type) + assert(type == kCFSocketReadCallBack); + #pragma unused(address) + assert(address == nil); + #pragma unused(data) + assert(data == nil); + + [obj readData]; +} + +/*! Starts the send and receive infrastructure. + * \details This is called once we've successfully resolved `hostName` in to + * `hostAddress`. It's responsible for setting up the socket for sending and + * receiving pings. + */ + +- (void)startWithHostAddress { + int err; + int fd; + + assert(self.hostAddress != nil); + + // Open the socket. + + fd = -1; + err = 0; + switch (self.hostAddressFamily) { + case AF_INET: { + fd = socket(AF_INET, SOCK_DGRAM, IPPROTO_ICMP); + if (fd < 0) { + err = errno; + } + } break; + case AF_INET6: { + fd = socket(AF_INET6, SOCK_DGRAM, IPPROTO_ICMPV6); + if (fd < 0) { + err = errno; + } + } break; + default: { + err = EPROTONOSUPPORT; + } break; + } + + if (err != 0) { + [self didFailWithError:[NSError errorWithDomain:NSPOSIXErrorDomain code:err userInfo:nil]]; + } else { + CFSocketContext context = {0, (__bridge void *)(self), NULL, NULL, NULL}; + CFRunLoopSourceRef rls; + id strongDelegate; + + // Wrap it in a CFSocket and schedule it on the runloop. + + self.socket = (CFSocketRef) CFAutorelease( CFSocketCreateWithNative(NULL, fd, kCFSocketReadCallBack, SocketReadCallback, &context) ); + assert(self.socket != NULL); + + // The socket will now take care of cleaning up our file descriptor. + + assert( CFSocketGetSocketFlags(self.socket) & kCFSocketCloseOnInvalidate ); + fd = -1; + + rls = CFSocketCreateRunLoopSource(NULL, self.socket, 0); + assert(rls != NULL); + + CFRunLoopAddSource(CFRunLoopGetCurrent(), rls, kCFRunLoopDefaultMode); + + CFRelease(rls); + + strongDelegate = self.delegate; + if ( (strongDelegate != nil) && [strongDelegate respondsToSelector:@selector(simplePing:didStartWithAddress:)] ) { + [strongDelegate simplePing:self didStartWithAddress:self.hostAddress]; + } + } + assert(fd == -1); +} + +/*! Processes the results of our name-to-address resolution. + * \details Called by our CFHost resolution callback (HostResolveCallback) when host + * resolution is complete. We just latch the first appropriate address and kick + * off the send and receive infrastructure. + */ + +- (void)hostResolutionDone { + Boolean resolved; + NSArray * addresses; + + // Find the first appropriate address. + + addresses = (__bridge NSArray *) CFHostGetAddressing(self.host, &resolved); + if ( resolved && (addresses != nil) ) { + resolved = false; + for (NSData * address in addresses) { + const struct sockaddr * addrPtr; + + addrPtr = (const struct sockaddr *) address.bytes; + if ( address.length >= sizeof(struct sockaddr) ) { + switch (addrPtr->sa_family) { + case AF_INET: { + if (self.addressStyle != SimplePingAddressStyleICMPv6) { + self.hostAddress = address; + resolved = true; + } + } break; + case AF_INET6: { + if (self.addressStyle != SimplePingAddressStyleICMPv4) { + self.hostAddress = address; + resolved = true; + } + } break; + } + } + if (resolved) { + break; + } + } + } + + // We're done resolving, so shut that down. + + [self stopHostResolution]; + + // If all is OK, start the send and receive infrastructure, otherwise stop. + + if (resolved) { + [self startWithHostAddress]; + } else { + [self didFailWithError:[NSError errorWithDomain:(NSString *)kCFErrorDomainCFNetwork code:kCFHostErrorHostNotFound userInfo:nil]]; + } +} + +/*! The callback for our CFHost object. + * \details This simply routes the call to our `-hostResolutionDone` or + * `-didFailWithHostStreamError:` methods. + * \param theHost See the documentation for CFHostClientCallBack. + * \param typeInfo See the documentation for CFHostClientCallBack. + * \param error See the documentation for CFHostClientCallBack. + * \param info See the documentation for CFHostClientCallBack; this is actually a pointer to + * the 'owning' object. + */ + +static void HostResolveCallback(CFHostRef theHost, CFHostInfoType typeInfo, const CFStreamError *error, void *info) { + // This C routine is called by CFHost when the host resolution is complete. + // It just redirects the call to the appropriate Objective-C method. + SimplePing * obj; + + obj = (__bridge SimplePing *) info; + assert([obj isKindOfClass:[SimplePing class]]); + + #pragma unused(theHost) + assert(theHost == obj.host); + #pragma unused(typeInfo) + assert(typeInfo == kCFHostAddresses); + + if ( (error != NULL) && (error->domain != 0) ) { + [obj didFailWithHostStreamError:*error]; + } else { + [obj hostResolutionDone]; + } +} + +- (void)start { + Boolean success; + CFHostClientContext context = {0, (__bridge void *)(self), NULL, NULL, NULL}; + CFStreamError streamError; + + assert(self.host == NULL); + assert(self.hostAddress == nil); + + self.host = (CFHostRef) CFAutorelease( CFHostCreateWithName(NULL, (__bridge CFStringRef) self.hostName) ); + assert(self.host != NULL); + + CFHostSetClient(self.host, HostResolveCallback, &context); + + CFHostScheduleWithRunLoop(self.host, CFRunLoopGetCurrent(), kCFRunLoopDefaultMode); + + success = CFHostStartInfoResolution(self.host, kCFHostAddresses, &streamError); + if ( ! success ) { + [self didFailWithHostStreamError:streamError]; + } +} + +/*! Stops the name-to-address resolution infrastructure. + */ + +- (void)stopHostResolution { + // Shut down the CFHost. + if (self.host != NULL) { + CFHostSetClient(self.host, NULL, NULL); + CFHostUnscheduleFromRunLoop(self.host, CFRunLoopGetCurrent(), kCFRunLoopDefaultMode); + self.host = NULL; + } +} + +/*! Stops the send and receive infrastructure. + */ + +- (void)stopSocket { + if (self.socket != NULL) { + CFSocketInvalidate(self.socket); + self.socket = NULL; + } +} + +- (void)stop { + [self stopHostResolution]; + [self stopSocket]; + + // Junk the host address on stop. If the client calls -start again, we'll + // re-resolve the host name. + + self.hostAddress = NULL; +} + +@end diff --git a/Pods/XYPingUtil/README.md b/Pods/XYPingUtil/README.md new file mode 100644 index 0000000..c9c74c7 --- /dev/null +++ b/Pods/XYPingUtil/README.md @@ -0,0 +1 @@ +# PingUtil diff --git a/ShadowsocksX-NG.xcodeproj/project.pbxproj b/ShadowsocksX-NG.xcodeproj/project.pbxproj index f6103cc..1d5536c 100755 --- a/ShadowsocksX-NG.xcodeproj/project.pbxproj +++ b/ShadowsocksX-NG.xcodeproj/project.pbxproj @@ -669,13 +669,16 @@ files = ( ); inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", ); name = "[CP] Check Pods Manifest.lock"; outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-ShadowsocksX-NGTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; 3545247EFCD033C3FA63EA6C /* [CP] Check Pods Manifest.lock */ = { @@ -684,13 +687,16 @@ files = ( ); inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", ); name = "[CP] Check Pods Manifest.lock"; outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-proxy_conf_helper-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; 3E819BD46B855EDB116A3C70 /* [CP] Copy Pods Resources */ = { @@ -714,9 +720,22 @@ files = ( ); inputPaths = ( + "${SRCROOT}/Pods/Target Support Files/Pods-ShadowsocksX-NG/Pods-ShadowsocksX-NG-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/Alamofire/Alamofire.framework", + "${BUILT_PRODUCTS_DIR}/GCDWebServer/GCDWebServer.framework", + "${BUILT_PRODUCTS_DIR}/MASShortcut/MASShortcut.framework", + "${BUILT_PRODUCTS_DIR}/RxCocoa/RxCocoa.framework", + "${BUILT_PRODUCTS_DIR}/RxSwift/RxSwift.framework", + "${BUILT_PRODUCTS_DIR}/XYPingUtil/XYPingUtil.framework", ); name = "[CP] Embed Pods Frameworks"; outputPaths = ( + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Alamofire.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GCDWebServer.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MASShortcut.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RxCocoa.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RxSwift.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/XYPingUtil.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -744,13 +763,16 @@ files = ( ); inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", ); name = "[CP] Check Pods Manifest.lock"; outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-ShadowsocksX-NG-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; D8C2D6AF002916F4095E15E3 /* [CP] Copy Pods Resources */ = { diff --git a/ShadowsocksX-NG/AppDelegate.swift b/ShadowsocksX-NG/AppDelegate.swift index 7257088..a8a9e4b 100755 --- a/ShadowsocksX-NG/AppDelegate.swift +++ b/ShadowsocksX-NG/AppDelegate.swift @@ -109,7 +109,7 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSUserNotificationCenterDele image.isTemplate = true statusItem.image = image statusItem.menu = statusMenu - + ServerProfileManager.instance.refreshPing() let notifyCenter = NotificationCenter.default @@ -555,6 +555,7 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSUserNotificationCenterDele if isChanged { mgr.save() + ServerProfileManager.instance.refreshPing() self.updateServersMenu() } else { sendNotify("Not found valid qrcode of shadowsocks profile.", "", "") diff --git a/ShadowsocksX-NG/Base.lproj/Localizable.strings b/ShadowsocksX-NG/Base.lproj/Localizable.strings index 6bfdced..c3ce111 100755 --- a/ShadowsocksX-NG/Base.lproj/Localizable.strings +++ b/ShadowsocksX-NG/Base.lproj/Localizable.strings @@ -55,3 +55,5 @@ "Manual" = "Manual"; "Show Running Mode On Status Bar" = "Show Running Mode On Status Bar"; + +"Timeout" = "Timeout"; diff --git a/ShadowsocksX-NG/PreferencesWindowController.swift b/ShadowsocksX-NG/PreferencesWindowController.swift index 21b3951..9c0ca14 100644 --- a/ShadowsocksX-NG/PreferencesWindowController.swift +++ b/ShadowsocksX-NG/PreferencesWindowController.swift @@ -160,6 +160,7 @@ class PreferencesWindowController: NSWindowController } } profileMgr.save() + ServerProfileManager.instance.refreshPing() window?.performClose(nil) diff --git a/ShadowsocksX-NG/ServerProfile.swift b/ShadowsocksX-NG/ServerProfile.swift index 99fb692..be36cb5 100644 --- a/ShadowsocksX-NG/ServerProfile.swift +++ b/ShadowsocksX-NG/ServerProfile.swift @@ -7,6 +7,7 @@ // import Cocoa +import XYPingUtil class ServerProfile: NSObject, NSCopying { @@ -23,6 +24,8 @@ class ServerProfile: NSObject, NSCopying { @objc var enabledKcptun: Bool = false @objc var kcptunProfile = KcptunProfile() + @objc var ping:Int = 0 + override init() { uuid = UUID().uuidString } @@ -126,6 +129,7 @@ class ServerProfile: NSObject, NSCopying { copy.enabledKcptun = self.enabledKcptun copy.kcptunProfile = self.kcptunProfile.copy() as! KcptunProfile + copy.ping = self.ping return copy; } @@ -148,6 +152,9 @@ class ServerProfile: NSObject, NSCopying { if let kcptunData = data["KcptunProfile"] { profile.kcptunProfile = KcptunProfile.fromDictionary(kcptunData as! [String:Any?]) } + if let ping = data["Ping"] as? NSNumber { + profile.ping = ping.intValue + } } if let id = data["Id"] as? String { @@ -172,6 +179,7 @@ class ServerProfile: NSObject, NSCopying { d["OTA"] = ota as AnyObject? d["EnabledKcptun"] = NSNumber(value: enabledKcptun) d["KcptunProfile"] = kcptunProfile.toDictionary() as AnyObject + d["Ping"] = NSNumber(value: ping) return d } @@ -315,10 +323,22 @@ class ServerProfile: NSObject, NSCopying { } func title() -> String { + var ping = self.ping == 0 ? "" : "(\(self.ping)ms)" + if self.ping == -1 { + ping = "(\("Timeout".localized))" + } if remark.isEmpty { - return "\(serverHost):\(serverPort)" + return "\(serverHost):\(serverPort)\(ping)" } else { - return "\(remark) (\(serverHost):\(serverPort))" + return "\(remark) (\(serverHost):\(serverPort))\(ping)" } } + + func refreshPing() { + PingUtil.pingHost(serverHost, success: { (ping) in + self.ping = ping + }, failure: { + print("ping failure") + }) + } } diff --git a/ShadowsocksX-NG/ServerProfileManager.swift b/ShadowsocksX-NG/ServerProfileManager.swift index e06ea00..b548203 100644 --- a/ShadowsocksX-NG/ServerProfileManager.swift +++ b/ShadowsocksX-NG/ServerProfileManager.swift @@ -58,6 +58,12 @@ class ServerProfileManager: NSObject { } } + func refreshPing() { + for profile in profiles { + profile.refreshPing() + } + } + func getActiveProfile() -> ServerProfile? { if let id = activeProfileId { for p in profiles { @@ -106,6 +112,7 @@ class ServerProfileManager: NSObject { self.profiles.append(profile) self.save() + self.refreshPing() } NotificationCenter.default.post(name: NOTIFY_SERVER_PROFILES_CHANGED, object: nil) let configsCount = (jsonArr1.object(forKey: "configs") as! [[String: AnyObject]]).count diff --git a/ShadowsocksX-NG/zh-Hans.lproj/Localizable.strings b/ShadowsocksX-NG/zh-Hans.lproj/Localizable.strings index 4785d17..3dc0bbe 100755 --- a/ShadowsocksX-NG/zh-Hans.lproj/Localizable.strings +++ b/ShadowsocksX-NG/zh-Hans.lproj/Localizable.strings @@ -65,3 +65,5 @@ */ "Export Command Copied." = "Export 命令已复制至剪贴板"; + +"Timeout" = "超时";