Commit c7483c8b2d9a25c0add993269a9b89decb0f3280

Authored by Cao yang
1 parent a7941cb7
Exists in parentassistant

规范podfile文件,更新三方库,完善考勤接口

Showing 79 changed files with 5801 additions and 1054 deletions   Show diff stats
ParentAssistant/ParentAssistant.xcodeproj/project.pbxproj
@@ -1045,6 +1045,7 @@ @@ -1045,6 +1045,7 @@
1045 "${SRCROOT}/Pods/Target Support Files/Pods-ParentAssistant/Pods-ParentAssistant-frameworks.sh", 1045 "${SRCROOT}/Pods/Target Support Files/Pods-ParentAssistant/Pods-ParentAssistant-frameworks.sh",
1046 "${BUILT_PRODUCTS_DIR}/Alamofire/Alamofire.framework", 1046 "${BUILT_PRODUCTS_DIR}/Alamofire/Alamofire.framework",
1047 "${BUILT_PRODUCTS_DIR}/DZNEmptyDataSet/DZNEmptyDataSet.framework", 1047 "${BUILT_PRODUCTS_DIR}/DZNEmptyDataSet/DZNEmptyDataSet.framework",
  1048 + "${BUILT_PRODUCTS_DIR}/HandyJSON/HandyJSON.framework",
1048 "${BUILT_PRODUCTS_DIR}/Reachability/Reachability.framework", 1049 "${BUILT_PRODUCTS_DIR}/Reachability/Reachability.framework",
1049 "${BUILT_PRODUCTS_DIR}/SDWebImage/SDWebImage.framework", 1050 "${BUILT_PRODUCTS_DIR}/SDWebImage/SDWebImage.framework",
1050 "${BUILT_PRODUCTS_DIR}/SVProgressHUD/SVProgressHUD.framework", 1051 "${BUILT_PRODUCTS_DIR}/SVProgressHUD/SVProgressHUD.framework",
@@ -1056,6 +1057,7 @@ @@ -1056,6 +1057,7 @@
1056 outputPaths = ( 1057 outputPaths = (
1057 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Alamofire.framework", 1058 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Alamofire.framework",
1058 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/DZNEmptyDataSet.framework", 1059 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/DZNEmptyDataSet.framework",
  1060 + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/HandyJSON.framework",
1059 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Reachability.framework", 1061 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Reachability.framework",
1060 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SDWebImage.framework", 1062 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SDWebImage.framework",
1061 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SVProgressHUD.framework", 1063 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SVProgressHUD.framework",
ParentAssistant/ParentAssistant.xcodeproj/xcuserdata/caoyang.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -7,7 +7,7 @@ @@ -7,7 +7,7 @@
7 <key>ParentAssistant.xcscheme</key> 7 <key>ParentAssistant.xcscheme</key>
8 <dict> 8 <dict>
9 <key>orderHint</key> 9 <key>orderHint</key>
10 - <integer>1</integer> 10 + <integer>10</integer>
11 </dict> 11 </dict>
12 </dict> 12 </dict>
13 </dict> 13 </dict>
ParentAssistant/ParentAssistant.xcworkspace/xcuserdata/caoyang.xcuserdatad/UserInterfaceState.xcuserstate
No preview for this file type
ParentAssistant/ParentAssistant.xcworkspace/xcuserdata/caoyang.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
@@ -13,21 +13,5 @@ @@ -13,21 +13,5 @@
13 stopOnStyle = "0"> 13 stopOnStyle = "0">
14 </BreakpointContent> 14 </BreakpointContent>
15 </BreakpointProxy> 15 </BreakpointProxy>
16 - <BreakpointProxy  
17 - BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">  
18 - <BreakpointContent  
19 - shouldBeEnabled = "Yes"  
20 - ignoreCount = "0"  
21 - continueAfterRunningActions = "No"  
22 - filePath = "ParentAssistant/Classes/controllers/Grow/Program/ProgramCheckViewController.swift"  
23 - timestampString = "545732019.229158"  
24 - startingColumnNumber = "9223372036854775807"  
25 - endingColumnNumber = "9223372036854775807"  
26 - startingLineNumber = "38"  
27 - endingLineNumber = "38"  
28 - landmarkName = "downLoadDataFromNet()"  
29 - landmarkType = "7">  
30 - </BreakpointContent>  
31 - </BreakpointProxy>  
32 </Breakpoints> 16 </Breakpoints>
33 </Bucket> 17 </Bucket>
ParentAssistant/ParentAssistant/Classes/controllers/Grow/Model/StudentCardModel.swift
@@ -7,12 +7,14 @@ @@ -7,12 +7,14 @@
7 // 7 //
8 8
9 import UIKit 9 import UIKit
10 -  
11 -class StudentCardModel: NSObject { 10 +import HandyJSON
  11 +class StudentCardModel: HandyJSON {
12 12
13 var user_id = String() 13 var user_id = String()
14 var school_id = String() 14 var school_id = String()
15 var head_image = String() 15 var head_image = String()
16 var situation = String() 16 var situation = String()
  17 +
  18 + required init(){}
17 19
18 } 20 }
ParentAssistant/ParentAssistant/Classes/controllers/Grow/Program/ProgramCheckViewController.swift
@@ -22,6 +22,7 @@ class ProgramCheckViewController: UIViewController,UITableViewDelegate,UITableVi @@ -22,6 +22,7 @@ class ProgramCheckViewController: UIViewController,UITableViewDelegate,UITableVi
22 return table 22 return table
23 }() 23 }()
24 24
  25 + var viewData = Array<StudentCardModel>()
25 26
26 27
27 override func viewDidLoad() { 28 override func viewDidLoad() {
@@ -33,11 +34,20 @@ class ProgramCheckViewController: UIViewController,UITableViewDelegate,UITableVi @@ -33,11 +34,20 @@ class ProgramCheckViewController: UIViewController,UITableViewDelegate,UITableVi
33 34
34 /// 获取数据 35 /// 获取数据
35 private func downLoadDataFromNet(){ 36 private func downLoadDataFromNet(){
  37 + SVProgressHUD.show()
36 let params = ["studentid":185,"schoolid":1,"starttime":"2017-07-19"] as [String : Any] 38 let params = ["studentid":185,"schoolid":1,"starttime":"2017-07-19"] as [String : Any]
37 HTTPServer.shared.getStudentCheckList(parameters: params as [String : AnyObject]) { (backData, error) in 39 HTTPServer.shared.getStudentCheckList(parameters: params as [String : AnyObject]) { (backData, error) in
38 - print(backData!) 40 + SVProgressHUD.dismiss()
39 if error == nil && JSON.fromString(backData)!["status"].intValue == 1 { 41 if error == nil && JSON.fromString(backData)!["status"].intValue == 1 {
40 - 42 + let data = JSON.fromString(backData)!["data"].arrayValue
  43 +
  44 + for i in 0..<data.count {
  45 + let dic = data[i].dictionary
  46 + if let model = StudentCardModel.deserialize(from: dic){
  47 + self.viewData.append(model)
  48 + }
  49 + }
  50 + self.tableView.reloadData()
41 } 51 }
42 } 52 }
43 } 53 }
@@ -48,7 +58,7 @@ class ProgramCheckViewController: UIViewController,UITableViewDelegate,UITableVi @@ -48,7 +58,7 @@ class ProgramCheckViewController: UIViewController,UITableViewDelegate,UITableVi
48 return 1 58 return 1
49 } 59 }
50 func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 60 func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
51 - return 3 61 + return self.viewData.count + 1
52 } 62 }
53 func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { 63 func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
54 if indexPath.row == 0 { 64 if indexPath.row == 0 {
ParentAssistant/Podfile
@@ -2,23 +2,21 @@ platform :ios, ‘9.0’ @@ -2,23 +2,21 @@ platform :ios, ‘9.0’
2 use_frameworks! 2 use_frameworks!
3 inhibit_all_warnings! 3 inhibit_all_warnings!
4 4
5 -def pods  
6 -pod 'Alamofire'  
7 -pod 'SDWebImage'  
8 -pod 'Toast'  
9 -pod 'XRCarouselView'  
10 -pod 'Reachability'  
11 -pod 'UMCCommon'  
12 -pod 'UMCSecurityPlugins'  
13 -pod 'UMCAnalytics'  
14 -pod 'UMCErrorCatch'  
15 -pod 'DZNEmptyDataSet'  
16 -pod 'SVProgressHUD'  
17 -pod 'NIMSDK_LITE'  
18 -pod 'SwiftHash'  
19 -  
20 -end  
21 target 'ParentAssistant' do 5 target 'ParentAssistant' do
22 - pod 'HandyJSON', '~> 4.0.0-beta.1'  
23 -pods 6 +
  7 + pod 'HandyJSON', '~> 4.1.1'
  8 + pod 'Alamofire','~>4.0.1'
  9 + pod 'SDWebImage','~>3.8.2'
  10 + pod 'Toast','~>3.1.0'
  11 + pod 'XRCarouselView','~>2.5.6'
  12 + pod 'Reachability','~>3.2'
  13 + pod 'UMCCommon','~>1.4.2'
  14 + pod 'UMCSecurityPlugins','~>1.0.6'
  15 + pod 'UMCAnalytics','~>5.4.1'
  16 + pod 'UMCErrorCatch','~>1.0.0'
  17 + pod 'DZNEmptyDataSet','~>1.8.1'
  18 + pod 'SVProgressHUD','~>2.2.5'
  19 + pod 'NIMSDK_LITE','~>4.9.0'
  20 + pod 'SwiftHash','~>2.0.1'
  21 +
24 end 22 end
ParentAssistant/Podfile.lock
1 PODS: 1 PODS:
2 - Alamofire (4.0.1) 2 - Alamofire (4.0.1)
3 - DZNEmptyDataSet (1.8.1) 3 - DZNEmptyDataSet (1.8.1)
  4 + - HandyJSON (4.1.1)
4 - NIMSDK_LITE (4.9.0) 5 - NIMSDK_LITE (4.9.0)
5 - Reachability (3.2) 6 - Reachability (3.2)
6 - SDWebImage (3.8.2): 7 - SDWebImage (3.8.2):
@@ -18,23 +19,25 @@ PODS: @@ -18,23 +19,25 @@ PODS:
18 - XRCarouselView (2.5.6) 19 - XRCarouselView (2.5.6)
19 20
20 DEPENDENCIES: 21 DEPENDENCIES:
21 - - Alamofire  
22 - - DZNEmptyDataSet  
23 - - NIMSDK_LITE  
24 - - Reachability  
25 - - SDWebImage  
26 - - SVProgressHUD  
27 - - SwiftHash  
28 - - Toast  
29 - - UMCAnalytics  
30 - - UMCCommon  
31 - - UMCErrorCatch  
32 - - UMCSecurityPlugins  
33 - - XRCarouselView 22 + - Alamofire (~> 4.0.1)
  23 + - DZNEmptyDataSet (~> 1.8.1)
  24 + - HandyJSON (~> 4.1.1)
  25 + - NIMSDK_LITE (~> 4.9.0)
  26 + - Reachability (~> 3.2)
  27 + - SDWebImage (~> 3.8.2)
  28 + - SVProgressHUD (~> 2.2.5)
  29 + - SwiftHash (~> 2.0.1)
  30 + - Toast (~> 3.1.0)
  31 + - UMCAnalytics (~> 5.4.1)
  32 + - UMCCommon (~> 1.4.2)
  33 + - UMCErrorCatch (~> 1.0.0)
  34 + - UMCSecurityPlugins (~> 1.0.6)
  35 + - XRCarouselView (~> 2.5.6)
34 36
35 SPEC CHECKSUMS: 37 SPEC CHECKSUMS:
36 Alamofire: 7682d43245de14874acd142ec137b144aa1dd335 38 Alamofire: 7682d43245de14874acd142ec137b144aa1dd335
37 DZNEmptyDataSet: 9525833b9e68ac21c30253e1d3d7076cc828eaa7 39 DZNEmptyDataSet: 9525833b9e68ac21c30253e1d3d7076cc828eaa7
  40 + HandyJSON: 3a3de917c4118767ffe41c29b5acba23409649f4
38 NIMSDK_LITE: a69a019544299a1b597db6ebf98927f5e12fa17c 41 NIMSDK_LITE: a69a019544299a1b597db6ebf98927f5e12fa17c
39 Reachability: 33e18b67625424e47b6cde6d202dce689ad7af96 42 Reachability: 33e18b67625424e47b6cde6d202dce689ad7af96
40 SDWebImage: 098e97e6176540799c27e804c96653ee0833d13c 43 SDWebImage: 098e97e6176540799c27e804c96653ee0833d13c
@@ -47,6 +50,6 @@ SPEC CHECKSUMS: @@ -47,6 +50,6 @@ SPEC CHECKSUMS:
47 UMCSecurityPlugins: 0831a08f3988f3cea9f1d3a7626cd9bee4fef150 50 UMCSecurityPlugins: 0831a08f3988f3cea9f1d3a7626cd9bee4fef150
48 XRCarouselView: 52529f924d26ee4787f9bd958150800b73e60922 51 XRCarouselView: 52529f924d26ee4787f9bd958150800b73e60922
49 52
50 -PODFILE CHECKSUM: bede341771386f5d5daec06d0fa659a0b8e8137b 53 +PODFILE CHECKSUM: ef5a2eedc2a762110d9f7458ad01512ced09aba0
51 54
52 COCOAPODS: 1.4.0 55 COCOAPODS: 1.4.0
ParentAssistant/Pods/HandyJSON/LICENSE 0 → 100644
@@ -0,0 +1,13 @@ @@ -0,0 +1,13 @@
  1 + Copyright 1999-2016 Alibaba Group Holding Ltd.
  2 +
  3 + Licensed under the Apache License, Version 2.0 (the "License");
  4 + you may not use this file except in compliance with the License.
  5 + You may obtain a copy of the License at
  6 +
  7 + http://www.apache.org/licenses/LICENSE-2.0
  8 +
  9 + Unless required by applicable law or agreed to in writing, software
  10 + distributed under the License is distributed on an "AS IS" BASIS,
  11 + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12 + See the License for the specific language governing permissions and
  13 + limitations under the License.
ParentAssistant/Pods/HandyJSON/README.md 0 → 100644
@@ -0,0 +1,688 @@ @@ -0,0 +1,688 @@
  1 +# HandyJSON
  2 +
  3 +HandyJSON is a framework written in Swift which to make converting model objects( **pure classes/structs** ) to and from JSON easy on iOS.
  4 +
  5 +Compared with others, the most significant feature of HandyJSON is that it does not require the objects inherit from NSObject(**not using KVC but reflection**), neither implements a 'mapping' function(**writing value to memory directly to achieve property assignment**).
  6 +
  7 +HandyJSON is totally depend on the memory layout rules infered from Swift runtime code. We are watching it and will follow every bit if it changes.
  8 +
  9 +[![Build Status](https://travis-ci.org/alibaba/HandyJSON.svg?branch=master)](https://travis-ci.org/alibaba/HandyJSON)
  10 +[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage)
  11 +[![Cocoapods Version](https://img.shields.io/cocoapods/v/HandyJSON.svg?style=flat)](http://cocoadocs.org/docsets/HandyJSON)
  12 +[![Cocoapods Platform](https://img.shields.io/cocoapods/p/HandyJSON.svg?style=flat)](http://cocoadocs.org/docsets/HandyJSON)
  13 +[![Codecov branch](https://img.shields.io/codecov/c/github/alibaba/HandyJSON/master.svg?style=flat)](https://codecov.io/gh/alibaba/HandyJSON/branch/master)
  14 +
  15 +## [中文文档](./README_cn.md)
  16 +
  17 +## 交流群
  18 +
  19 +群号: 581331250
  20 +
  21 +![交流群](qq_group.png)
  22 +
  23 +## Sample Code
  24 +
  25 +### Deserialization
  26 +
  27 +```swift
  28 +class BasicTypes: HandyJSON {
  29 + var int: Int = 2
  30 + var doubleOptional: Double?
  31 + var stringImplicitlyUnwrapped: String!
  32 +
  33 + required init() {}
  34 +}
  35 +
  36 +let jsonString = "{\"doubleOptional\":1.1,\"stringImplicitlyUnwrapped\":\"hello\",\"int\":1}"
  37 +if let object = BasicTypes.deserialize(from: jsonString) {
  38 + print(object.int)
  39 + print(object.doubleOptional!)
  40 + print(object.stringImplicitlyUnwrapped)
  41 +}
  42 +```
  43 +
  44 +### Serialization
  45 +
  46 +```swift
  47 +
  48 +let object = BasicTypes()
  49 +object.int = 1
  50 +object.doubleOptional = 1.1
  51 +object.stringImplicitlyUnwrapped = “hello"
  52 +
  53 +print(object.toJSON()!) // serialize to dictionary
  54 +print(object.toJSONString()!) // serialize to JSON string
  55 +print(object.toJSONString(prettyPrint: true)!) // serialize to pretty JSON string
  56 +```
  57 +
  58 +# Content
  59 +
  60 +- [Features](#features)
  61 +- [Requirements](#requirements)
  62 +- [Installation](#installation)
  63 + - [Cocoapods](#cocoapods)
  64 + - [Carthage](#carthage)
  65 + - [Manually](#manually)
  66 +- [Deserialization](#deserialization)
  67 + - [The Basics](#the-basics)
  68 + - [Support Struct](#support-struct)
  69 + - [Support Enum Property](#support-enum-property)
  70 + - [Optional/ImplicitlyUnwrappedOptional/Collections/...](#optionalimplicitlyunwrappedoptionalcollections)
  71 + - [Designated Path](#designated-path)
  72 + - [Composition Object](#composition-object)
  73 + - [Inheritance Object](#inheritance-object)
  74 + - [JSON Array](#json-array)
  75 + - [Mapping From Dictionary](#mapping-from-dictionary)
  76 + - [Custom Mapping](#custom-mapping)
  77 + - [Date/Data/URL/Decimal/Color](#datedataurldecimalcolor)
  78 + - [Exclude Property](#exclude-property)
  79 + - [Update Existing Model](#update-existing-model)
  80 + - [Supported Property Type](#supported-property-type)
  81 +- [Serialization](#serialization)
  82 + - [The Basics](#the-basics)
  83 + - [Mapping And Excluding](#mapping-and-excluding)
  84 +- [FAQ](#faq)
  85 +- [To Do](#to-do)
  86 +
  87 +# Features
  88 +
  89 +* Serialize/Deserialize Object/JSON to/From JSON/Object
  90 +
  91 +* Naturally use object property name for mapping, no need to specify a mapping relationship
  92 +
  93 +* Support almost all types in Swift, including enum
  94 +
  95 +* Support struct
  96 +
  97 +* Custom transformations
  98 +
  99 +* Type-Adaption, such as string json field maps to int property, int json field maps to string property
  100 +
  101 +An overview of types supported can be found at file: [BasicTypes.swift](./HandyJSONTest/BasicTypes.swift)
  102 +
  103 +# Requirements
  104 +
  105 +* iOS 8.0+/OSX 10.9+/watchOS 2.0+/tvOS 9.0+
  106 +
  107 +* Swift 3.0+ / Swift 4.0+
  108 +
  109 +# Installation
  110 +
  111 +**To use with Swift 3.x using >= 1.8.0**
  112 +
  113 +**To use with Swift 4.0 using == 4.1.1**
  114 +
  115 +For Legacy Swift2.x support, take a look at the [swift2 branch](https://github.com/alibaba/HandyJSON/tree/master_for_swift_2x).
  116 +
  117 +## Cocoapods
  118 +
  119 +Add the following line to your `Podfile`:
  120 +
  121 +```
  122 +pod 'HandyJSON', '~> 4.1.1'
  123 +```
  124 +
  125 +Then, run the following command:
  126 +
  127 +```
  128 +$ pod install
  129 +```
  130 +
  131 +## Carthage
  132 +
  133 +You can add a dependency on `HandyJSON` by adding the following line to your `Cartfile`:
  134 +
  135 +```
  136 +github "alibaba/HandyJSON" ~> 4.1.1
  137 +```
  138 +
  139 +## Manually
  140 +
  141 +You can integrate `HandyJSON` into your project manually by doing the following steps:
  142 +
  143 +* Open up `Terminal`, `cd` into your top-level project directory, and add `HandyJSON` as a submodule:
  144 +
  145 +```
  146 +git init && git submodule add https://github.com/alibaba/HandyJSON.git
  147 +```
  148 +
  149 +* Open the new `HandyJSON` folder, drag the `HandyJSON.xcodeproj` into the `Project Navigator` of your project.
  150 +
  151 +* Select your application project in the `Project Navigator`, open the `General` panel in the right window.
  152 +
  153 +* Click on the `+` button under the `Embedded Binaries` section.
  154 +
  155 +* You will see two different `HandyJSON.xcodeproj` folders each with four different versions of the HandyJSON.framework nested inside a Products folder.
  156 +> It does not matter which Products folder you choose from, but it does matter which HandyJSON.framework you choose.
  157 +
  158 +* Select one of the four `HandyJSON.framework` which matches the platform your Application should run on.
  159 +
  160 +* Congratulations!
  161 +
  162 +# Deserialization
  163 +
  164 +## The Basics
  165 +
  166 +To support deserialization from JSON, a class/struct need to conform to 'HandyJSON' protocol. It's truly protocol, not some class inherited from NSObject.
  167 +
  168 +To conform to 'HandyJSON', a class need to implement an empty initializer.
  169 +
  170 +```swift
  171 +class BasicTypes: HandyJSON {
  172 + var int: Int = 2
  173 + var doubleOptional: Double?
  174 + var stringImplicitlyUnwrapped: String!
  175 +
  176 + required init() {}
  177 +}
  178 +
  179 +let jsonString = "{\"doubleOptional\":1.1,\"stringImplicitlyUnwrapped\":\"hello\",\"int\":1}"
  180 +if let object = BasicTypes.deserialize(from: jsonString) {
  181 + // …
  182 +}
  183 +```
  184 +
  185 +## Support Struct
  186 +
  187 +For struct, since the compiler provide a default empty initializer, we use it for free.
  188 +
  189 +```swift
  190 +struct BasicTypes: HandyJSON {
  191 + var int: Int = 2
  192 + var doubleOptional: Double?
  193 + var stringImplicitlyUnwrapped: String!
  194 +}
  195 +
  196 +let jsonString = "{\"doubleOptional\":1.1,\"stringImplicitlyUnwrapped\":\"hello\",\"int\":1}"
  197 +if let object = BasicTypes.deserialize(from: jsonString) {
  198 + // …
  199 +}
  200 +```
  201 +
  202 +But also notice that, if you have a designated initializer to override the default one in the struct, you should explicitly declare an empty one(no `required` modifier need).
  203 +
  204 +## Support Enum Property
  205 +
  206 +To be convertable, An `enum` must conform to `HandyJSONEnum` protocol. Nothing special need to do now.
  207 +
  208 +```swift
  209 +enum AnimalType: String, HandyJSONEnum {
  210 + case Cat = "cat"
  211 + case Dog = "dog"
  212 + case Bird = "bird"
  213 +}
  214 +
  215 +struct Animal: HandyJSON {
  216 + var name: String?
  217 + var type: AnimalType?
  218 +}
  219 +
  220 +let jsonString = "{\"type\":\"cat\",\"name\":\"Tom\"}"
  221 +if let animal = Animal.deserialize(from: jsonString) {
  222 + print(animal.type?.rawValue)
  223 +}
  224 +```
  225 +
  226 +## Optional/ImplicitlyUnwrappedOptional/Collections/...
  227 +
  228 +'HandyJSON' support classes/structs composed of `optional`, `implicitlyUnwrappedOptional`, `array`, `dictionary`, `objective-c base type`, `nested type` etc. properties.
  229 +
  230 +```swift
  231 +class BasicTypes: HandyJSON {
  232 + var bool: Bool = true
  233 + var intOptional: Int?
  234 + var doubleImplicitlyUnwrapped: Double!
  235 + var anyObjectOptional: Any?
  236 +
  237 + var arrayInt: Array<Int> = []
  238 + var arrayStringOptional: Array<String>?
  239 + var setInt: Set<Int>?
  240 + var dictAnyObject: Dictionary<String, Any> = [:]
  241 +
  242 + var nsNumber = 2
  243 + var nsString: NSString?
  244 +
  245 + required init() {}
  246 +}
  247 +
  248 +let object = BasicTypes()
  249 +object.intOptional = 1
  250 +object.doubleImplicitlyUnwrapped = 1.1
  251 +object.anyObjectOptional = "StringValue"
  252 +object.arrayInt = [1, 2]
  253 +object.arrayStringOptional = ["a", "b"]
  254 +object.setInt = [1, 2]
  255 +object.dictAnyObject = ["key1": 1, "key2": "stringValue"]
  256 +object.nsNumber = 2
  257 +object.nsString = "nsStringValue"
  258 +
  259 +let jsonString = object.toJSONString()!
  260 +
  261 +if let object = BasicTypes.deserialize(from: jsonString) {
  262 + // ...
  263 +}
  264 +```
  265 +
  266 +## Designated Path
  267 +
  268 +`HandyJSON` supports deserialization from designated path of JSON.
  269 +
  270 +```swift
  271 +class Cat: HandyJSON {
  272 + var id: Int64!
  273 + var name: String!
  274 +
  275 + required init() {}
  276 +}
  277 +
  278 +let jsonString = "{\"code\":200,\"msg\":\"success\",\"data\":{\"cat\":{\"id\":12345,\"name\":\"Kitty\"}}}"
  279 +
  280 +if let cat = Cat.deserialize(from: jsonString, designatedPath: "data.cat") {
  281 + print(cat.name)
  282 +}
  283 +```
  284 +
  285 +## Composition Object
  286 +
  287 +Notice that all the properties of a class/struct need to deserialized should be type conformed to `HandyJSON`.
  288 +
  289 +```swift
  290 +class Component: HandyJSON {
  291 + var aInt: Int?
  292 + var aString: String?
  293 +
  294 + required init() {}
  295 +}
  296 +
  297 +class Composition: HandyJSON {
  298 + var aInt: Int?
  299 + var comp1: Component?
  300 + var comp2: Component?
  301 +
  302 + required init() {}
  303 +}
  304 +
  305 +let jsonString = "{\"num\":12345,\"comp1\":{\"aInt\":1,\"aString\":\"aaaaa\"},\"comp2\":{\"aInt\":2,\"aString\":\"bbbbb\"}}"
  306 +
  307 +if let composition = Composition.deserialize(from: jsonString) {
  308 + print(composition)
  309 +}
  310 +```
  311 +
  312 +## Inheritance Object
  313 +
  314 +A subclass need deserialization, it's superclass need to conform to `HandyJSON`.
  315 +
  316 +```swift
  317 +class Animal: HandyJSON {
  318 + var id: Int?
  319 + var color: String?
  320 +
  321 + required init() {}
  322 +}
  323 +
  324 +class Cat: Animal {
  325 + var name: String?
  326 +
  327 + required init() {}
  328 +}
  329 +
  330 +let jsonString = "{\"id\":12345,\"color\":\"black\",\"name\":\"cat\"}"
  331 +
  332 +if let cat = Cat.deserialize(from: jsonString) {
  333 + print(cat)
  334 +}
  335 +```
  336 +
  337 +## JSON Array
  338 +
  339 +If the first level of a JSON text is an array, we turn it to objects array.
  340 +
  341 +```swift
  342 +class Cat: HandyJSON {
  343 + var name: String?
  344 + var id: String?
  345 +
  346 + required init() {}
  347 +}
  348 +
  349 +let jsonArrayString: String? = "[{\"name\":\"Bob\",\"id\":\"1\"}, {\"name\":\"Lily\",\"id\":\"2\"}, {\"name\":\"Lucy\",\"id\":\"3\"}]"
  350 +if let cats = [Cat].deserialize(from: jsonArrayString) {
  351 + cats.forEach({ (cat) in
  352 + // ...
  353 + })
  354 +}
  355 +```
  356 +
  357 +## Mapping From Dictionary
  358 +
  359 +`HandyJSON` support mapping swift dictionary to model.
  360 +
  361 +```swift
  362 +var dict = [String: Any]()
  363 +dict["doubleOptional"] = 1.1
  364 +dict["stringImplicitlyUnwrapped"] = "hello"
  365 +dict["int"] = 1
  366 +if let object = BasicTypes.deserialize(from: dict) {
  367 + // ...
  368 +}
  369 +```
  370 +
  371 +## Custom Mapping
  372 +
  373 +`HandyJSON` let you customize the key mapping to JSON fields, or parsing method of any property. All you need to do is implementing an optional `mapping` function, do things in it.
  374 +
  375 +We bring the transformer from [`ObjectMapper`](https://github.com/Hearst-DD/ObjectMapper). If you are familiar with it, it’s almost the same here.
  376 +
  377 +```swift
  378 +class Cat: HandyJSON {
  379 + var id: Int64!
  380 + var name: String!
  381 + var parent: (String, String)?
  382 + var friendName: String?
  383 +
  384 + required init() {}
  385 +
  386 + func mapping(mapper: HelpingMapper) {
  387 + // specify 'cat_id' field in json map to 'id' property in object
  388 + mapper <<<
  389 + self.id <-- "cat_id"
  390 +
  391 + // specify 'parent' field in json parse as following to 'parent' property in object
  392 + mapper <<<
  393 + self.parent <-- TransformOf<(String, String), String>(fromJSON: { (rawString) -> (String, String)? in
  394 + if let parentNames = rawString?.characters.split(separator: "/").map(String.init) {
  395 + return (parentNames[0], parentNames[1])
  396 + }
  397 + return nil
  398 + }, toJSON: { (tuple) -> String? in
  399 + if let _tuple = tuple {
  400 + return "\(_tuple.0)/\(_tuple.1)"
  401 + }
  402 + return nil
  403 + })
  404 +
  405 + // specify 'friend.name' path field in json map to 'friendName' property
  406 + mapper <<<
  407 + self.friendName <-- "friend.name"
  408 + }
  409 +}
  410 +
  411 +let jsonString = "{\"cat_id\":12345,\"name\":\"Kitty\",\"parent\":\"Tom/Lily\",\"friend\":{\"id\":54321,\"name\":\"Lily\"}}"
  412 +
  413 +if let cat = Cat.deserialize(from: jsonString) {
  414 + print(cat.id)
  415 + print(cat.parent)
  416 + print(cat.friendName)
  417 +}
  418 +```
  419 +
  420 +## Date/Data/URL/Decimal/Color
  421 +
  422 +`HandyJSON` prepare some useful transformer for some none-basic type.
  423 +
  424 +```swift
  425 +class ExtendType: HandyJSON {
  426 + var date: Date?
  427 + var decimal: NSDecimalNumber?
  428 + var url: URL?
  429 + var data: Data?
  430 + var color: UIColor?
  431 +
  432 + func mapping(mapper: HelpingMapper) {
  433 + mapper <<<
  434 + date <-- CustomDateFormatTransform(formatString: "yyyy-MM-dd")
  435 +
  436 + mapper <<<
  437 + decimal <-- NSDecimalNumberTransform()
  438 +
  439 + mapper <<<
  440 + url <-- URLTransform(shouldEncodeURLString: false)
  441 +
  442 + mapper <<<
  443 + data <-- DataTransform()
  444 +
  445 + mapper <<<
  446 + color <-- HexColorTransform()
  447 + }
  448 +
  449 + public required init() {}
  450 +}
  451 +
  452 +let object = ExtendType()
  453 +object.date = Date()
  454 +object.decimal = NSDecimalNumber(string: "1.23423414371298437124391243")
  455 +object.url = URL(string: "https://www.aliyun.com")
  456 +object.data = Data(base64Encoded: "aGVsbG8sIHdvcmxkIQ==")
  457 +object.color = UIColor.blue
  458 +
  459 +print(object.toJSONString()!)
  460 +// it prints:
  461 +// {"date":"2017-09-11","decimal":"1.23423414371298437124391243","url":"https:\/\/www.aliyun.com","data":"aGVsbG8sIHdvcmxkIQ==","color":"0000FF"}
  462 +
  463 +let mappedObject = ExtendType.deserialize(from: object.toJSONString()!)!
  464 +print(mappedObject.date)
  465 +...
  466 +```
  467 +
  468 +## Exclude Property
  469 +
  470 +If any non-basic property of a class/struct could not conform to `HandyJSON`/`HandyJSONEnum` or you just do not want to do the deserialization with it, you should exclude it in the mapping function.
  471 +
  472 +```swift
  473 +class NotHandyJSONType {
  474 + var dummy: String?
  475 +}
  476 +
  477 +class Cat: HandyJSON {
  478 + var id: Int64!
  479 + var name: String!
  480 + var notHandyJSONTypeProperty: NotHandyJSONType?
  481 + var basicTypeButNotWantedProperty: String?
  482 +
  483 + required init() {}
  484 +
  485 + func mapping(mapper: HelpingMapper) {
  486 + mapper >>> self.notHandyJSONTypeProperty
  487 + mapper >>> self.basicTypeButNotWantedProperty
  488 + }
  489 +}
  490 +
  491 +let jsonString = "{\"name\":\"cat\",\"id\":\"12345\"}"
  492 +
  493 +if let cat = Cat.deserialize(from: jsonString) {
  494 + print(cat)
  495 +}
  496 +```
  497 +
  498 +## Update Existing Model
  499 +
  500 +`HandyJSON` support updating an existing model with given json string or dictionary.
  501 +
  502 +```swift
  503 +class BasicTypes: HandyJSON {
  504 + var int: Int = 2
  505 + var doubleOptional: Double?
  506 + var stringImplicitlyUnwrapped: String!
  507 +
  508 + required init() {}
  509 +}
  510 +
  511 +var object = BasicTypes()
  512 +object.int = 1
  513 +object.doubleOptional = 1.1
  514 +
  515 +let jsonString = "{\"doubleOptional\":2.2}"
  516 +JSONDeserializer.update(object: &object, from: jsonString)
  517 +print(object.int)
  518 +print(object.doubleOptional)
  519 +```
  520 +
  521 +## Supported Property Type
  522 +
  523 +* `Int`/`Bool`/`Double`/`Float`/`String`/`NSNumber`/`NSString`
  524 +
  525 +* `RawRepresentable` enum
  526 +
  527 +* `NSArray/NSDictionary`
  528 +
  529 +* `Int8/Int16/Int32/Int64`/`UInt8/UInt16/UInt23/UInt64`
  530 +
  531 +* `Optional<T>/ImplicitUnwrappedOptional<T>` // T is one of the above types
  532 +
  533 +* `Array<T>` // T is one of the above types
  534 +
  535 +* `Dictionary<String, T>` // T is one of the above types
  536 +
  537 +* Nested of aboves
  538 +
  539 +# Serialization
  540 +
  541 +## The Basics
  542 +
  543 +Now, a class/model which need to serialize to JSON should also conform to `HandyJSON` protocol.
  544 +
  545 +```swift
  546 +class BasicTypes: HandyJSON {
  547 + var int: Int = 2
  548 + var doubleOptional: Double?
  549 + var stringImplicitlyUnwrapped: String!
  550 +
  551 + required init() {}
  552 +}
  553 +
  554 +let object = BasicTypes()
  555 +object.int = 1
  556 +object.doubleOptional = 1.1
  557 +object.stringImplicitlyUnwrapped = “hello"
  558 +
  559 +print(object.toJSON()!) // serialize to dictionary
  560 +print(object.toJSONString()!) // serialize to JSON string
  561 +print(object.toJSONString(prettyPrint: true)!) // serialize to pretty JSON string
  562 +```
  563 +
  564 +## Mapping And Excluding
  565 +
  566 +It’s all like what we do on deserialization. A property which is excluded, it will not take part in neither deserialization nor serialization. And the mapper items define both the deserializing rules and serializing rules. Refer to the usage above.
  567 +
  568 +# FAQ
  569 +
  570 +## Q: Why the mapping function is not working in the inheritance object?
  571 +
  572 +A: For some reason, you should define an empty mapping function in the super class(the root class if more than one layer), and override it in the subclass.
  573 +
  574 +It's the same with `didFinishMapping` function.
  575 +
  576 +## Q: Why my didSet/willSet is not working?
  577 +
  578 +A: Since `HandyJSON` assign properties by writing value to memory directly, it doesn't trigger any observing function. You need to call the `didSet/willSet` logic explicitly after/before the deserialization.
  579 +
  580 +But since version `1.8.0`, `HandyJSON` handle dynamic properties by the `KVC` mechanism which will trigger the `KVO`. That means, if you do really need the `didSet/willSet`, you can define your model like follow:
  581 +
  582 +```swift
  583 +class BasicTypes: NSObject, HandyJSON {
  584 + dynamic var int: Int = 0 {
  585 + didSet {
  586 + print("oldValue: ", oldValue)
  587 + }
  588 + willSet {
  589 + print("newValue: ", newValue)
  590 + }
  591 + }
  592 +
  593 + public override required init() {}
  594 +}
  595 +```
  596 +
  597 +In this situation, `NSObject` and `dynamic` are both needed.
  598 +
  599 +And in versions since `1.8.0`, `HandyJSON` offer a `didFinishMapping` function to allow you to fill some observing logic.
  600 +
  601 +```swift
  602 +class BasicTypes: HandyJSON {
  603 + var int: Int?
  604 +
  605 + required init() {}
  606 +
  607 + func didFinishMapping() {
  608 + print("you can fill some observing logic here")
  609 + }
  610 +}
  611 +
  612 +```
  613 +
  614 +It may help.
  615 +
  616 +## Q: How to support Enum property?
  617 +
  618 +It your enum conform to `RawRepresentable` protocol, please look into [Support Enum Property](#support-enum-property). Or use the `EnumTransform`:
  619 +
  620 +```swift
  621 +enum EnumType: String {
  622 + case type1, type2
  623 +}
  624 +
  625 +class BasicTypes: HandyJSON {
  626 + var type: EnumType?
  627 +
  628 + func mapping(mapper: HelpingMapper) {
  629 + mapper <<<
  630 + type <-- EnumTransform()
  631 + }
  632 +
  633 + required init() {}
  634 +}
  635 +
  636 +let object = BasicTypes()
  637 +object.type = EnumType.type2
  638 +print(object.toJSONString()!)
  639 +let mappedObject = BasicTypes.deserialize(from: object.toJSONString()!)!
  640 +print(mappedObject.type)
  641 +```
  642 +
  643 +Otherwise, you should implement your custom mapping function.
  644 +
  645 +```swift
  646 +enum EnumType {
  647 + case type1, type2
  648 +}
  649 +
  650 +class BasicTypes: HandyJSON {
  651 + var type: EnumType?
  652 +
  653 + func mapping(mapper: HelpingMapper) {
  654 + mapper <<<
  655 + type <-- TransformOf<EnumType, String>(fromJSON: { (rawString) -> EnumType? in
  656 + if let _str = rawString {
  657 + switch (_str) {
  658 + case "type1":
  659 + return EnumType.type1
  660 + case "type2":
  661 + return EnumType.type2
  662 + default:
  663 + return nil
  664 + }
  665 + }
  666 + return nil
  667 + }, toJSON: { (enumType) -> String? in
  668 + if let _type = enumType {
  669 + switch (_type) {
  670 + case EnumType.type1:
  671 + return "type1"
  672 + case EnumType.type2:
  673 + return "type2"
  674 + }
  675 + }
  676 + return nil
  677 + })
  678 + }
  679 +
  680 + required init() {}
  681 +}
  682 +```
  683 +
  684 +
  685 +
  686 +# License
  687 +
  688 +HandyJSON is released under the Apache License, Version 2.0. See LICENSE for details.
ParentAssistant/Pods/HandyJSON/Source/AnyExtensions.swift 0 → 100644
@@ -0,0 +1,89 @@ @@ -0,0 +1,89 @@
  1 +/*
  2 + * Copyright 1999-2101 Alibaba Group.
  3 + *
  4 + * Licensed under the Apache License, Version 2.0 (the "License");
  5 + * you may not use this file except in compliance with the License.
  6 + * You may obtain a copy of the License at
  7 + *
  8 + * http://www.apache.org/licenses/LICENSE-2.0
  9 + *
  10 + * Unless required by applicable law or agreed to in writing, software
  11 + * distributed under the License is distributed on an "AS IS" BASIS,
  12 + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13 + * See the License for the specific language governing permissions and
  14 + * limitations under the License.
  15 + */
  16 +
  17 +//
  18 +// AnyExtension.swift
  19 +// HandyJSON
  20 +//
  21 +// Created by zhouzhuo on 08/01/2017.
  22 +//
  23 +
  24 +protocol AnyExtensions {}
  25 +
  26 +extension AnyExtensions {
  27 +
  28 + public static func isValueTypeOrSubtype(_ value: Any) -> Bool {
  29 + return value is Self
  30 + }
  31 +
  32 + public static func value(from storage: UnsafeRawPointer) -> Any {
  33 + return storage.assumingMemoryBound(to: self).pointee
  34 + }
  35 +
  36 + public static func write(_ value: Any, to storage: UnsafeMutableRawPointer) {
  37 + guard let this = value as? Self else {
  38 + return
  39 + }
  40 + storage.assumingMemoryBound(to: self).pointee = this
  41 + }
  42 +
  43 + public static func takeValue(from anyValue: Any) -> Self? {
  44 + return anyValue as? Self
  45 + }
  46 +}
  47 +
  48 +func extensions(of type: Any.Type) -> AnyExtensions.Type {
  49 + struct Extensions : AnyExtensions {}
  50 + var extensions: AnyExtensions.Type = Extensions.self
  51 + withUnsafePointer(to: &extensions) { pointer in
  52 + UnsafeMutableRawPointer(mutating: pointer).assumingMemoryBound(to: Any.Type.self).pointee = type
  53 + }
  54 + return extensions
  55 +}
  56 +
  57 +func extensions(of value: Any) -> AnyExtensions {
  58 + struct Extensions : AnyExtensions {}
  59 + var extensions: AnyExtensions = Extensions()
  60 + withUnsafePointer(to: &extensions) { pointer in
  61 + UnsafeMutableRawPointer(mutating: pointer).assumingMemoryBound(to: Any.self).pointee = value
  62 + }
  63 + return extensions
  64 +}
  65 +
  66 +/// Tests if `value` is `type` or a subclass of `type`
  67 +func value(_ value: Any, is type: Any.Type) -> Bool {
  68 + return extensions(of: type).isValueTypeOrSubtype(value)
  69 +}
  70 +
  71 +/// Tests equality of any two existential types
  72 +func == (lhs: Any.Type, rhs: Any.Type) -> Bool {
  73 + return Metadata(type: lhs) == Metadata(type: rhs)
  74 +}
  75 +
  76 +// MARK: AnyExtension + Storage
  77 +extension AnyExtensions {
  78 +
  79 + mutating func storage() -> UnsafeRawPointer {
  80 + if type(of: self) is AnyClass {
  81 + let opaquePointer = Unmanaged.passUnretained(self as AnyObject).toOpaque()
  82 + return UnsafeRawPointer(opaquePointer)
  83 + } else {
  84 + return withUnsafePointer(to: &self) { pointer in
  85 + return UnsafeRawPointer(pointer)
  86 + }
  87 + }
  88 + }
  89 +}
ParentAssistant/Pods/HandyJSON/Source/BuiltInBasicType.swift 0 → 100644
@@ -0,0 +1,306 @@ @@ -0,0 +1,306 @@
  1 +/*
  2 + * Copyright 1999-2101 Alibaba Group.
  3 + *
  4 + * Licensed under the Apache License, Version 2.0 (the "License");
  5 + * you may not use this file except in compliance with the License.
  6 + * You may obtain a copy of the License at
  7 + *
  8 + * http://www.apache.org/licenses/LICENSE-2.0
  9 + *
  10 + * Unless required by applicable law or agreed to in writing, software
  11 + * distributed under the License is distributed on an "AS IS" BASIS,
  12 + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13 + * See the License for the specific language governing permissions and
  14 + * limitations under the License.
  15 + */
  16 +
  17 +// Created by zhouzhuo on 7/7/16.
  18 +//
  19 +
  20 +import Foundation
  21 +
  22 +protocol _BuiltInBasicType: _Transformable {
  23 +
  24 + static func _transform(from object: Any) -> Self?
  25 + func _plainValue() -> Any?
  26 +}
  27 +
  28 +// Suppport integer type
  29 +
  30 +protocol IntegerPropertyProtocol: FixedWidthInteger, _BuiltInBasicType {
  31 + init?(_ text: String, radix: Int)
  32 + init(_ number: NSNumber)
  33 +}
  34 +
  35 +extension IntegerPropertyProtocol {
  36 +
  37 + static func _transform(from object: Any) -> Self? {
  38 + switch object {
  39 + case let str as String:
  40 + return Self(str, radix: 10)
  41 + case let num as NSNumber:
  42 + return Self(num)
  43 + default:
  44 + return nil
  45 + }
  46 + }
  47 +
  48 + func _plainValue() -> Any? {
  49 + return self
  50 + }
  51 +}
  52 +
  53 +extension Int: IntegerPropertyProtocol {}
  54 +extension UInt: IntegerPropertyProtocol {}
  55 +extension Int8: IntegerPropertyProtocol {}
  56 +extension Int16: IntegerPropertyProtocol {}
  57 +extension Int32: IntegerPropertyProtocol {}
  58 +extension Int64: IntegerPropertyProtocol {}
  59 +extension UInt8: IntegerPropertyProtocol {}
  60 +extension UInt16: IntegerPropertyProtocol {}
  61 +extension UInt32: IntegerPropertyProtocol {}
  62 +extension UInt64: IntegerPropertyProtocol {}
  63 +
  64 +extension Bool: _BuiltInBasicType {
  65 +
  66 + static func _transform(from object: Any) -> Bool? {
  67 + switch object {
  68 + case let str as NSString:
  69 + let lowerCase = str.lowercased
  70 + if ["0", "false"].contains(lowerCase) {
  71 + return false
  72 + }
  73 + if ["1", "true"].contains(lowerCase) {
  74 + return true
  75 + }
  76 + return nil
  77 + case let num as NSNumber:
  78 + return num.boolValue
  79 + default:
  80 + return nil
  81 + }
  82 + }
  83 +
  84 + func _plainValue() -> Any? {
  85 + return self
  86 + }
  87 +}
  88 +
  89 +// Support float type
  90 +
  91 +protocol FloatPropertyProtocol: _BuiltInBasicType, LosslessStringConvertible {
  92 + init(_ number: NSNumber)
  93 +}
  94 +
  95 +extension FloatPropertyProtocol {
  96 +
  97 + static func _transform(from object: Any) -> Self? {
  98 + switch object {
  99 + case let str as String:
  100 + return Self(str)
  101 + case let num as NSNumber:
  102 + return Self(num)
  103 + default:
  104 + return nil
  105 + }
  106 + }
  107 +
  108 + func _plainValue() -> Any? {
  109 + return self
  110 + }
  111 +}
  112 +
  113 +extension Float: FloatPropertyProtocol {}
  114 +extension Double: FloatPropertyProtocol {}
  115 +
  116 +fileprivate let formatter: NumberFormatter = {
  117 + let formatter = NumberFormatter()
  118 + formatter.usesGroupingSeparator = false
  119 + formatter.numberStyle = .decimal
  120 + formatter.maximumFractionDigits = 16
  121 + return formatter
  122 +}()
  123 +
  124 +extension String: _BuiltInBasicType {
  125 +
  126 + static func _transform(from object: Any) -> String? {
  127 + switch object {
  128 + case let str as String:
  129 + return str
  130 + case let num as NSNumber:
  131 + // Boolean Type Inside
  132 + if NSStringFromClass(type(of: num)) == "__NSCFBoolean" {
  133 + if num.boolValue {
  134 + return "true"
  135 + } else {
  136 + return "false"
  137 + }
  138 + }
  139 + return formatter.string(from: num)
  140 + case _ as NSNull:
  141 + return nil
  142 + default:
  143 + return "\(object)"
  144 + }
  145 + }
  146 +
  147 + func _plainValue() -> Any? {
  148 + return self
  149 + }
  150 +}
  151 +
  152 +// MARK: Optional Support
  153 +
  154 +extension Optional: _BuiltInBasicType {
  155 +
  156 + static func _transform(from object: Any) -> Optional? {
  157 + if let value = (Wrapped.self as? _Transformable.Type)?.transform(from: object) as? Wrapped {
  158 + return Optional(value)
  159 + } else if let value = object as? Wrapped {
  160 + return Optional(value)
  161 + }
  162 + return nil
  163 + }
  164 +
  165 + func _getWrappedValue() -> Any? {
  166 + return self.map( { (wrapped) -> Any in
  167 + return wrapped as Any
  168 + })
  169 + }
  170 +
  171 + func _plainValue() -> Any? {
  172 + if let value = _getWrappedValue() {
  173 + if let transformable = value as? _Transformable {
  174 + return transformable.plainValue()
  175 + } else {
  176 + return value
  177 + }
  178 + }
  179 + return nil
  180 + }
  181 +}
  182 +
  183 +extension ImplicitlyUnwrappedOptional: _BuiltInBasicType {
  184 +
  185 + static func _transform(from object: Any) -> ImplicitlyUnwrappedOptional? {
  186 + if let value = (Wrapped.self as? _Transformable.Type)?.transform(from: object) as? Wrapped {
  187 + return ImplicitlyUnwrappedOptional(value)
  188 + } else if let value = object as? Wrapped {
  189 + return ImplicitlyUnwrappedOptional(value)
  190 + }
  191 + return nil
  192 + }
  193 +
  194 + func _getWrappedValue() -> Any? {
  195 + return self == nil ? nil : self!
  196 + }
  197 +
  198 + func _plainValue() -> Any? {
  199 + if let value = _getWrappedValue() {
  200 + if let transformable = value as? _Transformable {
  201 + return transformable.plainValue()
  202 + } else {
  203 + return value
  204 + }
  205 + }
  206 + return nil
  207 + }
  208 +}
  209 +
  210 +// MARK: Collection Support : Array & Set
  211 +
  212 +extension Collection {
  213 +
  214 + static func _collectionTransform(from object: Any) -> [Iterator.Element]? {
  215 + guard let arr = object as? [Any] else {
  216 + InternalLogger.logDebug("Expect object to be an array but it's not")
  217 + return nil
  218 + }
  219 + typealias Element = Iterator.Element
  220 + var result: [Element] = [Element]()
  221 + arr.forEach { (each) in
  222 + if let element = (Element.self as? _Transformable.Type)?.transform(from: each) as? Element {
  223 + result.append(element)
  224 + } else if let element = each as? Element {
  225 + result.append(element)
  226 + }
  227 + }
  228 + return result
  229 + }
  230 +
  231 + func _collectionPlainValue() -> Any? {
  232 + typealias Element = Iterator.Element
  233 + var result: [Any] = [Any]()
  234 + self.forEach { (each) in
  235 + if let transformable = each as? _Transformable, let transValue = transformable.plainValue() {
  236 + result.append(transValue)
  237 + } else {
  238 + InternalLogger.logError("value: \(each) isn't transformable type!")
  239 + }
  240 + }
  241 + return result
  242 + }
  243 +}
  244 +
  245 +extension Array: _BuiltInBasicType {
  246 +
  247 + static func _transform(from object: Any) -> [Element]? {
  248 + return self._collectionTransform(from: object)
  249 + }
  250 +
  251 + func _plainValue() -> Any? {
  252 + return self._collectionPlainValue()
  253 + }
  254 +}
  255 +
  256 +extension Set: _BuiltInBasicType {
  257 +
  258 + static func _transform(from object: Any) -> Set<Element>? {
  259 + if let arr = self._collectionTransform(from: object) {
  260 + return Set(arr)
  261 + }
  262 + return nil
  263 + }
  264 +
  265 + func _plainValue() -> Any? {
  266 + return self._collectionPlainValue()
  267 + }
  268 +}
  269 +
  270 +// MARK: Dictionary Support
  271 +
  272 +extension Dictionary: _BuiltInBasicType {
  273 +
  274 + static func _transform(from object: Any) -> [Key: Value]? {
  275 + guard let dict = object as? [String: Any] else {
  276 + InternalLogger.logDebug("Expect object to be an NSDictionary but it's not")
  277 + return nil
  278 + }
  279 + var result = [Key: Value]()
  280 + for (key, value) in dict {
  281 + if let sKey = key as? Key {
  282 + if let nValue = (Value.self as? _Transformable.Type)?.transform(from: value) as? Value {
  283 + result[sKey] = nValue
  284 + } else if let nValue = value as? Value {
  285 + result[sKey] = nValue
  286 + }
  287 + }
  288 + }
  289 + return result
  290 + }
  291 +
  292 + func _plainValue() -> Any? {
  293 + var result = [String: Any]()
  294 + for (key, value) in self {
  295 + if let key = key as? String {
  296 + if let transformable = value as? _Transformable {
  297 + if let transValue = transformable.plainValue() {
  298 + result[key] = transValue
  299 + }
  300 + }
  301 + }
  302 + }
  303 + return result
  304 + }
  305 +}
  306 +
ParentAssistant/Pods/HandyJSON/Source/BuiltInBridgeType.swift 0 → 100644
@@ -0,0 +1,79 @@ @@ -0,0 +1,79 @@
  1 +//
  2 +// BuiltInBridgeType.swift
  3 +// HandyJSON
  4 +//
  5 +// Created by zhouzhuo on 15/07/2017.
  6 +// Copyright © 2017 aliyun. All rights reserved.
  7 +//
  8 +
  9 +import Foundation
  10 +
  11 +protocol _BuiltInBridgeType: _Transformable {
  12 +
  13 + static func _transform(from object: Any) -> _BuiltInBridgeType?
  14 + func _plainValue() -> Any?
  15 +}
  16 +
  17 +extension NSString: _BuiltInBridgeType {
  18 +
  19 + static func _transform(from object: Any) -> _BuiltInBridgeType? {
  20 + if let str = String.transform(from: object) {
  21 + return NSString(string: str)
  22 + }
  23 + return nil
  24 + }
  25 +
  26 + func _plainValue() -> Any? {
  27 + return self
  28 + }
  29 +}
  30 +
  31 +extension NSNumber: _BuiltInBridgeType {
  32 +
  33 + static func _transform(from object: Any) -> _BuiltInBridgeType? {
  34 + switch object {
  35 + case let num as NSNumber:
  36 + return num
  37 + case let str as NSString:
  38 + let lowercase = str.lowercased
  39 + if lowercase == "true" {
  40 + return NSNumber(booleanLiteral: true)
  41 + } else if lowercase == "false" {
  42 + return NSNumber(booleanLiteral: false)
  43 + } else {
  44 + // normal number
  45 + let formatter = NumberFormatter()
  46 + formatter.numberStyle = .decimal
  47 + return formatter.number(from: str as String)
  48 + }
  49 + default:
  50 + return nil
  51 + }
  52 + }
  53 +
  54 + func _plainValue() -> Any? {
  55 + return self
  56 + }
  57 +}
  58 +
  59 +extension NSArray: _BuiltInBridgeType {
  60 +
  61 + static func _transform(from object: Any) -> _BuiltInBridgeType? {
  62 + return object as? NSArray
  63 + }
  64 +
  65 + func _plainValue() -> Any? {
  66 + return (self as? Array<Any>)?.plainValue()
  67 + }
  68 +}
  69 +
  70 +extension NSDictionary: _BuiltInBridgeType {
  71 +
  72 + static func _transform(from object: Any) -> _BuiltInBridgeType? {
  73 + return object as? NSDictionary
  74 + }
  75 +
  76 + func _plainValue() -> Any? {
  77 + return (self as? Dictionary<String, Any>)?.plainValue()
  78 + }
  79 +}
ParentAssistant/Pods/HandyJSON/Source/Configuration.swift 0 → 100644
@@ -0,0 +1,56 @@ @@ -0,0 +1,56 @@
  1 +/*
  2 + * Copyright 1999-2101 Alibaba Group.
  3 + *
  4 + * Licensed under the Apache License, Version 2.0 (the "License");
  5 + * you may not use this file except in compliance with the License.
  6 + * You may obtain a copy of the License at
  7 + *
  8 + * http://www.apache.org/licenses/LICENSE-2.0
  9 + *
  10 + * Unless required by applicable law or agreed to in writing, software
  11 + * distributed under the License is distributed on an "AS IS" BASIS,
  12 + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13 + * See the License for the specific language governing permissions and
  14 + * limitations under the License.
  15 + */
  16 +
  17 +//
  18 +// Configuration.swift
  19 +// HandyJSON
  20 +//
  21 +// Created by zhouzhuo on 08/01/2017.
  22 +//
  23 +
  24 +public struct DeserializeOptions: OptionSet {
  25 + public let rawValue: Int
  26 +
  27 + public static let caseInsensitive = DeserializeOptions(rawValue: 1 << 0)
  28 +
  29 + public static let defaultOptions: DeserializeOptions = []
  30 +
  31 + public init(rawValue: Int) {
  32 + self.rawValue = rawValue
  33 + }
  34 +}
  35 +
  36 +public enum DebugMode: Int {
  37 + case verbose = 0
  38 + case debug = 1
  39 + case error = 2
  40 + case none = 3
  41 +}
  42 +
  43 +public struct HandyJSONConfiguration {
  44 +
  45 + private static var _mode = DebugMode.error
  46 + public static var debugMode: DebugMode {
  47 + get {
  48 + return _mode
  49 + }
  50 + set {
  51 + _mode = newValue
  52 + }
  53 + }
  54 +
  55 + public static var deserializeOptions: DeserializeOptions = .defaultOptions
  56 +}
ParentAssistant/Pods/HandyJSON/Source/CustomDateFormatTransform.swift 0 → 100644
@@ -0,0 +1,40 @@ @@ -0,0 +1,40 @@
  1 +//
  2 +// CustomDateFormatTransform.swift
  3 +// ObjectMapper
  4 +//
  5 +// Created by Dan McCracken on 3/8/15.
  6 +//
  7 +// The MIT License (MIT)
  8 +//
  9 +// Copyright (c) 2014-2016 Hearst
  10 +//
  11 +// Permission is hereby granted, free of charge, to any person obtaining a copy
  12 +// of this software and associated documentation files (the "Software"), to deal
  13 +// in the Software without restriction, including without limitation the rights
  14 +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  15 +// copies of the Software, and to permit persons to whom the Software is
  16 +// furnished to do so, subject to the following conditions:
  17 +//
  18 +// The above copyright notice and this permission notice shall be included in
  19 +// all copies or substantial portions of the Software.
  20 +//
  21 +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  22 +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  23 +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  24 +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  25 +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  26 +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  27 +// THE SOFTWARE.
  28 +
  29 +import Foundation
  30 +
  31 +open class CustomDateFormatTransform: DateFormatterTransform {
  32 +
  33 + public init(formatString: String) {
  34 + let formatter = DateFormatter()
  35 + formatter.locale = Locale(identifier: "en_US_POSIX")
  36 + formatter.dateFormat = formatString
  37 +
  38 + super.init(dateFormatter: formatter)
  39 + }
  40 +}
ParentAssistant/Pods/HandyJSON/Source/DataTransform.swift 0 → 100644
@@ -0,0 +1,50 @@ @@ -0,0 +1,50 @@
  1 +//
  2 +// DataTransform.swift
  3 +// ObjectMapper
  4 +//
  5 +// Created by Yagrushkin, Evgeny on 8/30/16.
  6 +//
  7 +// The MIT License (MIT)
  8 +//
  9 +// Copyright (c) 2014-2016 Hearst
  10 +//
  11 +// Permission is hereby granted, free of charge, to any person obtaining a copy
  12 +// of this software and associated documentation files (the "Software"), to deal
  13 +// in the Software without restriction, including without limitation the rights
  14 +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  15 +// copies of the Software, and to permit persons to whom the Software is
  16 +// furnished to do so, subject to the following conditions:
  17 +//
  18 +// The above copyright notice and this permission notice shall be included in
  19 +// all copies or substantial portions of the Software.
  20 +//
  21 +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  22 +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  23 +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  24 +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  25 +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  26 +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  27 +// THE SOFTWARE.
  28 +
  29 +import Foundation
  30 +
  31 +open class DataTransform: TransformType {
  32 + public typealias Object = Data
  33 + public typealias JSON = String
  34 +
  35 + public init() {}
  36 +
  37 + open func transformFromJSON(_ value: Any?) -> Data? {
  38 + guard let string = value as? String else{
  39 + return nil
  40 + }
  41 + return Data(base64Encoded: string)
  42 + }
  43 +
  44 + open func transformToJSON(_ value: Data?) -> String? {
  45 + guard let data = value else{
  46 + return nil
  47 + }
  48 + return data.base64EncodedString()
  49 + }
  50 +}
ParentAssistant/Pods/HandyJSON/Source/DateFormatterTransform.swift 0 → 100644
@@ -0,0 +1,54 @@ @@ -0,0 +1,54 @@
  1 +//
  2 +// DateFormatterTransform.swift
  3 +// ObjectMapper
  4 +//
  5 +// Created by Tristan Himmelman on 2015-03-09.
  6 +//
  7 +// The MIT License (MIT)
  8 +//
  9 +// Copyright (c) 2014-2016 Hearst
  10 +//
  11 +// Permission is hereby granted, free of charge, to any person obtaining a copy
  12 +// of this software and associated documentation files (the "Software"), to deal
  13 +// in the Software without restriction, including without limitation the rights
  14 +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  15 +// copies of the Software, and to permit persons to whom the Software is
  16 +// furnished to do so, subject to the following conditions:
  17 +//
  18 +// The above copyright notice and this permission notice shall be included in
  19 +// all copies or substantial portions of the Software.
  20 +//
  21 +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  22 +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  23 +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  24 +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  25 +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  26 +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  27 +// THE SOFTWARE.
  28 +
  29 +import Foundation
  30 +
  31 +open class DateFormatterTransform: TransformType {
  32 + public typealias Object = Date
  33 + public typealias JSON = String
  34 +
  35 + public let dateFormatter: DateFormatter
  36 +
  37 + public init(dateFormatter: DateFormatter) {
  38 + self.dateFormatter = dateFormatter
  39 + }
  40 +
  41 + open func transformFromJSON(_ value: Any?) -> Date? {
  42 + if let dateString = value as? String {
  43 + return dateFormatter.date(from: dateString)
  44 + }
  45 + return nil
  46 + }
  47 +
  48 + open func transformToJSON(_ value: Date?) -> String? {
  49 + if let date = value {
  50 + return dateFormatter.string(from: date)
  51 + }
  52 + return nil
  53 + }
  54 +}
ParentAssistant/Pods/HandyJSON/Source/DateTransform.swift 0 → 100644
@@ -0,0 +1,55 @@ @@ -0,0 +1,55 @@
  1 +//
  2 +// DateTransform.swift
  3 +// ObjectMapper
  4 +//
  5 +// Created by Tristan Himmelman on 2014-10-13.
  6 +//
  7 +// The MIT License (MIT)
  8 +//
  9 +// Copyright (c) 2014-2016 Hearst
  10 +//
  11 +// Permission is hereby granted, free of charge, to any person obtaining a copy
  12 +// of this software and associated documentation files (the "Software"), to deal
  13 +// in the Software without restriction, including without limitation the rights
  14 +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  15 +// copies of the Software, and to permit persons to whom the Software is
  16 +// furnished to do so, subject to the following conditions:
  17 +//
  18 +// The above copyright notice and this permission notice shall be included in
  19 +// all copies or substantial portions of the Software.
  20 +//
  21 +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  22 +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  23 +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  24 +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  25 +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  26 +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  27 +// THE SOFTWARE.
  28 +
  29 +import Foundation
  30 +
  31 +open class DateTransform: TransformType {
  32 + public typealias Object = Date
  33 + public typealias JSON = Double
  34 +
  35 + public init() {}
  36 +
  37 + open func transformFromJSON(_ value: Any?) -> Date? {
  38 + if let timeInt = value as? Double {
  39 + return Date(timeIntervalSince1970: TimeInterval(timeInt))
  40 + }
  41 +
  42 + if let timeStr = value as? String {
  43 + return Date(timeIntervalSince1970: TimeInterval(atof(timeStr)))
  44 + }
  45 +
  46 + return nil
  47 + }
  48 +
  49 + open func transformToJSON(_ value: Date?) -> Double? {
  50 + if let date = value {
  51 + return Double(date.timeIntervalSince1970)
  52 + }
  53 + return nil
  54 + }
  55 +}
ParentAssistant/Pods/HandyJSON/Source/Deserializer.swift 0 → 100644
@@ -0,0 +1,181 @@ @@ -0,0 +1,181 @@
  1 +/*
  2 + * Copyright 1999-2101 Alibaba Group.
  3 + *
  4 + * Licensed under the Apache License, Version 2.0 (the "License");
  5 + * you may not use this file except in compliance with the License.
  6 + * You may obtain a copy of the License at
  7 + *
  8 + * http://www.apache.org/licenses/LICENSE-2.0
  9 + *
  10 + * Unless required by applicable law or agreed to in writing, software
  11 + * distributed under the License is distributed on an "AS IS" BASIS,
  12 + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13 + * See the License for the specific language governing permissions and
  14 + * limitations under the License.
  15 + */
  16 +
  17 +// Created by zhouzhuo on 7/7/16.
  18 +//
  19 +
  20 +import Foundation
  21 +
  22 +public extension HandyJSON {
  23 +
  24 + /// Finds the internal dictionary in `dict` as the `designatedPath` specified, and converts it to a Model
  25 + /// `designatedPath` is a string like `result.data.orderInfo`, which each element split by `.` represents key of each layer
  26 + public static func deserialize(from dict: NSDictionary?, designatedPath: String? = nil) -> Self? {
  27 + return deserialize(from: dict as? [String: Any], designatedPath: designatedPath)
  28 + }
  29 +
  30 + /// Finds the internal dictionary in `dict` as the `designatedPath` specified, and converts it to a Model
  31 + /// `designatedPath` is a string like `result.data.orderInfo`, which each element split by `.` represents key of each layer
  32 + public static func deserialize(from dict: [String: Any]?, designatedPath: String? = nil) -> Self? {
  33 + return JSONDeserializer<Self>.deserializeFrom(dict: dict, designatedPath: designatedPath)
  34 + }
  35 +
  36 + /// Finds the internal JSON field in `json` as the `designatedPath` specified, and converts it to a Model
  37 + /// `designatedPath` is a string like `result.data.orderInfo`, which each element split by `.` represents key of each layer
  38 + public static func deserialize(from json: String?, designatedPath: String? = nil) -> Self? {
  39 + return JSONDeserializer<Self>.deserializeFrom(json: json, designatedPath: designatedPath)
  40 + }
  41 +}
  42 +
  43 +public extension Array where Element: HandyJSON {
  44 +
  45 + /// if the JSON field finded by `designatedPath` in `json` is representing a array, such as `[{...}, {...}, {...}]`,
  46 + /// this method converts it to a Models array
  47 + public static func deserialize(from json: String?, designatedPath: String? = nil) -> [Element?]? {
  48 + return JSONDeserializer<Element>.deserializeModelArrayFrom(json: json, designatedPath: designatedPath)
  49 + }
  50 +
  51 + /// deserialize model array from NSArray
  52 + public static func deserialize(from array: NSArray?) -> [Element?]? {
  53 + return JSONDeserializer<Element>.deserializeModelArrayFrom(array: array)
  54 + }
  55 +
  56 + /// deserialize model array from array
  57 + public static func deserialize(from array: [Any]?) -> [Element?]? {
  58 + return JSONDeserializer<Element>.deserializeModelArrayFrom(array: array)
  59 + }
  60 +}
  61 +
  62 +public class JSONDeserializer<T: HandyJSON> {
  63 +
  64 + /// Finds the internal dictionary in `dict` as the `designatedPath` specified, and map it to a Model
  65 + /// `designatedPath` is a string like `result.data.orderInfo`, which each element split by `.` represents key of each layer, or nil
  66 + public static func deserializeFrom(dict: NSDictionary?, designatedPath: String? = nil) -> T? {
  67 + return deserializeFrom(dict: dict as? [String: Any], designatedPath: designatedPath)
  68 + }
  69 +
  70 + /// Finds the internal dictionary in `dict` as the `designatedPath` specified, and map it to a Model
  71 + /// `designatedPath` is a string like `result.data.orderInfo`, which each element split by `.` represents key of each layer, or nil
  72 + public static func deserializeFrom(dict: [String: Any]?, designatedPath: String? = nil) -> T? {
  73 + var targetDict = dict
  74 + if let path = designatedPath {
  75 + targetDict = getInnerObject(inside: targetDict, by: path) as? [String: Any]
  76 + }
  77 + if let _dict = targetDict {
  78 + return T._transform(dict: _dict) as? T
  79 + }
  80 + return nil
  81 + }
  82 +
  83 + /// Finds the internal JSON field in `json` as the `designatedPath` specified, and converts it to Model
  84 + /// `designatedPath` is a string like `result.data.orderInfo`, which each element split by `.` represents key of each layer, or nil
  85 + public static func deserializeFrom(json: String?, designatedPath: String? = nil) -> T? {
  86 + guard let _json = json else {
  87 + return nil
  88 + }
  89 + do {
  90 + let jsonObject = try JSONSerialization.jsonObject(with: _json.data(using: String.Encoding.utf8)!, options: .allowFragments)
  91 + if let jsonDict = jsonObject as? NSDictionary {
  92 + return self.deserializeFrom(dict: jsonDict, designatedPath: designatedPath)
  93 + }
  94 + } catch let error {
  95 + InternalLogger.logError(error)
  96 + }
  97 + return nil
  98 + }
  99 +
  100 + /// Finds the internal dictionary in `dict` as the `designatedPath` specified, and use it to reassign an exist model
  101 + /// `designatedPath` is a string like `result.data.orderInfo`, which each element split by `.` represents key of each layer, or nil
  102 + public static func update(object: inout T, from dict: [String: Any]?, designatedPath: String? = nil) {
  103 + var targetDict = dict
  104 + if let path = designatedPath {
  105 + targetDict = getInnerObject(inside: targetDict, by: path) as? [String: Any]
  106 + }
  107 + if let _dict = targetDict {
  108 + T._transform(dict: _dict, to: &object)
  109 + }
  110 + }
  111 +
  112 + /// Finds the internal JSON field in `json` as the `designatedPath` specified, and use it to reassign an exist model
  113 + /// `designatedPath` is a string like `result.data.orderInfo`, which each element split by `.` represents key of each layer, or nil
  114 + public static func update(object: inout T, from json: String?, designatedPath: String? = nil) {
  115 + guard let _json = json else {
  116 + return
  117 + }
  118 + do {
  119 + let jsonObject = try JSONSerialization.jsonObject(with: _json.data(using: String.Encoding.utf8)!, options: .allowFragments)
  120 + if let jsonDict = jsonObject as? [String: Any] {
  121 + update(object: &object, from: jsonDict, designatedPath: designatedPath)
  122 + }
  123 + } catch let error {
  124 + InternalLogger.logError(error)
  125 + }
  126 + }
  127 +
  128 + /// if the JSON field found by `designatedPath` in `json` is representing a array, such as `[{...}, {...}, {...}]`,
  129 + /// this method converts it to a Models array
  130 + public static func deserializeModelArrayFrom(json: String?, designatedPath: String? = nil) -> [T?]? {
  131 + guard let _json = json else {
  132 + return nil
  133 + }
  134 + do {
  135 + let jsonObject = try JSONSerialization.jsonObject(with: _json.data(using: String.Encoding.utf8)!, options: .allowFragments)
  136 + if let jsonArray = getInnerObject(inside: jsonObject, by: designatedPath) as? [Any] {
  137 + return jsonArray.map({ (item) -> T? in
  138 + return self.deserializeFrom(dict: item as? [String: Any])
  139 + })
  140 + }
  141 + } catch let error {
  142 + InternalLogger.logError(error)
  143 + }
  144 + return nil
  145 + }
  146 +
  147 + /// mapping raw array to Models array
  148 + public static func deserializeModelArrayFrom(array: NSArray?) -> [T?]? {
  149 + return deserializeModelArrayFrom(array: array as? [Any])
  150 + }
  151 +
  152 + /// mapping raw array to Models array
  153 + public static func deserializeModelArrayFrom(array: [Any]?) -> [T?]? {
  154 + guard let _arr = array else {
  155 + return nil
  156 + }
  157 + return _arr.map({ (item) -> T? in
  158 + return self.deserializeFrom(dict: item as? NSDictionary)
  159 + })
  160 + }
  161 +}
  162 +
  163 +fileprivate func getInnerObject(inside object: Any?, by designatedPath: String?) -> Any? {
  164 + var result: Any? = object
  165 + var abort = false
  166 + if let paths = designatedPath?.components(separatedBy: "."), paths.count > 0 {
  167 + var next = object as? [String: Any]
  168 + paths.forEach({ (seg) in
  169 + if seg.trimmingCharacters(in: CharacterSet.whitespacesAndNewlines) == "" || abort {
  170 + return
  171 + }
  172 + if let _next = next?[seg] {
  173 + result = _next
  174 + next = _next as? [String: Any]
  175 + } else {
  176 + abort = true
  177 + }
  178 + })
  179 + }
  180 + return abort ? nil : result
  181 +}
ParentAssistant/Pods/HandyJSON/Source/EnumTransform.swift 0 → 100644
@@ -0,0 +1,50 @@ @@ -0,0 +1,50 @@
  1 +//
  2 +// EnumTransform.swift
  3 +// ObjectMapper
  4 +//
  5 +// Created by Kaan Dedeoglu on 3/20/15.
  6 +//
  7 +// The MIT License (MIT)
  8 +//
  9 +// Copyright (c) 2014-2016 Hearst
  10 +//
  11 +// Permission is hereby granted, free of charge, to any person obtaining a copy
  12 +// of this software and associated documentation files (the "Software"), to deal
  13 +// in the Software without restriction, including without limitation the rights
  14 +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  15 +// copies of the Software, and to permit persons to whom the Software is
  16 +// furnished to do so, subject to the following conditions:
  17 +//
  18 +// The above copyright notice and this permission notice shall be included in
  19 +// all copies or substantial portions of the Software.
  20 +//
  21 +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  22 +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  23 +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  24 +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  25 +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  26 +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  27 +// THE SOFTWARE.
  28 +
  29 +import Foundation
  30 +
  31 +open class EnumTransform<T: RawRepresentable>: TransformType {
  32 + public typealias Object = T
  33 + public typealias JSON = T.RawValue
  34 +
  35 + public init() {}
  36 +
  37 + open func transformFromJSON(_ value: Any?) -> T? {
  38 + if let raw = value as? T.RawValue {
  39 + return T(rawValue: raw)
  40 + }
  41 + return nil
  42 + }
  43 +
  44 + open func transformToJSON(_ value: T?) -> T.RawValue? {
  45 + if let obj = value {
  46 + return obj.rawValue
  47 + }
  48 + return nil
  49 + }
  50 +}
ParentAssistant/Pods/HandyJSON/Source/EnumType.swift 0 → 100644
@@ -0,0 +1,31 @@ @@ -0,0 +1,31 @@
  1 +//
  2 +// EnumType.swift
  3 +// HandyJSON
  4 +//
  5 +// Created by zhouzhuo on 16/07/2017.
  6 +// Copyright © 2017 aliyun. All rights reserved.
  7 +//
  8 +
  9 +import Foundation
  10 +
  11 +public protocol _RawEnumProtocol: _Transformable {
  12 +
  13 + static func _transform(from object: Any) -> Self?
  14 + func _plainValue() -> Any?
  15 +}
  16 +
  17 +extension RawRepresentable where Self: _RawEnumProtocol {
  18 +
  19 + public static func _transform(from object: Any) -> Self? {
  20 + if let transformableType = RawValue.self as? _Transformable.Type {
  21 + if let typedValue = transformableType.transform(from: object) {
  22 + return Self(rawValue: typedValue as! RawValue)
  23 + }
  24 + }
  25 + return nil
  26 + }
  27 +
  28 + public func _plainValue() -> Any? {
  29 + return self.rawValue
  30 + }
  31 +}
ParentAssistant/Pods/HandyJSON/Source/Export.swift 0 → 100644
@@ -0,0 +1,15 @@ @@ -0,0 +1,15 @@
  1 +//
  2 +// Export.swift
  3 +// HandyJSON
  4 +//
  5 +// Created by zhouzhuo on 16/07/2017.
  6 +// Copyright © 2017 aliyun. All rights reserved.
  7 +//
  8 +
  9 +import Foundation
  10 +
  11 +public protocol HandyJSONCustomTransformable: _ExtendCustomBasicType {}
  12 +
  13 +public protocol HandyJSON: _ExtendCustomModelType {}
  14 +
  15 +public protocol HandyJSONEnum: _RawEnumProtocol {}
ParentAssistant/Pods/HandyJSON/Source/ExtendCustomBasicType.swift 0 → 100644
@@ -0,0 +1,28 @@ @@ -0,0 +1,28 @@
  1 +/*
  2 + * Copyright 1999-2101 Alibaba Group.
  3 + *
  4 + * Licensed under the Apache License, Version 2.0 (the "License");
  5 + * you may not use this file except in compliance with the License.
  6 + * You may obtain a copy of the License at
  7 + *
  8 + * http://www.apache.org/licenses/LICENSE-2.0
  9 + *
  10 + * Unless required by applicable law or agreed to in writing, software
  11 + * distributed under the License is distributed on an "AS IS" BASIS,
  12 + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13 + * See the License for the specific language governing permissions and
  14 + * limitations under the License.
  15 + */
  16 +
  17 +//
  18 +// ExtendCustomBasicType.swift
  19 +// HandyJSON
  20 +//
  21 +// Created by zhouzhuo on 05/09/2017.
  22 +//
  23 +
  24 +public protocol _ExtendCustomBasicType: _Transformable {
  25 +
  26 + static func _transform(from object: Any) -> Self?
  27 + func _plainValue() -> Any?
  28 +}
ParentAssistant/Pods/HandyJSON/Source/ExtendCustomModelType.swift 0 → 100644
@@ -0,0 +1,272 @@ @@ -0,0 +1,272 @@
  1 +//
  2 +// ExtendCustomType.swift
  3 +// HandyJSON
  4 +//
  5 +// Created by zhouzhuo on 16/07/2017.
  6 +// Copyright © 2017 aliyun. All rights reserved.
  7 +//
  8 +
  9 +import Foundation
  10 +
  11 +public protocol _ExtendCustomModelType: _Transformable {
  12 + init()
  13 + mutating func mapping(mapper: HelpingMapper)
  14 + mutating func didFinishMapping()
  15 +}
  16 +
  17 +extension _ExtendCustomModelType {
  18 +
  19 + public mutating func mapping(mapper: HelpingMapper) {}
  20 + public mutating func didFinishMapping() {}
  21 +}
  22 +
  23 +fileprivate func convertKeyIfNeeded(dict: [String: Any]) -> [String: Any] {
  24 + if HandyJSONConfiguration.deserializeOptions.contains(.caseInsensitive) {
  25 + var newDict = [String: Any]()
  26 + dict.forEach({ (kvPair) in
  27 + let (key, value) = kvPair
  28 + newDict[key.lowercased()] = value
  29 + })
  30 + return newDict
  31 + }
  32 + return dict
  33 +}
  34 +
  35 +fileprivate func getRawValueFrom(dict: [String: Any], property: PropertyInfo, mapper: HelpingMapper) -> Any? {
  36 + if let mappingHandler = mapper.getMappingHandler(key: property.address.hashValue) {
  37 + if let mappingPaths = mappingHandler.mappingPaths, mappingPaths.count > 0 {
  38 + for mappingPath in mappingPaths {
  39 + if let _value = dict.findValueBy(path: mappingPath) {
  40 + return _value
  41 + }
  42 + }
  43 + return nil
  44 + }
  45 + }
  46 + if HandyJSONConfiguration.deserializeOptions.contains(.caseInsensitive) {
  47 + return dict[property.key.lowercased()]
  48 + }
  49 + return dict[property.key]
  50 +}
  51 +
  52 +fileprivate func convertValue(rawValue: Any, property: PropertyInfo, mapper: HelpingMapper) -> Any? {
  53 + if let mappingHandler = mapper.getMappingHandler(key: property.address.hashValue), let transformer = mappingHandler.assignmentClosure {
  54 + return transformer(rawValue)
  55 + }
  56 + if let transformableType = property.type as? _Transformable.Type {
  57 + return transformableType.transform(from: rawValue)
  58 + } else {
  59 + return extensions(of: property.type).takeValue(from: rawValue)
  60 + }
  61 +}
  62 +
  63 +fileprivate func assignProperty(convertedValue: Any, instance: _ExtendCustomModelType, property: PropertyInfo) {
  64 + if property.bridged {
  65 + (instance as! NSObject).setValue(convertedValue, forKey: property.key)
  66 + } else {
  67 + extensions(of: property.type).write(convertedValue, to: property.address)
  68 + }
  69 +}
  70 +
  71 +fileprivate func readAllChildrenFrom(mirror: Mirror) -> [(String, Any)] {
  72 + var children = [(label: String?, value: Any)]()
  73 + let mirrorChildrenCollection = AnyRandomAccessCollection(mirror.children)!
  74 + children += mirrorChildrenCollection
  75 +
  76 + var currentMirror = mirror
  77 + while let superclassChildren = currentMirror.superclassMirror?.children {
  78 + let randomCollection = AnyRandomAccessCollection(superclassChildren)!
  79 + children += randomCollection
  80 + currentMirror = currentMirror.superclassMirror!
  81 + }
  82 + var result = [(String, Any)]()
  83 + children.forEach { (child) in
  84 + if let _label = child.label {
  85 + result.append((_label, child.value))
  86 + }
  87 + }
  88 + return result
  89 +}
  90 +
  91 +fileprivate func merge(children: [(String, Any)], propertyInfos: [PropertyInfo]) -> [String: (Any, PropertyInfo?)] {
  92 + var infoDict = [String: PropertyInfo]()
  93 + propertyInfos.forEach { (info) in
  94 + infoDict[info.key] = info
  95 + }
  96 +
  97 + var result = [String: (Any, PropertyInfo?)]()
  98 + children.forEach { (child) in
  99 + result[child.0] = (child.1, infoDict[child.0])
  100 + }
  101 + return result
  102 +}
  103 +
  104 +// this's a workaround before https://bugs.swift.org/browse/SR-5223 fixed
  105 +extension NSObject {
  106 + static func createInstance() -> NSObject {
  107 + return self.init()
  108 + }
  109 +}
  110 +
  111 +extension _ExtendCustomModelType {
  112 +
  113 + static func _transform(from object: Any) -> Self? {
  114 + if let dict = object as? [String: Any] {
  115 + // nested object, transform recursively
  116 + return self._transform(dict: dict) as? Self
  117 + }
  118 + return nil
  119 + }
  120 +
  121 + static func _transform(dict: [String: Any]) -> _ExtendCustomModelType? {
  122 +
  123 + var instance: Self
  124 + if let _nsType = Self.self as? NSObject.Type {
  125 + instance = _nsType.createInstance() as! Self
  126 + } else {
  127 + instance = Self.init()
  128 + }
  129 + _transform(dict: dict, to: &instance)
  130 + instance.didFinishMapping()
  131 + return instance
  132 + }
  133 +
  134 + static func _transform(dict: [String: Any], to instance: inout Self) {
  135 + guard let properties = getProperties(forType: Self.self) else {
  136 + InternalLogger.logDebug("Failed when try to get properties from type: \(type(of: Self.self))")
  137 + return
  138 + }
  139 +
  140 + // do user-specified mapping first
  141 + let mapper = HelpingMapper()
  142 + instance.mapping(mapper: mapper)
  143 +
  144 + // get head addr
  145 + let rawPointer = instance.headPointer()
  146 + InternalLogger.logVerbose("instance start at: ", rawPointer.hashValue)
  147 +
  148 + // process dictionary
  149 + let _dict = convertKeyIfNeeded(dict: dict)
  150 +
  151 + let instanceIsNsObject = instance.isNSObjectType()
  152 + let bridgedPropertyList = instance.getBridgedPropertyList()
  153 +
  154 + properties.forEach { (property) in
  155 + let isBridgedProperty = instanceIsNsObject && bridgedPropertyList.contains(property.key)
  156 +
  157 + let propAddr = rawPointer.advanced(by: property.offset)
  158 + InternalLogger.logVerbose(property.key, "address at: ", propAddr.hashValue)
  159 + if mapper.propertyExcluded(key: propAddr.hashValue) {
  160 + InternalLogger.logDebug("Exclude property: \(property.key)")
  161 + return
  162 + }
  163 +
  164 + let propertyDetail = PropertyInfo(key: property.key, type: property.type, address: propAddr, bridged: isBridgedProperty)
  165 + InternalLogger.logVerbose("field: ", property.key, " offset: ", property.offset, " isBridgeProperty: ", isBridgedProperty)
  166 +
  167 + if let rawValue = getRawValueFrom(dict: _dict, property: propertyDetail, mapper: mapper) {
  168 + if let convertedValue = convertValue(rawValue: rawValue, property: propertyDetail, mapper: mapper) {
  169 + assignProperty(convertedValue: convertedValue, instance: instance, property: propertyDetail)
  170 + return
  171 + }
  172 + }
  173 + InternalLogger.logDebug("Property: \(property.key) hasn't been written in")
  174 + }
  175 + }
  176 +}
  177 +
  178 +extension _ExtendCustomModelType {
  179 +
  180 + func _plainValue() -> Any? {
  181 + return Self._serializeAny(object: self)
  182 + }
  183 +
  184 + static func _serializeAny(object: _Transformable) -> Any? {
  185 +
  186 + let mirror = Mirror(reflecting: object)
  187 +
  188 + guard let displayStyle = mirror.displayStyle else {
  189 + return object.plainValue()
  190 + }
  191 +
  192 + // after filtered by protocols above, now we expect the type is pure struct/class
  193 + switch displayStyle {
  194 + case .class, .struct:
  195 + let mapper = HelpingMapper()
  196 + // do user-specified mapping first
  197 + if !(object is _ExtendCustomModelType) {
  198 + InternalLogger.logDebug("This model of type: \(type(of: object)) is not mappable but is class/struct type")
  199 + return object
  200 + }
  201 +
  202 + let children = readAllChildrenFrom(mirror: mirror)
  203 +
  204 + guard let properties = getProperties(forType: type(of: object)) else {
  205 + InternalLogger.logError("Can not get properties info for type: \(type(of: object))")
  206 + return nil
  207 + }
  208 +
  209 + var mutableObject = object as! _ExtendCustomModelType
  210 + let instanceIsNsObject = mutableObject.isNSObjectType()
  211 + let head = mutableObject.headPointer()
  212 + let bridgedProperty = mutableObject.getBridgedPropertyList()
  213 + let propertyInfos = properties.map({ (desc) -> PropertyInfo in
  214 + return PropertyInfo(key: desc.key, type: desc.type, address: head.advanced(by: desc.offset),
  215 + bridged: instanceIsNsObject && bridgedProperty.contains(desc.key))
  216 + })
  217 +
  218 + mutableObject.mapping(mapper: mapper)
  219 +
  220 + let requiredInfo = merge(children: children, propertyInfos: propertyInfos)
  221 +
  222 + return _serializeModelObject(instance: mutableObject, properties: requiredInfo, mapper: mapper) as Any
  223 + default:
  224 + return object.plainValue()
  225 + }
  226 + }
  227 +
  228 + static func _serializeModelObject(instance: _ExtendCustomModelType, properties: [String: (Any, PropertyInfo?)], mapper: HelpingMapper) -> [String: Any] {
  229 +
  230 + var dict = [String: Any]()
  231 + for (key, property) in properties {
  232 + var realKey = key
  233 + var realValue = property.0
  234 +
  235 + if let info = property.1 {
  236 + if info.bridged, let _value = (instance as! NSObject).value(forKey: key) {
  237 + realValue = _value
  238 + }
  239 +
  240 + if mapper.propertyExcluded(key: info.address.hashValue) {
  241 + continue
  242 + }
  243 +
  244 + if let mappingHandler = mapper.getMappingHandler(key: info.address.hashValue) {
  245 + // if specific key is set, replace the label
  246 + if let mappingPaths = mappingHandler.mappingPaths, mappingPaths.count > 0 {
  247 + // take the first path, last segment if more than one
  248 + realKey = mappingPaths[0].segments.last!
  249 + }
  250 +
  251 + if let transformer = mappingHandler.takeValueClosure {
  252 + if let _transformedValue = transformer(realValue) {
  253 + dict[realKey] = _transformedValue
  254 + }
  255 + continue
  256 + }
  257 + }
  258 + }
  259 +
  260 + if let typedValue = realValue as? _Transformable {
  261 + if let result = self._serializeAny(object: typedValue) {
  262 + dict[realKey] = result
  263 + continue
  264 + }
  265 + }
  266 +
  267 + InternalLogger.logDebug("The value for key: \(key) is not transformable type")
  268 + }
  269 + return dict
  270 + }
  271 +}
  272 +
ParentAssistant/Pods/HandyJSON/Source/HandyJSON.h 0 → 100644
@@ -0,0 +1,30 @@ @@ -0,0 +1,30 @@
  1 +/*
  2 + * Copyright 1999-2101 Alibaba Group.
  3 + *
  4 + * Licensed under the Apache License, Version 2.0 (the "License");
  5 + * you may not use this file except in compliance with the License.
  6 + * You may obtain a copy of the License at
  7 + *
  8 + * http://www.apache.org/licenses/LICENSE-2.0
  9 + *
  10 + * Unless required by applicable law or agreed to in writing, software
  11 + * distributed under the License is distributed on an "AS IS" BASIS,
  12 + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13 + * See the License for the specific language governing permissions and
  14 + * limitations under the License.
  15 + */
  16 +
  17 +// Created by zhouzhuo on 7/11/16.
  18 +//
  19 +
  20 +@import Foundation;
  21 +
  22 +//! Project version number for HandyJSON.
  23 +FOUNDATION_EXPORT double HandyJSONVersionNumber;
  24 +
  25 +//! Project version string for HandyJSON.
  26 +FOUNDATION_EXPORT const unsigned char HandyJSONVersionString[];
  27 +
  28 +// In this header, you should import all the public headers of your framework using statements like #import <HandyJSON/PublicHeader.h>
  29 +
  30 +
ParentAssistant/Pods/HandyJSON/Source/HelpingMapper.swift 0 → 100644
@@ -0,0 +1,244 @@ @@ -0,0 +1,244 @@
  1 +/*
  2 + * Copyright 1999-2101 Alibaba Group.
  3 + *
  4 + * Licensed under the Apache License, Version 2.0 (the "License");
  5 + * you may not use this file except in compliance with the License.
  6 + * You may obtain a copy of the License at
  7 + *
  8 + * http://www.apache.org/licenses/LICENSE-2.0
  9 + *
  10 + * Unless required by applicable law or agreed to in writing, software
  11 + * distributed under the License is distributed on an "AS IS" BASIS,
  12 + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13 + * See the License for the specific language governing permissions and
  14 + * limitations under the License.
  15 + */
  16 +
  17 +// Created by zhouzhuo on 9/20/16.
  18 +//
  19 +
  20 +import Foundation
  21 +
  22 +public typealias CustomMappingKeyValueTuple = (Int, MappingPropertyHandler)
  23 +
  24 +struct MappingPath {
  25 + var segments: [String]
  26 +
  27 + static func buildFrom(rawPath: String) -> MappingPath {
  28 + let regex = try! NSRegularExpression(pattern: "(?<![\\\\])\\.")
  29 + let nsString = rawPath as NSString
  30 + let results = regex.matches(in: rawPath, range: NSRange(location: 0, length: nsString.length))
  31 + var splitPoints = results.map { $0.range.location }
  32 +
  33 + var curPos = 0
  34 + var pathArr = [String]()
  35 + splitPoints.append(nsString.length)
  36 + splitPoints.forEach({ (point) in
  37 + let start = rawPath.index(rawPath.startIndex, offsetBy: curPos)
  38 + let end = rawPath.index(rawPath.startIndex, offsetBy: point)
  39 + let subPath = String(rawPath[start ..< end]).replacingOccurrences(of: "\\.", with: ".")
  40 + if !subPath.isEmpty {
  41 + pathArr.append(subPath)
  42 + }
  43 + curPos = point + 1
  44 + })
  45 + return MappingPath(segments: pathArr)
  46 + }
  47 +}
  48 +
  49 +extension Dictionary where Key == String, Value: Any {
  50 +
  51 + func findValueBy(path: MappingPath) -> Any? {
  52 + var currentDict: [String: Any]? = self
  53 + var lastValue: Any?
  54 + path.segments.forEach { (segment) in
  55 + lastValue = currentDict?[segment]
  56 + currentDict = currentDict?[segment] as? [String: Any]
  57 + }
  58 + return lastValue
  59 + }
  60 +}
  61 +
  62 +public class MappingPropertyHandler {
  63 + var mappingPaths: [MappingPath]?
  64 + var assignmentClosure: ((Any?) -> (Any?))?
  65 + var takeValueClosure: ((Any?) -> (Any?))?
  66 +
  67 + public init(rawPaths: [String]?, assignmentClosure: ((Any?) -> (Any?))?, takeValueClosure: ((Any?) -> (Any?))?) {
  68 + let mappingPaths = rawPaths?.map({ (rawPath) -> MappingPath in
  69 + if HandyJSONConfiguration.deserializeOptions.contains(.caseInsensitive) {
  70 + return MappingPath.buildFrom(rawPath: rawPath.lowercased())
  71 + }
  72 + return MappingPath.buildFrom(rawPath: rawPath)
  73 + }).filter({ (mappingPath) -> Bool in
  74 + return mappingPath.segments.count > 0
  75 + })
  76 + if let count = mappingPaths?.count, count > 0 {
  77 + self.mappingPaths = mappingPaths
  78 + }
  79 + self.assignmentClosure = assignmentClosure
  80 + self.takeValueClosure = takeValueClosure
  81 + }
  82 +}
  83 +
  84 +public class HelpingMapper {
  85 +
  86 + private var mappingHandlers = [Int: MappingPropertyHandler]()
  87 + private var excludeProperties = [Int]()
  88 +
  89 + internal func getMappingHandler(key: Int) -> MappingPropertyHandler? {
  90 + return self.mappingHandlers[key]
  91 + }
  92 +
  93 + internal func propertyExcluded(key: Int) -> Bool {
  94 + return self.excludeProperties.contains(key)
  95 + }
  96 +
  97 + public func specify<T>(property: inout T, name: String) {
  98 + self.specify(property: &property, name: name, converter: nil)
  99 + }
  100 +
  101 + public func specify<T>(property: inout T, converter: @escaping (String) -> T) {
  102 + self.specify(property: &property, name: nil, converter: converter)
  103 + }
  104 +
  105 + public func specify<T>(property: inout T, name: String?, converter: ((String) -> T)?) {
  106 + let pointer = withUnsafePointer(to: &property, { return $0 })
  107 + let key = pointer.hashValue
  108 + let names = (name == nil ? nil : [name!])
  109 +
  110 + if let _converter = converter {
  111 + let assignmentClosure = { (jsonValue: Any?) -> Any? in
  112 + if let _value = jsonValue{
  113 + if let object = _value as? NSObject{
  114 + if let str = String.transform(from: object){
  115 + return _converter(str)
  116 + }
  117 + }
  118 + }
  119 + return nil
  120 + }
  121 + self.mappingHandlers[key] = MappingPropertyHandler(rawPaths: names, assignmentClosure: assignmentClosure, takeValueClosure: nil)
  122 + } else {
  123 + self.mappingHandlers[key] = MappingPropertyHandler(rawPaths: names, assignmentClosure: nil, takeValueClosure: nil)
  124 + }
  125 + }
  126 +
  127 + public func exclude<T>(property: inout T) {
  128 + self._exclude(property: &property)
  129 + }
  130 +
  131 + fileprivate func addCustomMapping(key: Int, mappingInfo: MappingPropertyHandler) {
  132 + self.mappingHandlers[key] = mappingInfo
  133 + }
  134 +
  135 + fileprivate func _exclude<T>(property: inout T) {
  136 + let pointer = withUnsafePointer(to: &property, { return $0 })
  137 + self.excludeProperties.append(pointer.hashValue)
  138 + }
  139 +}
  140 +
  141 +infix operator <-- : LogicalConjunctionPrecedence
  142 +
  143 +public func <-- <T>(property: inout T, name: String) -> CustomMappingKeyValueTuple {
  144 + return property <-- [name]
  145 +}
  146 +
  147 +public func <-- <T>(property: inout T, names: [String]) -> CustomMappingKeyValueTuple {
  148 + let pointer = withUnsafePointer(to: &property, { return $0 })
  149 + let key = pointer.hashValue
  150 + return (key, MappingPropertyHandler(rawPaths: names, assignmentClosure: nil, takeValueClosure: nil))
  151 +}
  152 +
  153 +// MARK: non-optional properties
  154 +public func <-- <Transform: TransformType>(property: inout Transform.Object, transformer: Transform) -> CustomMappingKeyValueTuple {
  155 + return property <-- (nil, transformer)
  156 +}
  157 +
  158 +public func <-- <Transform: TransformType>(property: inout Transform.Object, transformer: (String?, Transform?)) -> CustomMappingKeyValueTuple {
  159 + let names = (transformer.0 == nil ? [] : [transformer.0!])
  160 + return property <-- (names, transformer.1)
  161 +}
  162 +
  163 +public func <-- <Transform: TransformType>(property: inout Transform.Object, transformer: ([String], Transform?)) -> CustomMappingKeyValueTuple {
  164 + let pointer = withUnsafePointer(to: &property, { return $0 })
  165 + let key = pointer.hashValue
  166 + let assignmentClosure = { (jsonValue: Any?) -> Transform.Object? in
  167 + return transformer.1?.transformFromJSON(jsonValue)
  168 + }
  169 + let takeValueClosure = { (objectValue: Any?) -> Any? in
  170 + if let _value = objectValue as? Transform.Object {
  171 + return transformer.1?.transformToJSON(_value) as Any
  172 + }
  173 + return nil
  174 + }
  175 + return (key, MappingPropertyHandler(rawPaths: transformer.0, assignmentClosure: assignmentClosure, takeValueClosure: takeValueClosure))
  176 +}
  177 +
  178 +// MARK: optional properties
  179 +public func <-- <Transform: TransformType>(property: inout Transform.Object?, transformer: Transform) -> CustomMappingKeyValueTuple {
  180 + return property <-- (nil, transformer)
  181 +}
  182 +
  183 +public func <-- <Transform: TransformType>(property: inout Transform.Object?, transformer: (String?, Transform?)) -> CustomMappingKeyValueTuple {
  184 + let names = (transformer.0 == nil ? [] : [transformer.0!])
  185 + return property <-- (names, transformer.1)
  186 +}
  187 +
  188 +public func <-- <Transform: TransformType>(property: inout Transform.Object?, transformer: ([String], Transform?)) -> CustomMappingKeyValueTuple {
  189 + let pointer = withUnsafePointer(to: &property, { return $0 })
  190 + let key = pointer.hashValue
  191 + let assignmentClosure = { (jsonValue: Any?) -> Any? in
  192 + return transformer.1?.transformFromJSON(jsonValue)
  193 + }
  194 + let takeValueClosure = { (objectValue: Any?) -> Any? in
  195 + if let _value = objectValue as? Transform.Object {
  196 + return transformer.1?.transformToJSON(_value) as Any
  197 + }
  198 + return nil
  199 + }
  200 + return (key, MappingPropertyHandler(rawPaths: transformer.0, assignmentClosure: assignmentClosure, takeValueClosure: takeValueClosure))
  201 +}
  202 +
  203 +// MARK: implicitly unwrap optional properties
  204 +public func <-- <Transform: TransformType>(property: inout Transform.Object!, transformer: Transform) -> CustomMappingKeyValueTuple {
  205 + return property <-- (nil, transformer)
  206 +}
  207 +
  208 +public func <-- <Transform: TransformType>(property: inout Transform.Object!, transformer: (String?, Transform?)) -> CustomMappingKeyValueTuple {
  209 + let names = (transformer.0 == nil ? [] : [transformer.0!])
  210 + return property <-- (names, transformer.1)
  211 +}
  212 +
  213 +public func <-- <Transform: TransformType>(property: inout Transform.Object!, transformer: ([String], Transform?)) -> CustomMappingKeyValueTuple {
  214 + let pointer = withUnsafePointer(to: &property, { return $0 })
  215 + let key = pointer.hashValue
  216 + let assignmentClosure = { (jsonValue: Any?) in
  217 + return transformer.1?.transformFromJSON(jsonValue)
  218 + }
  219 + let takeValueClosure = { (objectValue: Any?) -> Any? in
  220 + if let _value = objectValue as? Transform.Object {
  221 + return transformer.1?.transformToJSON(_value) as Any
  222 + }
  223 + return nil
  224 + }
  225 + return (key, MappingPropertyHandler(rawPaths: transformer.0, assignmentClosure: assignmentClosure, takeValueClosure: takeValueClosure))
  226 +}
  227 +
  228 +infix operator <<< : AssignmentPrecedence
  229 +
  230 +public func <<< (mapper: HelpingMapper, mapping: CustomMappingKeyValueTuple) {
  231 + mapper.addCustomMapping(key: mapping.0, mappingInfo: mapping.1)
  232 +}
  233 +
  234 +public func <<< (mapper: HelpingMapper, mappings: [CustomMappingKeyValueTuple]) {
  235 + mappings.forEach { (mapping) in
  236 + mapper.addCustomMapping(key: mapping.0, mappingInfo: mapping.1)
  237 + }
  238 +}
  239 +
  240 +infix operator >>> : AssignmentPrecedence
  241 +
  242 +public func >>> <T> (mapper: HelpingMapper, property: inout T) {
  243 + mapper._exclude(property: &property)
  244 +}
ParentAssistant/Pods/HandyJSON/Source/HexColorTransform.swift 0 → 100644
@@ -0,0 +1,115 @@ @@ -0,0 +1,115 @@
  1 +//
  2 +// HexColorTransform.swift
  3 +// ObjectMapper
  4 +//
  5 +// Created by Vitaliy Kuzmenko on 10/10/16.
  6 +// Copyright © 2016 hearst. All rights reserved.
  7 +//
  8 +
  9 +#if os(iOS) || os(tvOS) || os(watchOS)
  10 +import UIKit
  11 +#else
  12 +import Cocoa
  13 +#endif
  14 +
  15 +open class HexColorTransform: TransformType {
  16 +
  17 + #if os(iOS) || os(tvOS) || os(watchOS)
  18 + public typealias Object = UIColor
  19 + #else
  20 + public typealias Object = NSColor
  21 + #endif
  22 +
  23 + public typealias JSON = String
  24 +
  25 + var prefix: Bool = false
  26 +
  27 + var alpha: Bool = false
  28 +
  29 + public init(prefixToJSON: Bool = false, alphaToJSON: Bool = false) {
  30 + alpha = alphaToJSON
  31 + prefix = prefixToJSON
  32 + }
  33 +
  34 + open func transformFromJSON(_ value: Any?) -> Object? {
  35 + if let rgba = value as? String {
  36 + if rgba.hasPrefix("#") {
  37 + let index = rgba.index(rgba.startIndex, offsetBy: 1)
  38 + let hex = String(rgba[index...])
  39 + return getColor(hex: hex)
  40 + } else {
  41 + return getColor(hex: rgba)
  42 + }
  43 + }
  44 + return nil
  45 + }
  46 +
  47 + open func transformToJSON(_ value: Object?) -> JSON? {
  48 + if let value = value {
  49 + return hexString(color: value)
  50 + }
  51 + return nil
  52 + }
  53 +
  54 + fileprivate func hexString(color: Object) -> String {
  55 + let comps = color.cgColor.components!
  56 + let r = Int(comps[0] * 255)
  57 + let g = Int(comps[1] * 255)
  58 + let b = Int(comps[2] * 255)
  59 + let a = Int(comps[3] * 255)
  60 + var hexString: String = ""
  61 + if prefix {
  62 + hexString = "#"
  63 + }
  64 + hexString += String(format: "%02X%02X%02X", r, g, b)
  65 +
  66 + if alpha {
  67 + hexString += String(format: "%02X", a)
  68 + }
  69 + return hexString
  70 + }
  71 +
  72 + fileprivate func getColor(hex: String) -> Object? {
  73 + var red: CGFloat = 0.0
  74 + var green: CGFloat = 0.0
  75 + var blue: CGFloat = 0.0
  76 + var alpha: CGFloat = 1.0
  77 +
  78 + let scanner = Scanner(string: hex)
  79 + var hexValue: CUnsignedLongLong = 0
  80 + if scanner.scanHexInt64(&hexValue) {
  81 + switch (hex.count) {
  82 + case 3:
  83 + red = CGFloat((hexValue & 0xF00) >> 8) / 15.0
  84 + green = CGFloat((hexValue & 0x0F0) >> 4) / 15.0
  85 + blue = CGFloat(hexValue & 0x00F) / 15.0
  86 + case 4:
  87 + red = CGFloat((hexValue & 0xF000) >> 12) / 15.0
  88 + green = CGFloat((hexValue & 0x0F00) >> 8) / 15.0
  89 + blue = CGFloat((hexValue & 0x00F0) >> 4) / 15.0
  90 + alpha = CGFloat(hexValue & 0x000F) / 15.0
  91 + case 6:
  92 + red = CGFloat((hexValue & 0xFF0000) >> 16) / 255.0
  93 + green = CGFloat((hexValue & 0x00FF00) >> 8) / 255.0
  94 + blue = CGFloat(hexValue & 0x0000FF) / 255.0
  95 + case 8:
  96 + red = CGFloat((hexValue & 0xFF000000) >> 24) / 255.0
  97 + green = CGFloat((hexValue & 0x00FF0000) >> 16) / 255.0
  98 + blue = CGFloat((hexValue & 0x0000FF00) >> 8) / 255.0
  99 + alpha = CGFloat(hexValue & 0x000000FF) / 255.0
  100 + default:
  101 + // Invalid RGB string, number of characters after '#' should be either 3, 4, 6 or 8
  102 + return nil
  103 + }
  104 + } else {
  105 + // "Scan hex error
  106 + return nil
  107 + }
  108 + #if os(iOS) || os(tvOS) || os(watchOS)
  109 + return UIColor(red: red, green: green, blue: blue, alpha: alpha)
  110 + #else
  111 + return NSColor(calibratedRed: red, green: green, blue: blue, alpha: alpha)
  112 + #endif
  113 + }
  114 +}
  115 +
ParentAssistant/Pods/HandyJSON/Source/ISO8601DateTransform.swift 0 → 100644
@@ -0,0 +1,41 @@ @@ -0,0 +1,41 @@
  1 +//
  2 +// ISO8601DateTransform.swift
  3 +// ObjectMapper
  4 +//
  5 +// Created by Jean-Pierre Mouilleseaux on 21 Nov 2014.
  6 +//
  7 +// The MIT License (MIT)
  8 +//
  9 +// Copyright (c) 2014-2016 Hearst
  10 +//
  11 +// Permission is hereby granted, free of charge, to any person obtaining a copy
  12 +// of this software and associated documentation files (the "Software"), to deal
  13 +// in the Software without restriction, including without limitation the rights
  14 +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  15 +// copies of the Software, and to permit persons to whom the Software is
  16 +// furnished to do so, subject to the following conditions:
  17 +//
  18 +// The above copyright notice and this permission notice shall be included in
  19 +// all copies or substantial portions of the Software.
  20 +//
  21 +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  22 +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  23 +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  24 +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  25 +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  26 +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  27 +// THE SOFTWARE.
  28 +
  29 +import Foundation
  30 +
  31 +open class ISO8601DateTransform: DateFormatterTransform {
  32 +
  33 + public init() {
  34 + let formatter = DateFormatter()
  35 + formatter.locale = Locale(identifier: "en_US_POSIX")
  36 + formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZZZZZ"
  37 +
  38 + super.init(dateFormatter: formatter)
  39 + }
  40 +
  41 +}
ParentAssistant/Pods/HandyJSON/Source/Logger.swift 0 → 100644
@@ -0,0 +1,43 @@ @@ -0,0 +1,43 @@
  1 +/*
  2 + * Copyright 1999-2101 Alibaba Group.
  3 + *
  4 + * Licensed under the Apache License, Version 2.0 (the "License");
  5 + * you may not use this file except in compliance with the License.
  6 + * You may obtain a copy of the License at
  7 + *
  8 + * http://www.apache.org/licenses/LICENSE-2.0
  9 + *
  10 + * Unless required by applicable law or agreed to in writing, software
  11 + * distributed under the License is distributed on an "AS IS" BASIS,
  12 + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13 + * See the License for the specific language governing permissions and
  14 + * limitations under the License.
  15 + */
  16 +
  17 +//
  18 +// Logger.swift
  19 +// HandyJSON
  20 +//
  21 +// Created by zhouzhuo on 08/01/2017.
  22 +//
  23 +
  24 +struct InternalLogger {
  25 +
  26 + static func logError(_ items: Any..., separator: String = " ", terminator: String = "\n") {
  27 + if HandyJSONConfiguration.debugMode.rawValue <= DebugMode.error.rawValue {
  28 + print(items, separator: separator, terminator: terminator)
  29 + }
  30 + }
  31 +
  32 + static func logDebug(_ items: Any..., separator: String = " ", terminator: String = "\n") {
  33 + if HandyJSONConfiguration.debugMode.rawValue <= DebugMode.debug.rawValue {
  34 + print(items, separator: separator, terminator: terminator)
  35 + }
  36 + }
  37 +
  38 + static func logVerbose(_ items: Any..., separator: String = " ", terminator: String = "\n") {
  39 + if HandyJSONConfiguration.debugMode.rawValue <= DebugMode.verbose.rawValue {
  40 + print(items, separator: separator, terminator: terminator)
  41 + }
  42 + }
  43 +}
ParentAssistant/Pods/HandyJSON/Source/Measuable.swift 0 → 100644
@@ -0,0 +1,89 @@ @@ -0,0 +1,89 @@
  1 +//
  2 +// Measuable.swift
  3 +// HandyJSON
  4 +//
  5 +// Created by zhouzhuo on 15/07/2017.
  6 +// Copyright © 2017 aliyun. All rights reserved.
  7 +//
  8 +
  9 +import Foundation
  10 +
  11 +typealias Byte = Int8
  12 +
  13 +public protocol _Measurable {}
  14 +
  15 +extension _Measurable {
  16 +
  17 + // locate the head of a struct type object in memory
  18 + mutating func headPointerOfStruct() -> UnsafeMutablePointer<Byte> {
  19 +
  20 + return withUnsafeMutablePointer(to: &self) {
  21 + return UnsafeMutableRawPointer($0).bindMemory(to: Byte.self, capacity: MemoryLayout<Self>.stride)
  22 + }
  23 + }
  24 +
  25 + // locating the head of a class type object in memory
  26 + mutating func headPointerOfClass() -> UnsafeMutablePointer<Byte> {
  27 +
  28 + let opaquePointer = Unmanaged.passUnretained(self as AnyObject).toOpaque()
  29 + let mutableTypedPointer = opaquePointer.bindMemory(to: Byte.self, capacity: MemoryLayout<Self>.stride)
  30 + return UnsafeMutablePointer<Byte>(mutableTypedPointer)
  31 + }
  32 +
  33 + // locating the head of an object
  34 + mutating func headPointer() -> UnsafeMutablePointer<Byte> {
  35 + if Self.self is AnyClass {
  36 + return self.headPointerOfClass()
  37 + } else {
  38 + return self.headPointerOfStruct()
  39 + }
  40 + }
  41 +
  42 + func isNSObjectType() -> Bool {
  43 + return (type(of: self) as? NSObject.Type) != nil
  44 + }
  45 +
  46 + func getBridgedPropertyList() -> Set<String> {
  47 + if let anyClass = type(of: self) as? AnyClass {
  48 + return _getBridgedPropertyList(anyClass: anyClass)
  49 + }
  50 + return []
  51 + }
  52 +
  53 + func _getBridgedPropertyList(anyClass: AnyClass) -> Set<String> {
  54 + if !(anyClass is HandyJSON.Type) {
  55 + return []
  56 + }
  57 + var propertyList = Set<String>()
  58 + if let superClass = class_getSuperclass(anyClass), superClass != NSObject.self {
  59 + propertyList = propertyList.union(_getBridgedPropertyList(anyClass: superClass))
  60 + }
  61 + let count = UnsafeMutablePointer<UInt32>.allocate(capacity: 1)
  62 + if let props = class_copyPropertyList(anyClass, count) {
  63 + for i in 0 ..< count.pointee {
  64 + let name = String(cString: property_getName(props.advanced(by: Int(i)).pointee))
  65 + propertyList.insert(name)
  66 + }
  67 + }
  68 + return propertyList
  69 + }
  70 +
  71 + // memory size occupy by self object
  72 + static func size() -> Int {
  73 + return MemoryLayout<Self>.size
  74 + }
  75 +
  76 + // align
  77 + static func align() -> Int {
  78 + return MemoryLayout<Self>.alignment
  79 + }
  80 +
  81 + // Returns the offset to the next integer that is greater than
  82 + // or equal to Value and is a multiple of Align. Align must be
  83 + // non-zero.
  84 + static func offsetToAlignment(value: Int, align: Int) -> Int {
  85 + let m = value % align
  86 + return m == 0 ? 0 : (align - m)
  87 + }
  88 +}
  89 +
ParentAssistant/Pods/HandyJSON/Source/Metadata.swift 0 → 100644
@@ -0,0 +1,249 @@ @@ -0,0 +1,249 @@
  1 +/*
  2 + * Copyright 1999-2101 Alibaba Group.
  3 + *
  4 + * Licensed under the Apache License, Version 2.0 (the "License");
  5 + * you may not use this file except in compliance with the License.
  6 + * You may obtain a copy of the License at
  7 + *
  8 + * http://www.apache.org/licenses/LICENSE-2.0
  9 + *
  10 + * Unless required by applicable law or agreed to in writing, software
  11 + * distributed under the License is distributed on an "AS IS" BASIS,
  12 + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13 + * See the License for the specific language governing permissions and
  14 + * limitations under the License.
  15 + */
  16 +
  17 +//
  18 +// Created by zhouzhuo on 07/01/2017.
  19 +//
  20 +
  21 +struct _class_rw_t {
  22 + var flags: Int32
  23 + var version: Int32
  24 + var ro: UInt
  25 + // other fields we don't care
  26 +
  27 + func class_ro_t() -> UnsafePointer<_class_ro_t>? {
  28 + return UnsafePointer<_class_ro_t>(bitPattern: self.ro)
  29 + }
  30 +}
  31 +
  32 +struct _class_ro_t {
  33 + var flags: Int32
  34 + var instanceStart: Int32
  35 + var instanceSize: Int32
  36 + // other fields we don't care
  37 +}
  38 +
  39 +// MARK: MetadataType
  40 +protocol MetadataType : PointerType {
  41 + static var kind: Metadata.Kind? { get }
  42 +}
  43 +
  44 +extension MetadataType {
  45 +
  46 + var kind: Metadata.Kind {
  47 + return Metadata.Kind(flag: UnsafePointer<Int>(pointer).pointee)
  48 + }
  49 +
  50 + init?(anyType: Any.Type) {
  51 + self.init(pointer: unsafeBitCast(anyType, to: UnsafePointer<Int>.self))
  52 + if let kind = type(of: self).kind, kind != self.kind {
  53 + return nil
  54 + }
  55 + }
  56 +}
  57 +
  58 +// MARK: Metadata
  59 +struct Metadata : MetadataType {
  60 + var pointer: UnsafePointer<Int>
  61 +
  62 + init(type: Any.Type) {
  63 + self.init(pointer: unsafeBitCast(type, to: UnsafePointer<Int>.self))
  64 + }
  65 +}
  66 +
  67 +struct _Metadata {}
  68 +
  69 +var is64BitPlatform: Bool {
  70 + return MemoryLayout<Int>.size == MemoryLayout<Int64>.size
  71 +}
  72 +
  73 +// MARK: Metadata + Kind
  74 +// https://github.com/apple/swift/blob/swift-3.0-branch/include/swift/ABI/MetadataKind.def
  75 +extension Metadata {
  76 + static let kind: Kind? = nil
  77 +
  78 + enum Kind {
  79 + case `struct`
  80 + case `enum`
  81 + case optional
  82 + case opaque
  83 + case tuple
  84 + case function
  85 + case existential
  86 + case metatype
  87 + case objCClassWrapper
  88 + case existentialMetatype
  89 + case foreignClass
  90 + case heapLocalVariable
  91 + case heapGenericLocalVariable
  92 + case errorObject
  93 + case `class`
  94 + init(flag: Int) {
  95 + switch flag {
  96 + case 1: self = .struct
  97 + case 2: self = .enum
  98 + case 3: self = .optional
  99 + case 8: self = .opaque
  100 + case 9: self = .tuple
  101 + case 10: self = .function
  102 + case 12: self = .existential
  103 + case 13: self = .metatype
  104 + case 14: self = .objCClassWrapper
  105 + case 15: self = .existentialMetatype
  106 + case 16: self = .foreignClass
  107 + case 64: self = .heapLocalVariable
  108 + case 65: self = .heapGenericLocalVariable
  109 + case 128: self = .errorObject
  110 + default: self = .class
  111 + }
  112 + }
  113 + }
  114 +}
  115 +
  116 +// MARK: Metadata + Class
  117 +extension Metadata {
  118 + struct Class : NominalType {
  119 +
  120 + static let kind: Kind? = .class
  121 + var pointer: UnsafePointer<_Metadata._Class>
  122 +
  123 + var isSwiftClass: Bool {
  124 + get {
  125 + let lowbit = self.pointer.pointee.databits & 1
  126 + return lowbit == 1
  127 + }
  128 + }
  129 +
  130 + var nominalTypeDescriptorOffsetLocation: Int {
  131 + return is64BitPlatform ? 8 : 11
  132 + }
  133 +
  134 + var superclass: Class? {
  135 + guard let superclass = pointer.pointee.superclass else {
  136 + return nil
  137 + }
  138 +
  139 + // If the superclass doesn't conform to handyjson/handyjsonenum protocol,
  140 + // we should ignore the properties inside
  141 + if !(superclass is HandyJSON.Type) && !(superclass is HandyJSONEnum.Type) {
  142 + return nil
  143 + }
  144 +
  145 + // ignore objc-runtime layer
  146 + guard let metaclass = Metadata.Class(anyType: superclass), metaclass.isSwiftClass else {
  147 + return nil
  148 + }
  149 +
  150 + return metaclass
  151 + }
  152 +
  153 + func _propertiesAndStartPoint() -> ([Property.Description], Int32?)? {
  154 + let instanceStart = pointer.pointee.class_rw_t()?.pointee.class_ro_t()?.pointee.instanceStart
  155 + var result: [Property.Description] = []
  156 +
  157 + if let properties = fetchProperties(nominalType: self) {
  158 + result = properties
  159 + }
  160 +
  161 + if let superclass = superclass,
  162 + String(describing: unsafeBitCast(superclass.pointer, to: Any.Type.self)) != "SwiftObject", // ignore the root swift object
  163 + let superclassProperties = superclass._propertiesAndStartPoint() {
  164 +
  165 + return (superclassProperties.0 + result, superclassProperties.1)
  166 + }
  167 + return (result, instanceStart)
  168 + }
  169 +
  170 + func properties() -> [Property.Description]? {
  171 + let propsAndStp = _propertiesAndStartPoint()
  172 + if let firstInstanceStart = propsAndStp?.1,
  173 + let firstProperty = propsAndStp?.0.first {
  174 +
  175 + return propsAndStp?.0.map({ (property) -> Property.Description in
  176 + return Property.Description(key: property.key,
  177 + type: property.type,
  178 + offset: property.offset - firstProperty.offset + Int(firstInstanceStart))
  179 + })
  180 + } else {
  181 + return propsAndStp?.0
  182 + }
  183 + }
  184 + }
  185 +}
  186 +
  187 +extension _Metadata {
  188 + struct _Class {
  189 + var kind: Int
  190 + var superclass: Any.Type?
  191 + var reserveword1: Int
  192 + var reserveword2: Int
  193 + var databits: UInt
  194 + // other fields we don't care
  195 +
  196 + func class_rw_t() -> UnsafePointer<_class_rw_t>? {
  197 + if MemoryLayout<Int>.size == MemoryLayout<Int64>.size {
  198 + let fast_data_mask: UInt64 = 0x00007ffffffffff8
  199 + let databits_t: UInt64 = UInt64(self.databits)
  200 + return UnsafePointer<_class_rw_t>(bitPattern: UInt(databits_t & fast_data_mask))
  201 + } else {
  202 + return UnsafePointer<_class_rw_t>(bitPattern: self.databits & 0xfffffffc)
  203 + }
  204 + }
  205 + }
  206 +}
  207 +
  208 +// MARK: Metadata + Struct
  209 +extension Metadata {
  210 + struct Struct : NominalType {
  211 + static let kind: Kind? = .struct
  212 + var pointer: UnsafePointer<_Metadata._Struct>
  213 + var nominalTypeDescriptorOffsetLocation: Int {
  214 + return 1
  215 + }
  216 + }
  217 +}
  218 +
  219 +extension _Metadata {
  220 + struct _Struct {
  221 + var kind: Int
  222 + var nominalTypeDescriptorOffset: Int
  223 + var parent: Metadata?
  224 + }
  225 +}
  226 +
  227 +// MARK: Metadata + ObjcClassWrapper
  228 +extension Metadata {
  229 + struct ObjcClassWrapper: NominalType {
  230 + static let kind: Kind? = .objCClassWrapper
  231 + var pointer: UnsafePointer<_Metadata._ObjcClassWrapper>
  232 + var nominalTypeDescriptorOffsetLocation: Int {
  233 + return is64BitPlatform ? 8 : 11
  234 + }
  235 +
  236 + var targetType: Any.Type? {
  237 + get {
  238 + return pointer.pointee.targetType
  239 + }
  240 + }
  241 + }
  242 +}
  243 +
  244 +extension _Metadata {
  245 + struct _ObjcClassWrapper {
  246 + var kind: Int
  247 + var targetType: Any.Type?
  248 + }
  249 +}
ParentAssistant/Pods/HandyJSON/Source/NSDecimalNumberTransform.swift 0 → 100644
@@ -0,0 +1,51 @@ @@ -0,0 +1,51 @@
  1 +//
  2 +// TransformOf.swift
  3 +// ObjectMapper
  4 +//
  5 +// Created by Tristan Himmelman on 8/22/16.
  6 +//
  7 +// The MIT License (MIT)
  8 +//
  9 +// Copyright (c) 2014-2016 Hearst
  10 +//
  11 +// Permission is hereby granted, free of charge, to any person obtaining a copy
  12 +// of this software and associated documentation files (the "Software"), to deal
  13 +// in the Software without restriction, including without limitation the rights
  14 +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  15 +// copies of the Software, and to permit persons to whom the Software is
  16 +// furnished to do so, subject to the following conditions:
  17 +//
  18 +// The above copyright notice and this permission notice shall be included in
  19 +// all copies or substantial portions of the Software.
  20 +//
  21 +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  22 +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  23 +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  24 +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  25 +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  26 +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  27 +// THE SOFTWARE.
  28 +
  29 +import Foundation
  30 +
  31 +open class NSDecimalNumberTransform: TransformType {
  32 + public typealias Object = NSDecimalNumber
  33 + public typealias JSON = String
  34 +
  35 + public init() {}
  36 +
  37 + open func transformFromJSON(_ value: Any?) -> NSDecimalNumber? {
  38 + if let string = value as? String {
  39 + return NSDecimalNumber(string: string)
  40 + }
  41 + if let double = value as? Double {
  42 + return NSDecimalNumber(value: double)
  43 + }
  44 + return nil
  45 + }
  46 +
  47 + open func transformToJSON(_ value: NSDecimalNumber?) -> String? {
  48 + guard let value = value else { return nil }
  49 + return value.description
  50 + }
  51 +}
ParentAssistant/Pods/HandyJSON/Source/NominalType.swift 0 → 100644
@@ -0,0 +1,104 @@ @@ -0,0 +1,104 @@
  1 +/*
  2 + * Copyright 1999-2101 Alibaba Group.
  3 + *
  4 + * Licensed under the Apache License, Version 2.0 (the "License");
  5 + * you may not use this file except in compliance with the License.
  6 + * You may obtain a copy of the License at
  7 + *
  8 + * http://www.apache.org/licenses/LICENSE-2.0
  9 + *
  10 + * Unless required by applicable law or agreed to in writing, software
  11 + * distributed under the License is distributed on an "AS IS" BASIS,
  12 + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13 + * See the License for the specific language governing permissions and
  14 + * limitations under the License.
  15 + */
  16 +
  17 +//
  18 +// Created by zhouzhuo on 07/01/2017.
  19 +//
  20 +
  21 +
  22 +protocol NominalType : MetadataType {
  23 + var nominalTypeDescriptorOffsetLocation: Int { get }
  24 +}
  25 +
  26 +extension NominalType {
  27 + var nominalTypeDescriptor: NominalTypeDescriptor? {
  28 + let pointer = UnsafePointer<Int>(self.pointer)
  29 + let base = pointer.advanced(by: nominalTypeDescriptorOffsetLocation)
  30 + if base.pointee == 0 {
  31 + // swift class created dynamically in objc-runtime didn't have valid nominalTypeDescriptor
  32 + return nil
  33 + }
  34 + #if swift(>=4.1) || (swift(>=3.3) && !swift(>=4.0))
  35 + return NominalTypeDescriptor(pointer: relativePointer(base: base, offset: base.pointee - base.hashValue))
  36 + #else
  37 + return NominalTypeDescriptor(pointer: relativePointer(base: base, offset: base.pointee))
  38 + #endif
  39 + }
  40 +
  41 + var fieldTypes: [Any.Type]? {
  42 + guard let nominalTypeDescriptor = self.nominalTypeDescriptor else {
  43 + return nil
  44 + }
  45 + guard let function = nominalTypeDescriptor.fieldTypesAccessor else { return nil }
  46 + return (0..<nominalTypeDescriptor.numberOfFields).map {
  47 + return unsafeBitCast(function(UnsafePointer<Int>(pointer)).advanced(by: $0).pointee, to: Any.Type.self)
  48 + }
  49 + }
  50 +
  51 + var fieldOffsets: [Int]? {
  52 + guard let nominalTypeDescriptor = self.nominalTypeDescriptor else {
  53 + return nil
  54 + }
  55 + let vectorOffset = nominalTypeDescriptor.fieldOffsetVector
  56 + guard vectorOffset != 0 else {
  57 + return nil
  58 + }
  59 + return (0..<nominalTypeDescriptor.numberOfFields).map {
  60 + return UnsafePointer<Int>(pointer)[vectorOffset + $0]
  61 + }
  62 + }
  63 +}
  64 +
  65 +struct NominalTypeDescriptor : PointerType {
  66 + public var pointer: UnsafePointer<_NominalTypeDescriptor>
  67 +
  68 + var mangledName: String {
  69 + return String(cString: relativePointer(base: pointer, offset: pointer.pointee.mangledName) as UnsafePointer<CChar>)
  70 + }
  71 +
  72 + var numberOfFields: Int {
  73 + return Int(pointer.pointee.numberOfFields)
  74 + }
  75 +
  76 + var fieldOffsetVector: Int {
  77 + return Int(pointer.pointee.fieldOffsetVector)
  78 + }
  79 +
  80 + var fieldNames: [String] {
  81 + let p = UnsafePointer<Int32>(self.pointer)
  82 + return Array(utf8Strings: relativePointer(base: p.advanced(by: 3), offset: self.pointer.pointee.fieldNames))
  83 + }
  84 +
  85 + typealias FieldsTypeAccessor = @convention(c) (UnsafePointer<Int>) -> UnsafePointer<UnsafePointer<Int>>
  86 +
  87 + var fieldTypesAccessor: FieldsTypeAccessor? {
  88 + let offset = pointer.pointee.fieldTypesAccessor
  89 + guard offset != 0 else {
  90 + return nil
  91 + }
  92 + let p = UnsafePointer<Int32>(self.pointer)
  93 + let offsetPointer: UnsafePointer<Int> = relativePointer(base: p.advanced(by: 4), offset: offset)
  94 + return unsafeBitCast(offsetPointer, to: FieldsTypeAccessor.self)
  95 + }
  96 +}
  97 +
  98 +struct _NominalTypeDescriptor {
  99 + var mangledName: Int32
  100 + var numberOfFields: Int32
  101 + var fieldOffsetVector: Int32
  102 + var fieldNames: Int32
  103 + var fieldTypesAccessor: Int32
  104 +}
ParentAssistant/Pods/HandyJSON/Source/OtherExtension.swift 0 → 100644
@@ -0,0 +1,76 @@ @@ -0,0 +1,76 @@
  1 +/*
  2 + * Copyright 1999-2101 Alibaba Group.
  3 + *
  4 + * Licensed under the Apache License, Version 2.0 (the "License");
  5 + * you may not use this file except in compliance with the License.
  6 + * You may obtain a copy of the License at
  7 + *
  8 + * http://www.apache.org/licenses/LICENSE-2.0
  9 + *
  10 + * Unless required by applicable law or agreed to in writing, software
  11 + * distributed under the License is distributed on an "AS IS" BASIS,
  12 + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13 + * See the License for the specific language governing permissions and
  14 + * limitations under the License.
  15 + */
  16 +
  17 +//
  18 +// OtherExtension.swift
  19 +// HandyJSON
  20 +//
  21 +// Created by zhouzhuo on 08/01/2017.
  22 +//
  23 +
  24 +protocol UTF8Initializable {
  25 + init?(validatingUTF8: UnsafePointer<CChar>)
  26 +}
  27 +
  28 +extension String : UTF8Initializable {}
  29 +
  30 +extension Array where Element : UTF8Initializable {
  31 +
  32 + init(utf8Strings: UnsafePointer<CChar>) {
  33 + var strings = [Element]()
  34 + var pointer = utf8Strings
  35 + while let string = Element(validatingUTF8: pointer) {
  36 + strings.append(string)
  37 + while pointer.pointee != 0 {
  38 + pointer.advance()
  39 + }
  40 + pointer.advance()
  41 + guard pointer.pointee != 0 else {
  42 + break
  43 + }
  44 + }
  45 + self = strings
  46 + }
  47 +}
  48 +
  49 +extension Strideable {
  50 + mutating func advance() {
  51 + self = advanced(by: 1)
  52 + }
  53 +}
  54 +
  55 +extension UnsafePointer {
  56 +
  57 + init<T>(_ pointer: UnsafePointer<T>) {
  58 + self = UnsafeRawPointer(pointer).assumingMemoryBound(to: Pointee.self)
  59 + }
  60 +}
  61 +
  62 +func relativePointer<T, U, V>(base: UnsafePointer<T>, offset: U) -> UnsafePointer<V> where U : FixedWidthInteger {
  63 + return UnsafeRawPointer(base).advanced(by: Int(integer: offset)).assumingMemoryBound(to: V.self)
  64 +}
  65 +
  66 +extension Int {
  67 + fileprivate init<T : FixedWidthInteger>(integer: T) {
  68 + switch integer {
  69 + case let value as Int: self = value
  70 + case let value as Int32: self = Int(value)
  71 + case let value as Int16: self = Int(value)
  72 + case let value as Int8: self = Int(value)
  73 + default: self = 0
  74 + }
  75 + }
  76 +}
ParentAssistant/Pods/HandyJSON/Source/PointerType.swift 0 → 100644
@@ -0,0 +1,37 @@ @@ -0,0 +1,37 @@
  1 +/*
  2 + * Copyright 1999-2101 Alibaba Group.
  3 + *
  4 + * Licensed under the Apache License, Version 2.0 (the "License");
  5 + * you may not use this file except in compliance with the License.
  6 + * You may obtain a copy of the License at
  7 + *
  8 + * http://www.apache.org/licenses/LICENSE-2.0
  9 + *
  10 + * Unless required by applicable law or agreed to in writing, software
  11 + * distributed under the License is distributed on an "AS IS" BASIS,
  12 + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13 + * See the License for the specific language governing permissions and
  14 + * limitations under the License.
  15 + */
  16 +
  17 +//
  18 +// Created by zhouzhuo on 07/01/2017.
  19 +//
  20 +
  21 +protocol PointerType : Equatable {
  22 + associatedtype Pointee
  23 + var pointer: UnsafePointer<Pointee> { get set }
  24 +}
  25 +
  26 +extension PointerType {
  27 + init<T>(pointer: UnsafePointer<T>) {
  28 + func cast<T, U>(_ value: T) -> U {
  29 + return unsafeBitCast(value, to: U.self)
  30 + }
  31 + self = cast(UnsafePointer<Pointee>(pointer))
  32 + }
  33 +}
  34 +
  35 +func == <T: PointerType>(lhs: T, rhs: T) -> Bool {
  36 + return lhs.pointer == rhs.pointer
  37 +}
ParentAssistant/Pods/HandyJSON/Source/Properties.swift 0 → 100644
@@ -0,0 +1,89 @@ @@ -0,0 +1,89 @@
  1 +/*
  2 + * Copyright 1999-2101 Alibaba Group.
  3 + *
  4 + * Licensed under the Apache License, Version 2.0 (the "License");
  5 + * you may not use this file except in compliance with the License.
  6 + * You may obtain a copy of the License at
  7 + *
  8 + * http://www.apache.org/licenses/LICENSE-2.0
  9 + *
  10 + * Unless required by applicable law or agreed to in writing, software
  11 + * distributed under the License is distributed on an "AS IS" BASIS,
  12 + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13 + * See the License for the specific language governing permissions and
  14 + * limitations under the License.
  15 + */
  16 +
  17 +//
  18 +// Created by zhouzhuo on 07/01/2017.
  19 +//
  20 +
  21 +
  22 +/// An instance property
  23 +struct Property {
  24 + let key: String
  25 + let value: Any
  26 +
  27 + /// An instance property description
  28 + struct Description {
  29 + public let key: String
  30 + public let type: Any.Type
  31 + public let offset: Int
  32 + public func write(_ value: Any, to storage: UnsafeMutableRawPointer) {
  33 + return extensions(of: type).write(value, to: storage.advanced(by: offset))
  34 + }
  35 + }
  36 +}
  37 +
  38 +/// Retrieve properties for `instance`
  39 +func getProperties(forInstance instance: Any) -> [Property]? {
  40 + if let props = getProperties(forType: type(of: instance)) {
  41 + var copy = extensions(of: instance)
  42 + let storage = copy.storage()
  43 + return props.map {
  44 + nextProperty(description: $0, storage: storage)
  45 + }
  46 + }
  47 + return nil
  48 +}
  49 +
  50 +private func nextProperty(description: Property.Description, storage: UnsafeRawPointer) -> Property {
  51 + return Property(
  52 + key: description.key,
  53 + value: extensions(of: description.type).value(from: storage.advanced(by: description.offset))
  54 + )
  55 +}
  56 +
  57 +/// Retrieve property descriptions for `type`
  58 +func getProperties(forType type: Any.Type) -> [Property.Description]? {
  59 + if let nominalType = Metadata.Struct(anyType: type) {
  60 + return fetchProperties(nominalType: nominalType)
  61 + } else if let nominalType = Metadata.Class(anyType: type) {
  62 + return nominalType.properties()
  63 + } else if let nominalType = Metadata.ObjcClassWrapper(anyType: type),
  64 + let targetType = nominalType.targetType {
  65 + return getProperties(forType: targetType)
  66 + } else {
  67 + return nil
  68 + }
  69 +}
  70 +
  71 +func fetchProperties<T : NominalType>(nominalType: T) -> [Property.Description]? {
  72 + return propertiesForNominalType(nominalType)
  73 +}
  74 +
  75 +private func propertiesForNominalType<T : NominalType>(_ type: T) -> [Property.Description]? {
  76 + guard let nominalTypeDescriptor = type.nominalTypeDescriptor else {
  77 + return nil
  78 + }
  79 + guard nominalTypeDescriptor.numberOfFields != 0 else {
  80 + return []
  81 + }
  82 + guard let fieldTypes = type.fieldTypes, let fieldOffsets = type.fieldOffsets else {
  83 + return nil
  84 + }
  85 + let fieldNames = nominalTypeDescriptor.fieldNames
  86 + return (0..<nominalTypeDescriptor.numberOfFields).map { i in
  87 + return Property.Description(key: fieldNames[i], type: fieldTypes[i], offset: fieldOffsets[i])
  88 + }
  89 +}
ParentAssistant/Pods/HandyJSON/Source/PropertyInfo.swift 0 → 100644
@@ -0,0 +1,29 @@ @@ -0,0 +1,29 @@
  1 +/*
  2 + * Copyright 1999-2101 Alibaba Group.
  3 + *
  4 + * Licensed under the Apache License, Version 2.0 (the "License");
  5 + * you may not use this file except in compliance with the License.
  6 + * You may obtain a copy of the License at
  7 + *
  8 + * http://www.apache.org/licenses/LICENSE-2.0
  9 + *
  10 + * Unless required by applicable law or agreed to in writing, software
  11 + * distributed under the License is distributed on an "AS IS" BASIS,
  12 + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13 + * See the License for the specific language governing permissions and
  14 + * limitations under the License.
  15 + */
  16 +
  17 +//
  18 +// PropertyInfo.swift
  19 +// HandyJSON
  20 +//
  21 +// Created by zhouzhuo on 20/08/2017.
  22 +//
  23 +
  24 +struct PropertyInfo {
  25 + let key: String
  26 + let type: Any.Type
  27 + let address: UnsafeMutableRawPointer
  28 + let bridged: Bool
  29 +}
ParentAssistant/Pods/HandyJSON/Source/ReflectionHelper.swift 0 → 100644
@@ -0,0 +1,42 @@ @@ -0,0 +1,42 @@
  1 +/*
  2 + * Copyright 1999-2101 Alibaba Group.
  3 + *
  4 + * Licensed under the Apache License, Version 2.0 (the "License");
  5 + * you may not use this file except in compliance with the License.
  6 + * You may obtain a copy of the License at
  7 + *
  8 + * http://www.apache.org/licenses/LICENSE-2.0
  9 + *
  10 + * Unless required by applicable law or agreed to in writing, software
  11 + * distributed under the License is distributed on an "AS IS" BASIS,
  12 + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13 + * See the License for the specific language governing permissions and
  14 + * limitations under the License.
  15 + */
  16 +
  17 +//
  18 +// Helper.swift
  19 +// HandyJSON
  20 +//
  21 +// Created by zhouzhuo on 07/01/2017.
  22 +//
  23 +
  24 +struct ReflectionHelper {
  25 +
  26 + static func mutableStorage<T>(instance: inout T) -> UnsafeMutableRawPointer {
  27 + return UnsafeMutableRawPointer(mutating: storage(instance: &instance))
  28 + }
  29 +
  30 + static func storage<T>(instance: inout T) -> UnsafeRawPointer {
  31 + if type(of: instance) is AnyClass {
  32 + let opaquePointer = Unmanaged.passUnretained(instance as AnyObject).toOpaque()
  33 + return UnsafeRawPointer(opaquePointer)
  34 + } else {
  35 + return withUnsafePointer(to: &instance) { pointer in
  36 + return UnsafeRawPointer(pointer)
  37 + }
  38 + }
  39 + }
  40 +}
  41 +
  42 +
ParentAssistant/Pods/HandyJSON/Source/Serializer.swift 0 → 100644
@@ -0,0 +1,84 @@ @@ -0,0 +1,84 @@
  1 +/*
  2 + * Copyright 1999-2101 Alibaba Group.
  3 + *
  4 + * Licensed under the Apache License, Version 2.0 (the "License");
  5 + * you may not use this file except in compliance with the License.
  6 + * You may obtain a copy of the License at
  7 + *
  8 + * http://www.apache.org/licenses/LICENSE-2.0
  9 + *
  10 + * Unless required by applicable law or agreed to in writing, software
  11 + * distributed under the License is distributed on an "AS IS" BASIS,
  12 + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13 + * See the License for the specific language governing permissions and
  14 + * limitations under the License.
  15 + */
  16 +
  17 +//
  18 +// JSONSerializer.swift
  19 +// HandyJSON
  20 +//
  21 +// Created by zhouzhuo on 9/30/16.
  22 +//
  23 +
  24 +import Foundation
  25 +
  26 +public extension HandyJSON {
  27 +
  28 + public func toJSON() -> [String: Any]? {
  29 + if let dict = Self._serializeAny(object: self) as? [String: Any] {
  30 + return dict
  31 + }
  32 + return nil
  33 + }
  34 +
  35 + public func toJSONString(prettyPrint: Bool = false) -> String? {
  36 +
  37 + if let anyObject = self.toJSON() {
  38 + if JSONSerialization.isValidJSONObject(anyObject) {
  39 + do {
  40 + let jsonData: Data
  41 + if prettyPrint {
  42 + jsonData = try JSONSerialization.data(withJSONObject: anyObject, options: [.prettyPrinted])
  43 + } else {
  44 + jsonData = try JSONSerialization.data(withJSONObject: anyObject, options: [])
  45 + }
  46 + return String(data: jsonData, encoding: .utf8)
  47 + } catch let error {
  48 + InternalLogger.logError(error)
  49 + }
  50 + } else {
  51 + InternalLogger.logDebug("\(anyObject)) is not a valid JSON Object")
  52 + }
  53 + }
  54 + return nil
  55 + }
  56 +}
  57 +
  58 +public extension Collection where Iterator.Element: HandyJSON {
  59 +
  60 + public func toJSON() -> [[String: Any]?] {
  61 + return self.map{ $0.toJSON() }
  62 + }
  63 +
  64 + public func toJSONString(prettyPrint: Bool = false) -> String? {
  65 +
  66 + let anyArray = self.toJSON()
  67 + if JSONSerialization.isValidJSONObject(anyArray) {
  68 + do {
  69 + let jsonData: Data
  70 + if prettyPrint {
  71 + jsonData = try JSONSerialization.data(withJSONObject: anyArray, options: [.prettyPrinted])
  72 + } else {
  73 + jsonData = try JSONSerialization.data(withJSONObject: anyArray, options: [])
  74 + }
  75 + return String(data: jsonData, encoding: .utf8)
  76 + } catch let error {
  77 + InternalLogger.logError(error)
  78 + }
  79 + } else {
  80 + InternalLogger.logDebug("\(self.toJSON()) is not a valid JSON Object")
  81 + }
  82 + return nil
  83 + }
  84 +}
ParentAssistant/Pods/HandyJSON/Source/TransformOf.swift 0 → 100644
@@ -0,0 +1,48 @@ @@ -0,0 +1,48 @@
  1 +//
  2 +// TransformOf.swift
  3 +// ObjectMapper
  4 +//
  5 +// Created by Syo Ikeda on 1/23/15.
  6 +//
  7 +// The MIT License (MIT)
  8 +//
  9 +// Copyright (c) 2014-2016 Hearst
  10 +//
  11 +// Permission is hereby granted, free of charge, to any person obtaining a copy
  12 +// of this software and associated documentation files (the "Software"), to deal
  13 +// in the Software without restriction, including without limitation the rights
  14 +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  15 +// copies of the Software, and to permit persons to whom the Software is
  16 +// furnished to do so, subject to the following conditions:
  17 +//
  18 +// The above copyright notice and this permission notice shall be included in
  19 +// all copies or substantial portions of the Software.
  20 +//
  21 +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  22 +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  23 +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  24 +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  25 +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  26 +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  27 +// THE SOFTWARE.
  28 +
  29 +open class TransformOf<ObjectType, JSONType>: TransformType {
  30 + public typealias Object = ObjectType
  31 + public typealias JSON = JSONType
  32 +
  33 + private let fromJSON: (JSONType?) -> ObjectType?
  34 + private let toJSON: (ObjectType?) -> JSONType?
  35 +
  36 + public init(fromJSON: @escaping(JSONType?) -> ObjectType?, toJSON: @escaping(ObjectType?) -> JSONType?) {
  37 + self.fromJSON = fromJSON
  38 + self.toJSON = toJSON
  39 + }
  40 +
  41 + open func transformFromJSON(_ value: Any?) -> ObjectType? {
  42 + return fromJSON(value as? JSONType)
  43 + }
  44 +
  45 + open func transformToJSON(_ value: ObjectType?) -> JSONType? {
  46 + return toJSON(value)
  47 + }
  48 +}
ParentAssistant/Pods/HandyJSON/Source/TransformType.swift 0 → 100644
@@ -0,0 +1,35 @@ @@ -0,0 +1,35 @@
  1 +//
  2 +// TransformType.swift
  3 +// ObjectMapper
  4 +//
  5 +// Created by Syo Ikeda on 2/4/15.
  6 +//
  7 +// The MIT License (MIT)
  8 +//
  9 +// Copyright (c) 2014-2016 Hearst
  10 +//
  11 +// Permission is hereby granted, free of charge, to any person obtaining a copy
  12 +// of this software and associated documentation files (the "Software"), to deal
  13 +// in the Software without restriction, including without limitation the rights
  14 +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  15 +// copies of the Software, and to permit persons to whom the Software is
  16 +// furnished to do so, subject to the following conditions:
  17 +//
  18 +// The above copyright notice and this permission notice shall be included in
  19 +// all copies or substantial portions of the Software.
  20 +//
  21 +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  22 +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  23 +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  24 +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  25 +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  26 +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  27 +// THE SOFTWARE.
  28 +
  29 +public protocol TransformType {
  30 + associatedtype Object
  31 + associatedtype JSON
  32 +
  33 + func transformFromJSON(_ value: Any?) -> Object?
  34 + func transformToJSON(_ value: Object?) -> JSON?
  35 +}
ParentAssistant/Pods/HandyJSON/Source/Transformable.swift 0 → 100644
@@ -0,0 +1,52 @@ @@ -0,0 +1,52 @@
  1 +//
  2 +// Transformable.swift
  3 +// HandyJSON
  4 +//
  5 +// Created by zhouzhuo on 15/07/2017.
  6 +// Copyright © 2017 aliyun. All rights reserved.
  7 +//
  8 +
  9 +import Foundation
  10 +
  11 +public protocol _Transformable: _Measurable {}
  12 +
  13 +extension _Transformable {
  14 +
  15 + static func transform(from object: Any) -> Self? {
  16 + if let typedObject = object as? Self {
  17 + return typedObject
  18 + }
  19 + switch self {
  20 + case let type as _ExtendCustomBasicType.Type:
  21 + return type._transform(from: object) as? Self
  22 + case let type as _BuiltInBridgeType.Type:
  23 + return type._transform(from: object) as? Self
  24 + case let type as _BuiltInBasicType.Type:
  25 + return type._transform(from: object) as? Self
  26 + case let type as _RawEnumProtocol.Type:
  27 + return type._transform(from: object) as? Self
  28 + case let type as _ExtendCustomModelType.Type:
  29 + return type._transform(from: object) as? Self
  30 + default:
  31 + return nil
  32 + }
  33 + }
  34 +
  35 + func plainValue() -> Any? {
  36 + switch self {
  37 + case let rawValue as _ExtendCustomBasicType:
  38 + return rawValue._plainValue()
  39 + case let rawValue as _BuiltInBridgeType:
  40 + return rawValue._plainValue()
  41 + case let rawValue as _BuiltInBasicType:
  42 + return rawValue._plainValue()
  43 + case let rawValue as _RawEnumProtocol:
  44 + return rawValue._plainValue()
  45 + case let rawValue as _ExtendCustomModelType:
  46 + return rawValue._plainValue()
  47 + default:
  48 + return nil
  49 + }
  50 + }
  51 +}
  52 +
ParentAssistant/Pods/HandyJSON/Source/URLTransform.swift 0 → 100644
@@ -0,0 +1,65 @@ @@ -0,0 +1,65 @@
  1 +//
  2 +// URLTransform.swift
  3 +// ObjectMapper
  4 +//
  5 +// Created by Tristan Himmelman on 2014-10-27.
  6 +//
  7 +// The MIT License (MIT)
  8 +//
  9 +// Copyright (c) 2014-2016 Hearst
  10 +//
  11 +// Permission is hereby granted, free of charge, to any person obtaining a copy
  12 +// of this software and associated documentation files (the "Software"), to deal
  13 +// in the Software without restriction, including without limitation the rights
  14 +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  15 +// copies of the Software, and to permit persons to whom the Software is
  16 +// furnished to do so, subject to the following conditions:
  17 +//
  18 +// The above copyright notice and this permission notice shall be included in
  19 +// all copies or substantial portions of the Software.
  20 +//
  21 +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  22 +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  23 +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  24 +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  25 +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  26 +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  27 +// THE SOFTWARE.
  28 +
  29 +import Foundation
  30 +
  31 +open class URLTransform: TransformType {
  32 + public typealias Object = URL
  33 + public typealias JSON = String
  34 + private let shouldEncodeURLString: Bool
  35 +
  36 + /**
  37 + Initializes the URLTransform with an option to encode URL strings before converting them to an NSURL
  38 + - parameter shouldEncodeUrlString: when true (the default) the string is encoded before passing
  39 + to `NSURL(string:)`
  40 + - returns: an initialized transformer
  41 + */
  42 + public init(shouldEncodeURLString: Bool = true) {
  43 + self.shouldEncodeURLString = shouldEncodeURLString
  44 + }
  45 +
  46 + open func transformFromJSON(_ value: Any?) -> URL? {
  47 + guard let URLString = value as? String else { return nil }
  48 +
  49 + if !shouldEncodeURLString {
  50 + return URL(string: URLString)
  51 + }
  52 +
  53 + guard let escapedURLString = URLString.addingPercentEncoding(withAllowedCharacters: CharacterSet.urlQueryAllowed) else {
  54 + return nil
  55 + }
  56 + return URL(string: escapedURLString)
  57 + }
  58 +
  59 + open func transformToJSON(_ value: URL?) -> String? {
  60 + if let URL = value {
  61 + return URL.absoluteString
  62 + }
  63 + return nil
  64 + }
  65 +}
ParentAssistant/Pods/Manifest.lock
1 PODS: 1 PODS:
2 - Alamofire (4.0.1) 2 - Alamofire (4.0.1)
3 - DZNEmptyDataSet (1.8.1) 3 - DZNEmptyDataSet (1.8.1)
  4 + - HandyJSON (4.1.1)
4 - NIMSDK_LITE (4.9.0) 5 - NIMSDK_LITE (4.9.0)
5 - Reachability (3.2) 6 - Reachability (3.2)
6 - SDWebImage (3.8.2): 7 - SDWebImage (3.8.2):
@@ -18,23 +19,25 @@ PODS: @@ -18,23 +19,25 @@ PODS:
18 - XRCarouselView (2.5.6) 19 - XRCarouselView (2.5.6)
19 20
20 DEPENDENCIES: 21 DEPENDENCIES:
21 - - Alamofire  
22 - - DZNEmptyDataSet  
23 - - NIMSDK_LITE  
24 - - Reachability  
25 - - SDWebImage  
26 - - SVProgressHUD  
27 - - SwiftHash  
28 - - Toast  
29 - - UMCAnalytics  
30 - - UMCCommon  
31 - - UMCErrorCatch  
32 - - UMCSecurityPlugins  
33 - - XRCarouselView 22 + - Alamofire (~> 4.0.1)
  23 + - DZNEmptyDataSet (~> 1.8.1)
  24 + - HandyJSON (~> 4.1.1)
  25 + - NIMSDK_LITE (~> 4.9.0)
  26 + - Reachability (~> 3.2)
  27 + - SDWebImage (~> 3.8.2)
  28 + - SVProgressHUD (~> 2.2.5)
  29 + - SwiftHash (~> 2.0.1)
  30 + - Toast (~> 3.1.0)
  31 + - UMCAnalytics (~> 5.4.1)
  32 + - UMCCommon (~> 1.4.2)
  33 + - UMCErrorCatch (~> 1.0.0)
  34 + - UMCSecurityPlugins (~> 1.0.6)
  35 + - XRCarouselView (~> 2.5.6)
34 36
35 SPEC CHECKSUMS: 37 SPEC CHECKSUMS:
36 Alamofire: 7682d43245de14874acd142ec137b144aa1dd335 38 Alamofire: 7682d43245de14874acd142ec137b144aa1dd335
37 DZNEmptyDataSet: 9525833b9e68ac21c30253e1d3d7076cc828eaa7 39 DZNEmptyDataSet: 9525833b9e68ac21c30253e1d3d7076cc828eaa7
  40 + HandyJSON: 3a3de917c4118767ffe41c29b5acba23409649f4
38 NIMSDK_LITE: a69a019544299a1b597db6ebf98927f5e12fa17c 41 NIMSDK_LITE: a69a019544299a1b597db6ebf98927f5e12fa17c
39 Reachability: 33e18b67625424e47b6cde6d202dce689ad7af96 42 Reachability: 33e18b67625424e47b6cde6d202dce689ad7af96
40 SDWebImage: 098e97e6176540799c27e804c96653ee0833d13c 43 SDWebImage: 098e97e6176540799c27e804c96653ee0833d13c
@@ -47,6 +50,6 @@ SPEC CHECKSUMS: @@ -47,6 +50,6 @@ SPEC CHECKSUMS:
47 UMCSecurityPlugins: 0831a08f3988f3cea9f1d3a7626cd9bee4fef150 50 UMCSecurityPlugins: 0831a08f3988f3cea9f1d3a7626cd9bee4fef150
48 XRCarouselView: 52529f924d26ee4787f9bd958150800b73e60922 51 XRCarouselView: 52529f924d26ee4787f9bd958150800b73e60922
49 52
50 -PODFILE CHECKSUM: bede341771386f5d5daec06d0fa659a0b8e8137b 53 +PODFILE CHECKSUM: ef5a2eedc2a762110d9f7458ad01512ced09aba0
51 54
52 COCOAPODS: 1.4.0 55 COCOAPODS: 1.4.0
ParentAssistant/Pods/NIMSDK_LITE/NIMSDK/NIMSDK.framework/Headers/NIMAntispamManagerProtocol.h 0 → 100644
@@ -0,0 +1,31 @@ @@ -0,0 +1,31 @@
  1 +//
  2 +// NIMAntispamManagerProtocol.h
  3 +// NIMLib
  4 +//
  5 +// Created by chris on 2018/3/9.
  6 +// Copyright © 2018年 Netease. All rights reserved.
  7 +//
  8 +
  9 +#import <Foundation/Foundation.h>
  10 +NS_ASSUME_NONNULL_BEGIN
  11 +
  12 +@class NIMLocalAntiSpamCheckOption;
  13 +@class NIMLocalAntiSpamCheckResult;
  14 +
  15 +@protocol NIMAntispamManager <NSObject>
  16 +
  17 +/**
  18 + * 本地反垃圾检查器
  19 + *
  20 + * @param option 本地反垃圾检查选项
  21 + * @param error 错误提示
  22 + * @discussion 此扩展不会漫游到其他端,上层需要保证 NSDictionary 可以转换为 JSON。
  23 + * @return 本地反垃圾检查结果,本地反垃圾列表会在每次登录后同步更新
  24 + * 因为网络问题,或者没有登录,都会导致本地反垃圾列表无效的情况,error 中会包含具体出错原因
  25 + */
  26 +- (NIMLocalAntiSpamCheckResult *)checkLocalAntispam:(NIMLocalAntiSpamCheckOption *)option
  27 + error:(NSError **)error;
  28 +
  29 +@end
  30 +
  31 +NS_ASSUME_NONNULL_END
ParentAssistant/Pods/NIMSDK_LITE/NIMSDK/NIMSDK.framework/Headers/NIMCacheQuery.h 0 → 100644
@@ -0,0 +1,58 @@ @@ -0,0 +1,58 @@
  1 +//
  2 +// NIMCacheQuery.h
  3 +// NIMLib
  4 +//
  5 +// Created by Netease.
  6 +// Copyright © 2018年 Netease. All rights reserved.
  7 +//
  8 +
  9 +#import <Foundation/Foundation.h>
  10 +
  11 +
  12 +NS_ASSUME_NONNULL_BEGIN
  13 +
  14 +/**
  15 + * SDK 缓存查询选项
  16 + */
  17 +@interface NIMResourceQueryOption : NSObject
  18 +
  19 +/**
  20 + * 查询的缓存文件类型,类型为文件后缀的集合。
  21 + * 默认为 nil ,不分类型查询所有文件缓存。
  22 + */
  23 +@property (nonatomic, copy, nullable) NSArray<NSString *> *extensions;
  24 +
  25 +/**
  26 + * 当前时间往前多少时间之前所有的消息,默认为 7 天之前。
  27 + */
  28 +@property (nonatomic, assign) NSTimeInterval timeInterval;
  29 +
  30 +
  31 +@end
  32 +
  33 +
  34 +/**
  35 + * SDK 缓存查询结果
  36 + */
  37 +@interface NIMCacheQueryResult : NSObject
  38 +
  39 +/**
  40 + * 文件路径
  41 + */
  42 +@property (nonatomic, copy, readonly) NSString *path;
  43 +
  44 +/**
  45 + * 文件的创建日期
  46 + */
  47 +@property (nonatomic, strong, readonly) NSDate *creationDate;
  48 +
  49 +/**
  50 + * 文件的大小,单位为 bytes
  51 + */
  52 +@property (nonatomic, assign, readonly) long long fileLength;
  53 +
  54 +
  55 +@end
  56 +
  57 +
  58 +NS_ASSUME_NONNULL_END
ParentAssistant/Pods/NIMSDK_LITE/NIMSDK/NIMSDK.framework/Headers/NIMTeamMessageReceipt.h 0 → 100644
@@ -0,0 +1,33 @@ @@ -0,0 +1,33 @@
  1 +//
  2 +// NIMTeamMessageReceipt.h
  3 +// NIMLib
  4 +//
  5 +// Created by Netease.
  6 +// Copyright © 2018年 Netease. All rights reserved.
  7 +//
  8 +
  9 +#import <Foundation/Foundation.h>
  10 +
  11 +NS_ASSUME_NONNULL_BEGIN
  12 +
  13 +/**
  14 + * 群已读回执信息
  15 + * @discussion 只有当当前消息为 Team 消息且 teamReceiptEnabled 为 YES 时才有效,需要对端调用过发送已读回执的接口
  16 + */
  17 +@interface NIMTeamMessageReceipt : NSObject
  18 +
  19 +/**
  20 + * 已读人数
  21 + * @discussion 只有当当前消息为 Team 消息且 teamReceiptEnabled 为 YES 时这个字段才有效,需要对端调用过发送已读回执的接口
  22 + */
  23 +@property (nonatomic,assign,readonly) NSInteger readCount;
  24 +
  25 +/**
  26 + * 未读人数
  27 + * @discussion 只有当当前消息为 Team 消息且 teamReceiptEnabled 为 YES 时这个字段才有效,需要对端调用过发送已读回执的接口
  28 + */
  29 +@property (nonatomic,assign,readonly) NSInteger unreadCount;
  30 +
  31 +@end
  32 +
  33 +NS_ASSUME_NONNULL_END
ParentAssistant/Pods/NIMSDK_LITE/NIMSDK/NIMSDK.framework/Headers/NIMTeamMessageReceiptDetail.h 0 → 100644
@@ -0,0 +1,43 @@ @@ -0,0 +1,43 @@
  1 +//
  2 +// NIMTeamMessageReceiptDetail.h
  3 +// NIMLib
  4 +//
  5 +// Created by Netease.
  6 +// Copyright © 2018年 Netease. All rights reserved.
  7 +//
  8 +
  9 +#import <Foundation/Foundation.h>
  10 +
  11 +NS_ASSUME_NONNULL_BEGIN
  12 +
  13 +
  14 +@class NIMMessageReceipt;
  15 +/**
  16 + * 已读回执详情
  17 + */
  18 +@interface NIMTeamMessageReceiptDetail : NSObject
  19 +
  20 +/**
  21 + * 所属消息 Id
  22 + */
  23 +@property (nonatomic, copy, readonly) NSString *messageId;
  24 +
  25 +/**
  26 + * 所属会话 Id
  27 + */
  28 +@property (nonatomic, copy, readonly) NSString *sessionId;
  29 +
  30 +/**
  31 + * 已读用户列表
  32 + */
  33 +@property (nonatomic, copy, readonly) NSArray *readUserIds;
  34 +
  35 +/**
  36 + * 未读用户列表
  37 + */
  38 +@property (nonatomic, copy, readonly) NSArray *unreadUserIds;
  39 +
  40 +@end
  41 +
  42 +
  43 +NS_ASSUME_NONNULL_END
ParentAssistant/Pods/Pods.xcodeproj/project.pbxproj
@@ -7,656 +7,794 @@ @@ -7,656 +7,794 @@
7 objects = { 7 objects = {
8 8
9 /* Begin PBXBuildFile section */ 9 /* Begin PBXBuildFile section */
10 - 00E153632A414101E0A66AE23569802B /* Result.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0B50DAE192A6B3640694B61BEA27967 /* Result.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };  
11 - 04596B755DD74FB93D9923CCC76F35D6 /* Toast-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 5CEEDC06F17E3B2247D0C213D2EEFA22 /* Toast-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };  
12 - 05216FF5BBAF4DFABD14DFE22EA75577 /* UIView+Toast.h in Headers */ = {isa = PBXBuildFile; fileRef = 37D066AA516CA828ADE8C5F756198AEA /* UIView+Toast.h */; settings = {ATTRIBUTES = (Public, ); }; };  
13 - 05DC121915D9BD7F7D11FE4C4651FC59 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E81ABC082107E519C9718F3CCEA03977 /* Foundation.framework */; };  
14 - 066BF6608588853AA9FB7588BEA94711 /* SwiftHash-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 3910287CF67BB6D99BFC32020B92D66B /* SwiftHash-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };  
15 - 06FC1AF6668EDC7A83382E6646F64F1F /* Reachability-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 966714BC6CB45F265B89BBD42264D605 /* Reachability-dummy.m */; };  
16 - 079D990738735591330332B5F2551AE4 /* NetworkReachabilityManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = D38B286C5C6AB0DF4A98EEA7B4AEDF20 /* NetworkReachabilityManager.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };  
17 - 09BDDB4079D7347692AD9C29F8242C8E /* SVProgressAnimatedView.h in Headers */ = {isa = PBXBuildFile; fileRef = 06DC9572FD9048B84A9DABDD03902859 /* SVProgressAnimatedView.h */; settings = {ATTRIBUTES = (Public, ); }; };  
18 - 09EB729363E87B22D55BB6340CC41637 /* XRCarouselView-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 0B1E77043F562C0C1C7EA7E1A6ACB3AB /* XRCarouselView-dummy.m */; };  
19 - 10466C2E3B37F15A5BBA3B9E941FEDF2 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E81ABC082107E519C9718F3CCEA03977 /* Foundation.framework */; };  
20 - 10B7C0F6AFC16C5595BF7E6A8C3040F5 /* UIImage+MultiFormat.h in Headers */ = {isa = PBXBuildFile; fileRef = B0CD149E4B768603919225D913E5623E /* UIImage+MultiFormat.h */; settings = {ATTRIBUTES = (Public, ); }; };  
21 - 14CECE238604E1D44104E5BCD14EB2BE /* SessionDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEE55910941CC3DB174AE3ED4406AB97 /* SessionDelegate.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };  
22 - 15FBFBBDEC417708F98346EF3140A862 /* SVProgressHUD.h in Headers */ = {isa = PBXBuildFile; fileRef = A4284179411380CDBB6CBA4C12CC2EC1 /* SVProgressHUD.h */; settings = {ATTRIBUTES = (Public, ); }; };  
23 - 164781197625A3149B3BDBCAA2AC8CC3 /* Validation.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8713380D331B1D052F691C2926D0B73 /* Validation.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };  
24 - 1B9EDEDC964E6B08F78920B4F4B9DB84 /* Alamofire-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 69A1474C3B39F2766E17D5E986933EB5 /* Alamofire-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };  
25 - 204944D67267632DD7CD4BEFB60AC389 /* Response.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A4FCA00FE16408A60CBE0F56CD26E6C /* Response.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };  
26 - 21D1ADA45562D9B49E0B86BC0AD9B024 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E81ABC082107E519C9718F3CCEA03977 /* Foundation.framework */; };  
27 - 23C5B91C7647AFA6B1DCC3C24E6706EA /* UIButton+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 0387FCC8EF5DA97E95535BB4EBA7F133 /* UIButton+WebCache.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };  
28 - 257E2206CD8D95F6BB1C4128CE0EA520 /* UIImageView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 96F5CD3DDADCBA20C43F86C45281E98A /* UIImageView+WebCache.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };  
29 - 2B58B070F9D7324583D01EE906BC918C /* SessionManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = E69012EFA9917EA02DD59B11574B0B26 /* SessionManager.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };  
30 - 2D6C9A4529DBC7057800DD7FAC730A6E /* Reachability.h in Headers */ = {isa = PBXBuildFile; fileRef = 0B6CA6D3D3167BE8720EE9756B8762E7 /* Reachability.h */; settings = {ATTRIBUTES = (Public, ); }; };  
31 - 343B30C989188B77FB1149FED753A63C /* ServerTrustPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 664D41C5636B633819EF1887251701BA /* ServerTrustPolicy.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };  
32 - 34C16BF65AA3EECD47921D480A7D9D8A /* SDWebImagePrefetcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 45C480734183DBFB9258B038501DA266 /* SDWebImagePrefetcher.h */; settings = {ATTRIBUTES = (Public, ); }; };  
33 - 34DD027A08EB61A1CB4BEBDF3DDF8AD7 /* UIImage+MultiFormat.m in Sources */ = {isa = PBXBuildFile; fileRef = FA2BB5CBAA58FB62AFBC392717B28457 /* UIImage+MultiFormat.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };  
34 - 36C804098901C14987AC99D9488B7818 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E81ABC082107E519C9718F3CCEA03977 /* Foundation.framework */; };  
35 - 37CC337C4C2493EC748562C944962491 /* Reachability-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 63DADB2A24F2E24705306C81DE52354C /* Reachability-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };  
36 - 381D238C10FFF0A4B0D216200E2AD3C0 /* SDWebImage-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F0A8D9944EB1FF44C20B9A0C78A8DAAD /* SDWebImage-dummy.m */; };  
37 - 3852C5A03720A4ABC9D455E4C08F585E /* SDWebImageDownloader.h in Headers */ = {isa = PBXBuildFile; fileRef = C40675EC2CFD9D7D3E3D39FCE5F86D94 /* SDWebImageDownloader.h */; settings = {ATTRIBUTES = (Public, ); }; };  
38 - 3D7D09B3684687F1CB2C81486753DE7D /* SVProgressAnimatedView.m in Sources */ = {isa = PBXBuildFile; fileRef = 9308B2D0BFEB8F47D93552968D78B8A9 /* SVProgressAnimatedView.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };  
39 - 408F3C81F249F5A44A49D3EA4F27FC3F /* UIView+WebCacheOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EA85E4120BF4DBBC742DBD972E1D4E0 /* UIView+WebCacheOperation.h */; settings = {ATTRIBUTES = (Public, ); }; };  
40 - 45F5792627465D97FBC16B584112B1E5 /* SHA1.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3F3486441B797B49AF7E21644585044 /* SHA1.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };  
41 - 474CCE9E8E5BAFB27CB9D60794E77308 /* SwiftHash-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A6CCAEC1ECBE477223AEFED858D0220 /* SwiftHash-dummy.m */; };  
42 - 4C144355E41C99902528AAD3CF069680 /* DZNEmptyDataSet-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = A714B9425F511B82B9A3122631CA6373 /* DZNEmptyDataSet-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };  
43 - 4E00870584A9B7F49A7EA529E2D0FE9D /* SDWebImageCompat.h in Headers */ = {isa = PBXBuildFile; fileRef = D2D134E6EA3014C73775F1A699A2BA42 /* SDWebImageCompat.h */; settings = {ATTRIBUTES = (Public, ); }; };  
44 - 5057703CD8FFC733FE4BC6A380DFCEC9 /* UIImageView+HighlightedWebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = CFD037A4D376020E2CAD65E1F7FECCB7 /* UIImageView+HighlightedWebCache.h */; settings = {ATTRIBUTES = (Public, ); }; };  
45 - 5246C4AC46977982EE65340E01575AFD /* UIButton+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = D8CB6D7AEEACE31A7B665F5C5BE3DBEF /* UIButton+WebCache.h */; settings = {ATTRIBUTES = (Public, ); }; };  
46 - 53061C97735426494CA927DB6094C126 /* UIImageView+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 648F9002573D6811BFB3D3133CDAE4FD /* UIImageView+WebCache.h */; settings = {ATTRIBUTES = (Public, ); }; };  
47 - 53EF76E5E2101DC10FC9D3CFA3F51289 /* MD5.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE03BDB2C3EB8E596243F3FB6F59217C /* MD5.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };  
48 - 57C6F19B2C2E4628EF6356CC7F21DBEC /* SDWebImageDownloaderOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 0FF492DA7B2B6480B7AA0B29AFEA02B4 /* SDWebImageDownloaderOperation.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };  
49 - 58812AABBC0A1E7AE019752424DF31A7 /* MultipartFormData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F0F65D1B0A07B2CF87C8597517C1C90 /* MultipartFormData.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };  
50 - 59139EE33C29D86F8D3342C0AA6277DF /* XRPlaceholder.png in Resources */ = {isa = PBXBuildFile; fileRef = A4BC4E64237EB25000D5D76588DDA155 /* XRPlaceholder.png */; };  
51 - 5976E603A5B7D1E8C18EC9F8BE172E2F /* UIView+Toast.m in Sources */ = {isa = PBXBuildFile; fileRef = 64D95CAFC82A27D9FD0489E9C5917506 /* UIView+Toast.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; };  
52 - 5E25BCD30BDE2E7A68D1A6FAF7253AD4 /* DispatchQueue+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = D3E2A6B7148FF5DAE9D54A452036AA3C /* DispatchQueue+Alamofire.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };  
53 - 5F5B1D736E65C60A1C4C195D4BF87D23 /* SVRadialGradientLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 62A63D7FFB23D16D27F325250A424933 /* SVRadialGradientLayer.h */; settings = {ATTRIBUTES = (Public, ); }; };  
54 - 5FD2584401015F48CAA734BBB9ED7DA1 /* SDWebImageOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 31EE0E670B57E7A1A671D5E6BDFE9EEE /* SDWebImageOperation.h */; settings = {ATTRIBUTES = (Public, ); }; };  
55 - 606C3BAD569CD52EB453BDE439971E61 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4DB0A7F29D540AB077DA6D9855C3F743 /* QuartzCore.framework */; };  
56 - 6172CA961FBA887E0A208C93DD938C38 /* SVIndefiniteAnimatedView.h in Headers */ = {isa = PBXBuildFile; fileRef = C926E16FF286A7F032D0AB63AAFDCDD3 /* SVIndefiniteAnimatedView.h */; settings = {ATTRIBUTES = (Public, ); }; };  
57 - 6540CC4D369A32F6DE54AFA8D5D6FAF9 /* Alamofire-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = EEE5810B54BF020658D7EC89FCA21910 /* Alamofire-dummy.m */; };  
58 - 688194DF445E1D90020742A68E0CAED6 /* SVRadialGradientLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 1F26CF1785555BB027A32714B4554BFF /* SVRadialGradientLayer.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };  
59 - 6F880870AF9E7C7E2611D5BC0E05B14C /* UIImage+GIF.h in Headers */ = {isa = PBXBuildFile; fileRef = 82EA4C43CB0330D7597A7EC7C14DDA06 /* UIImage+GIF.h */; settings = {ATTRIBUTES = (Public, ); }; }; 10 + 00E153632A414101E0A66AE23569802B /* Result.swift in Sources */ = {isa = PBXBuildFile; fileRef = 92331AB0F30415BE666C619D1A45513E /* Result.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  11 + 01866720BD41E2820300D8B9284FC061 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E81ABC082107E519C9718F3CCEA03977 /* Foundation.framework */; };
  12 + 0203C16E98AD37E5A0C596D1B39C5119 /* Reachability.m in Sources */ = {isa = PBXBuildFile; fileRef = 0969E5011DCC0C421F637E6859279610 /* Reachability.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  13 + 0369C812B817E442E9BF7B2F561E1AEF /* Configuration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1914DA670BEE4BC1F461E88ED1BD7C26 /* Configuration.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  14 + 05F1082B0C6E40F76E821D67DFAD9AB5 /* SDWebImageDecoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 172419A08571955755C3C6FB2044DD9D /* SDWebImageDecoder.h */; settings = {ATTRIBUTES = (Public, ); }; };
  15 + 079D990738735591330332B5F2551AE4 /* NetworkReachabilityManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = BCCC1A6E4AF8DAF6E5609D65548B3C79 /* NetworkReachabilityManager.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  16 + 0A2126372E9629100B22A44A94E73D71 /* SDWebImageDownloaderOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 33347618F6541AA20F52632F9EA10CA6 /* SDWebImageDownloaderOperation.h */; settings = {ATTRIBUTES = (Public, ); }; };
  17 + 0ABF85713B5ABC01E4121F8DBCBBD195 /* Deserializer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1D374115D56716D6284C03A777CD2BB4 /* Deserializer.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  18 + 0C11C193B2F9FF679EB214C272C8A480 /* Transformable.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4E76CB8696BAB20A617484E4726713B /* Transformable.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  19 + 0C4EA35F79172E81D6BF56A2FC856ED8 /* SVProgressAnimatedView.m in Sources */ = {isa = PBXBuildFile; fileRef = 38EE23882943EDCED73523F643A71C39 /* SVProgressAnimatedView.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  20 + 121B576C5153736760EDBD385DCE1A82 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4DB0A7F29D540AB077DA6D9855C3F743 /* QuartzCore.framework */; };
  21 + 12DE723E9DF6F13F3286874C3A95E30A /* Logger.swift in Sources */ = {isa = PBXBuildFile; fileRef = 26EF7D93FE7442849AC14571996AC8ED /* Logger.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  22 + 143D0DFED5AF7708744EBDB443F9812D /* EnumType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C73B5BC3B66F99610607951FEC5FCB3 /* EnumType.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  23 + 14CECE238604E1D44104E5BCD14EB2BE /* SessionDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2D3152CF39784BC2AAD4747AF03BB50A /* SessionDelegate.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  24 + 164781197625A3149B3BDBCAA2AC8CC3 /* Validation.swift in Sources */ = {isa = PBXBuildFile; fileRef = E95345A11FCCED373B3A5758A6073CDB /* Validation.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  25 + 170AB456D9F3C346DCF407E42D84B5D5 /* UIButton+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = BE70BDE392E6E92B76047D2DED4ED380 /* UIButton+WebCache.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  26 + 17F8D48B0736FD13AC59D9311C074E9D /* NSData+ImageContentType.m in Sources */ = {isa = PBXBuildFile; fileRef = C203E9ABEF394B0009B142EEB9AA64FC /* NSData+ImageContentType.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  27 + 1A3841F2F008E6FEBA8B10F04DE5AD15 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4DB0A7F29D540AB077DA6D9855C3F743 /* QuartzCore.framework */; };
  28 + 1B9EDEDC964E6B08F78920B4F4B9DB84 /* Alamofire-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = BF496B88C6E68626DC9D0C9FC152BD3C /* Alamofire-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
  29 + 1C39565C535B7D534368C5DFB46659B5 /* SDWebImageDownloader.m in Sources */ = {isa = PBXBuildFile; fileRef = 1983D355FD75B9D24A71756509C98131 /* SDWebImageDownloader.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  30 + 204944D67267632DD7CD4BEFB60AC389 /* Response.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8781B0306B0188AF528659F413E1B542 /* Response.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  31 + 23C92743D0D2154080836B58896172C9 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E81ABC082107E519C9718F3CCEA03977 /* Foundation.framework */; };
  32 + 240CD81B9BDAA551B583A82E3618D560 /* XRCarouselView-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 323A41D79693687F0377B9ACACC90D4A /* XRCarouselView-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
  33 + 242367446F58A71823A8250396E775A3 /* HelpingMapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9889E5067E9A54BAEC05298BBA10F671 /* HelpingMapper.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  34 + 264463742964367E06060C2E85D3EEF4 /* SDWebImage-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = E786E1AEE51D914333543AC4DEF9B3FB /* SDWebImage-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
  35 + 27813DC0914AD972436022C87454185F /* SDWebImage-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = FF65E4A0D399571B01517891F0309004 /* SDWebImage-dummy.m */; };
  36 + 2AB8304BE65678C2043856E0F4AAFC9E /* SDWebImageDownloader.h in Headers */ = {isa = PBXBuildFile; fileRef = 9A559DCF61F2E184BC9318C05F05CFF3 /* SDWebImageDownloader.h */; settings = {ATTRIBUTES = (Public, ); }; };
  37 + 2B58B070F9D7324583D01EE906BC918C /* SessionManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5104B9F40B6C55F71BDE788F76AA8F53 /* SessionManager.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  38 + 2B5DF32B1906ED4F0088D37CE08CB2B9 /* Metadata.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC3C517CD17DEB98E878268901D654E8 /* Metadata.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  39 + 343B30C989188B77FB1149FED753A63C /* ServerTrustPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 640ED88831DE9CA10759B8FC3751C531 /* ServerTrustPolicy.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  40 + 38BC499B109AEBC02AD6C88AB2ED057D /* SDWebImageManager.m in Sources */ = {isa = PBXBuildFile; fileRef = FFCF8A6062658FA349B617C0D75723C2 /* SDWebImageManager.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  41 + 3C69CE7353282718747615DDA9563510 /* SVProgressHUD-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 93251EC8BEF89E6A4FA758DA38A1E47A /* SVProgressHUD-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
  42 + 3D342698F0FA2B9391B7B1733D499623 /* SVRadialGradientLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 20C0A79CAF95E65B981CC5F896E4334C /* SVRadialGradientLayer.h */; settings = {ATTRIBUTES = (Public, ); }; };
  43 + 3DD10D4C59666719E941A5D0EB5D9582 /* XRCarouselView.m in Sources */ = {isa = PBXBuildFile; fileRef = A91D08749C812CD6EB281780E69AFED6 /* XRCarouselView.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  44 + 44E9442A5B676A7E4941C47EB6C49C9F /* UIView+Toast.m in Sources */ = {isa = PBXBuildFile; fileRef = E533F265C56324D6F57EB232221F586A /* UIView+Toast.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; };
  45 + 46389823D72FA2DA9F4AD34CE119E9FA /* Reachability-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 29BC53491C8D6BA4B81045D6FBBA043C /* Reachability-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
  46 + 46749DE4D7ED1863AFF86DFB519EAAD0 /* UIImageView+HighlightedWebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 9011EFC1DA29BE6CA0831595062B82ED /* UIImageView+HighlightedWebCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
  47 + 48F71FC920A4F562FF7ECFD25BD08F2E /* NSDecimalNumberTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2830040C9AF69744EEB45C092E65CA2A /* NSDecimalNumberTransform.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  48 + 4A1D23F6526F175FCC2B35539E1B6AD6 /* SVProgressHUD.h in Headers */ = {isa = PBXBuildFile; fileRef = 17403F9FAA48DA29AAEB297BE9AC4D51 /* SVProgressHUD.h */; settings = {ATTRIBUTES = (Public, ); }; };
  49 + 4A2F8CD414D57920B53208F0F9A39E34 /* XRCarouselView.h in Headers */ = {isa = PBXBuildFile; fileRef = 57342E33349B812F65B6D994EA74E212 /* XRCarouselView.h */; settings = {ATTRIBUTES = (Public, ); }; };
  50 + 4A961542DBC3F70E502B854EBB870694 /* EnumTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31A74FD90C96035085B5A148E9CBA64C /* EnumTransform.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  51 + 4C144355E41C99902528AAD3CF069680 /* DZNEmptyDataSet-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 73AD0FFA16B2C0B1B8A40B3A76629975 /* DZNEmptyDataSet-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
  52 + 4F7B3FA3957DCA2A67546E72117904F9 /* HexColorTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E85535E49256ABCDBBB9EA045CE6268 /* HexColorTransform.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  53 + 502127E1D7BF9D8D8FA29AD2F7EF420E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E81ABC082107E519C9718F3CCEA03977 /* Foundation.framework */; };
  54 + 50424A0F4A3907712832B1FA56C9E2A2 /* Measuable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7D9407543C44ABED0AC48154C76831BE /* Measuable.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  55 + 53926FE56FBF1399E69B9F893ACFBDB1 /* Pods-ParentAssistant-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 1706C196E50CAE9C6DE364B9BA5E9DCB /* Pods-ParentAssistant-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
  56 + 5438E76D8DA2CB8E045DE40226F4A5AB /* DateFormatterTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = B4EC3094994043023CF3002A63DD6DA4 /* DateFormatterTransform.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  57 + 545C0FA9073D729E2E8C3EF9678C0DEA /* TransformOf.swift in Sources */ = {isa = PBXBuildFile; fileRef = 72ADD4F0113F0555435EA10BA789F8E2 /* TransformOf.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  58 + 5475A5933FABB5F9999E31020427B182 /* DataTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE92E07FF56795D096246F9059B540CA /* DataTransform.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  59 + 58812AABBC0A1E7AE019752424DF31A7 /* MultipartFormData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99DF7E55400E9131640E0694D3C91764 /* MultipartFormData.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  60 + 5C95D2513AAB007D33804F074AC4DD33 /* Export.swift in Sources */ = {isa = PBXBuildFile; fileRef = C33C9063E8CA60D73EE6050FCF59F433 /* Export.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  61 + 5E25BCD30BDE2E7A68D1A6FAF7253AD4 /* DispatchQueue+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = F6429920CDFD8D08A5A0566565673330 /* DispatchQueue+Alamofire.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  62 + 5E9D11BEACC080376EA6F57C6167B34A /* HandyJSON-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 11DABA5B57A3076260D36D4A9AE646F5 /* HandyJSON-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
  63 + 603F9D0686CE005205D389C1E4C6072A /* XRPlaceholder.png in Resources */ = {isa = PBXBuildFile; fileRef = FFEBBEC7D2ED4C631DFB3CBB04E6F926 /* XRPlaceholder.png */; };
  64 + 604E191C52F306436E51253A4A21589C /* SwiftHash-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F2BF6E468482ED7EDAE9AFD6CA2C994 /* SwiftHash-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
  65 + 63751EA36B3CCD03BF292C19F6B7C5FE /* SDWebImageCompat.h in Headers */ = {isa = PBXBuildFile; fileRef = 82C441F9B75595B2F266E6AC40AD7D85 /* SDWebImageCompat.h */; settings = {ATTRIBUTES = (Public, ); }; };
  66 + 6540CC4D369A32F6DE54AFA8D5D6FAF9 /* Alamofire-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = BB2B3251E63EE34530FC8A40E441CB23 /* Alamofire-dummy.m */; };
  67 + 6694F9A05D6A58C5C27935913BF8AE56 /* Pods-ParentAssistant-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F6BAADF2798AA6F62DA82FAA92DECB07 /* Pods-ParentAssistant-dummy.m */; };
  68 + 69735BB95E8E8111E0CEA96BBA19486A /* ExtendCustomModelType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54E529332879B58C942DDF16DF5D39B4 /* ExtendCustomModelType.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  69 + 6A14BBE1A1C5AFF3B9FCFFCC30685E04 /* Toast-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 835B1DEC82F034C2C12DC0723F18F6E9 /* Toast-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
  70 + 6BE097BD2C38D14E51B20BCEB5C6F495 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E81ABC082107E519C9718F3CCEA03977 /* Foundation.framework */; };
  71 + 6C3C226E0B46AFC4FD756BA6C5D9414E /* SDWebImagePrefetcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 6850886B55CE3CD9B901B28690292C5C /* SDWebImagePrefetcher.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  72 + 6F4160DEA9816F49351CCEF452CCF00C /* CustomDateFormatTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64CF5A867496880A0DAE25ED9EC8E512 /* CustomDateFormatTransform.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  73 + 71770C33C6DBF555B10D0A42E5C034F4 /* NominalType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7C5CEE4C10F2E83011011BAE5999B4FD /* NominalType.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
60 73B9C996AED49ED7CF8EC2A6F1738059 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E81ABC082107E519C9718F3CCEA03977 /* Foundation.framework */; }; 74 73B9C996AED49ED7CF8EC2A6F1738059 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E81ABC082107E519C9718F3CCEA03977 /* Foundation.framework */; };
61 - 73FD703165C603047C9FECF8D9117D35 /* NSData+ImageContentType.h in Headers */ = {isa = PBXBuildFile; fileRef = BA2B601AA9C42D6B8AE96BE8321E5D6C /* NSData+ImageContentType.h */; settings = {ATTRIBUTES = (Public, ); }; };  
62 - 78F4229B4A746A38341474FEB9DADB25 /* ParameterEncoding.swift in Sources */ = {isa = PBXBuildFile; fileRef = AAF088CE77A538A96EE53A7EAE65C819 /* ParameterEncoding.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };  
63 - 7A066BDAE692137D9FA0ACE5B49BAC01 /* SDWebImage-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = C6E85B189005269F9658DBF04ABDDB3B /* SDWebImage-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };  
64 - 7C3888324281E325ABBDDB3888D52125 /* DZNEmptyDataSet-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = EDF6D30846728EC3FC632BEE2717B854 /* DZNEmptyDataSet-dummy.m */; };  
65 - 7DC32EEA0391D5808441FC26B0756C20 /* Toast-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E8AA01DF603CDFFB4392DC1D67EC114 /* Toast-dummy.m */; };  
66 - 7EFE471A7CD81911271A1DA42728F35A /* SVProgressHUD-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 3AA2231406BEAEEC134CE10D52CD56DB /* SVProgressHUD-dummy.m */; };  
67 - 8455D8B62D30B18316003CAC9C3EB39C /* UIImage+GIF.m in Sources */ = {isa = PBXBuildFile; fileRef = 3F62E70A9FBEB449678982E52E1353F2 /* UIImage+GIF.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };  
68 - 8511E9645F5C2B18746B4B4B29284451 /* UIScrollView+EmptyDataSet.h in Headers */ = {isa = PBXBuildFile; fileRef = D7DAF83037D7D201AB9346520A2726A5 /* UIScrollView+EmptyDataSet.h */; settings = {ATTRIBUTES = (Public, ); }; }; 75 + 78F4229B4A746A38341474FEB9DADB25 /* ParameterEncoding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 14EC82B350F60C65CB156014F5997DCE /* ParameterEncoding.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  76 + 7931BF35785763872BD11EB65164B1D5 /* TransformType.swift in Sources */ = {isa = PBXBuildFile; fileRef = F33461E2C03CDF90E02052B76ADADB01 /* TransformType.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  77 + 794B16FD139EB13BA49AE711C49135BB /* MD5.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9AEE056145338863D7A727ACF1C3657C /* MD5.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  78 + 7AC13BF7B3C538D94DE7B9D836786514 /* SDWebImageCompat.m in Sources */ = {isa = PBXBuildFile; fileRef = 2E90E960C03E09803780D5C47A55A4DB /* SDWebImageCompat.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  79 + 7C3888324281E325ABBDDB3888D52125 /* DZNEmptyDataSet-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 5F6392C48C4C9A3D7130A57D84AFEE2B /* DZNEmptyDataSet-dummy.m */; };
  80 + 7CE1363BFF8D96DD8059E0B5481A8D00 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E81ABC082107E519C9718F3CCEA03977 /* Foundation.framework */; };
  81 + 7D23D4A779C42E695BD2EC80114AD9E8 /* Reachability.h in Headers */ = {isa = PBXBuildFile; fileRef = 2AD254563DCC20283BB5C0C5B4E57B5C /* Reachability.h */; settings = {ATTRIBUTES = (Public, ); }; };
  82 + 807283562FFCAF1B2AC3B251ABF34B5A /* URLTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6D24FB404E9541910245BF3E68C5EE73 /* URLTransform.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  83 + 82769877C29A8E71221C9918273D3FFF /* SDWebImageManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 8A51BA19C89D5E62EDCF2DB9D9FA43E0 /* SDWebImageManager.h */; settings = {ATTRIBUTES = (Public, ); }; };
  84 + 8444B1FF566FC96D823C154BEE6A4A03 /* BuiltInBasicType.swift in Sources */ = {isa = PBXBuildFile; fileRef = F948022D8D1EFEF734A07E6ED4D6CAF9 /* BuiltInBasicType.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  85 + 8511E9645F5C2B18746B4B4B29284451 /* UIScrollView+EmptyDataSet.h in Headers */ = {isa = PBXBuildFile; fileRef = 41531DBB287870602D671C4D97E99B21 /* UIScrollView+EmptyDataSet.h */; settings = {ATTRIBUTES = (Public, ); }; };
  86 + 86930F980FA87FB0CA5E197FEAA7A90C /* SVRadialGradientLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = AE8B2524C105710A1C75E5F3C734796F /* SVRadialGradientLayer.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  87 + 86EF282C771B9E7A12106ACBE6E820F5 /* ExtendCustomBasicType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32115C18B0BD53A5791A3FA797AB85AC /* ExtendCustomBasicType.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  88 + 895952B7EE442E03D667D9565D8C84F4 /* HandyJSON.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B3D43CB0BDA34787F85B2C084FBB09A /* HandyJSON.h */; settings = {ATTRIBUTES = (Public, ); }; };
  89 + 8B937C355B5CAAEC40B80F24AFA26569 /* Reachability-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 16CC2B704148D354077756FC0880DBCB /* Reachability-dummy.m */; };
  90 + 8C1E8307CFE1A73F290CFCE8818B6123 /* SDWebImageOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = B9A38D8C4EC4826AEDC2A52DD0187186 /* SDWebImageOperation.h */; settings = {ATTRIBUTES = (Public, ); }; };
69 8E31EF89BD192C6AACDE9E0655861D3D /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B9B732FC24A0EC5E46E41D939F4A1130 /* UIKit.framework */; }; 91 8E31EF89BD192C6AACDE9E0655861D3D /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B9B732FC24A0EC5E46E41D939F4A1130 /* UIKit.framework */; };
70 - 8F5C0849D2757FC5A7C81B81BA3813C3 /* ResponseSerialization.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D5ECF9767E0DE930DB442E5B0C8654B /* ResponseSerialization.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };  
71 - 939854B3A4CF27AC9DA0E9B7E26C9493 /* SDWebImageDownloaderOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 1D0E84080C6117D91217278F7DDF8B37 /* SDWebImageDownloaderOperation.h */; settings = {ATTRIBUTES = (Public, ); }; };  
72 - 98180A7130BC044E70A6C7F0BF140749 /* SDWebImageDecoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 0C6151C7E1F55461E2FEFEF578F941F2 /* SDWebImageDecoder.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };  
73 - 981EFF1371FCE40F1907DA262743B93E /* Notifications.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5398B5BBD79B7C43BB660F5770D2564F /* Notifications.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };  
74 - 9B011B2BEB771C25F916F47242C25B68 /* SVProgressHUD-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 27E3658ECF520EE5AAAFAB999CB366E0 /* SVProgressHUD-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };  
75 - A125A1BA4F27133D627410509D8F4E28 /* XRCarouselView.h in Headers */ = {isa = PBXBuildFile; fileRef = 7D11D36568090A022DD3F6835C6C69FA /* XRCarouselView.h */; settings = {ATTRIBUTES = (Public, ); }; };  
76 - A1AE1582C0837F6ACE34D1649DE2E355 /* SDWebImageManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 3DBD3BB3C24392F4D1991479123ED45F /* SDWebImageManager.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };  
77 - A6ED7D1E440FE1F9F71E68D78157C5A4 /* SVIndefiniteAnimatedView.m in Sources */ = {isa = PBXBuildFile; fileRef = 5EBCD8E3D00D44E6D321AA2A3AC6562A /* SVIndefiniteAnimatedView.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };  
78 - AA113E700658EFC0E6FE3C1F3421A94D /* Pods-ParentAssistant-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 91F8A62C7241C32CA58D0A9995BC8D8C /* Pods-ParentAssistant-dummy.m */; };  
79 - AD2C576F50E67B2417C1D17FBF5E32B2 /* AFError.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA45B71A66CE0CFB5F154FE85DCBD0A8 /* AFError.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };  
80 - B61BAFC1B1815C7270395B7350001E60 /* Reachability.m in Sources */ = {isa = PBXBuildFile; fileRef = B740DD3269C25DB27176BA8A1FFE205F /* Reachability.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };  
81 - B7E9C6F6AE84988704B110AD4A0C9CA8 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E81ABC082107E519C9718F3CCEA03977 /* Foundation.framework */; };  
82 - BB4706D78AC0D446F7022C66985E1253 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 93ED65B5F47F5FEA00C9BC9D151B1D26 /* SystemConfiguration.framework */; };  
83 - BD13ECAC77A5C5C8ABEC67EB5C40C374 /* UIView+WebCacheOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 68919C93C6F37F3FB82FE9478241C8C7 /* UIView+WebCacheOperation.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };  
84 - BE33CE0CCA7C7BFD277EB1E9D4117BBA /* SDImageCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 60A3F93AD6EAC40A34D1F7BF59D9B165 /* SDImageCache.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };  
85 - C284F2852F65CD7753BC02265207E8C3 /* SDImageCache.h in Headers */ = {isa = PBXBuildFile; fileRef = F39E00016168D1792023A12BC344B8BC /* SDImageCache.h */; settings = {ATTRIBUTES = (Public, ); }; };  
86 - C38CBA7114C05F3FF045615FEE1D15B9 /* ImageIO.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 59271332AFD884264C5B45B6B6152051 /* ImageIO.framework */; };  
87 - C3E716AC285C0E375076E032E3E3EB75 /* UIImageView+HighlightedWebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 9AFF14D09B2FE9228B53AE5A41F135CD /* UIImageView+HighlightedWebCache.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 92 + 8F5C0849D2757FC5A7C81B81BA3813C3 /* ResponseSerialization.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39F3B60B0A2AD7975DA5BCA943FA6BD5 /* ResponseSerialization.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  93 + 90B1C77BB42755C3E9AC821A09526E53 /* SHA1.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A4D6703A8771BB168130EFB6EAC1C3E /* SHA1.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  94 + 952429322A476D5508670C477DE23669 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E81ABC082107E519C9718F3CCEA03977 /* Foundation.framework */; };
  95 + 95F6802FB7C748286D6E1D6876552E8C /* BuiltInBridgeType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6976D41DC0C992EA2F24C3A7358E958F /* BuiltInBridgeType.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  96 + 963D3083B43A304CE4A81FF8908C644C /* DateTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0A49BF64844554AA6BC0B49FD9A9BE8 /* DateTransform.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  97 + 9687BE425798E40CBC52870F8009209D /* UIView+Toast.h in Headers */ = {isa = PBXBuildFile; fileRef = 19FAAAAFAF3A705D1081BDCDC14CAFD6 /* UIView+Toast.h */; settings = {ATTRIBUTES = (Public, ); }; };
  98 + 981EFF1371FCE40F1907DA262743B93E /* Notifications.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F2F35AD7354793D357E10226DE37995 /* Notifications.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  99 + 9EB13C869EF150828095C94F1FEFC517 /* Properties.swift in Sources */ = {isa = PBXBuildFile; fileRef = 05BE4EE179BFA37C2F5F3928F9237A1F /* Properties.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  100 + 9F24B341383F0FF8EA368B3A7F9BC087 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E81ABC082107E519C9718F3CCEA03977 /* Foundation.framework */; };
  101 + A17930AC43F712547C2B4B58C1450B82 /* UIButton+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = C03FC1A11EE20AB8B6A4B398E11B26B0 /* UIButton+WebCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
  102 + A43438F0B3A712FB5739EA173AB6F134 /* ReflectionHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31257A57ECE5DD3A052A547DA8090EF9 /* ReflectionHelper.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  103 + A7B5C0EE248855B3357C98A489F835D9 /* UIImageView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E2AA0C415512D5F3F34F7A99AA4D14A /* UIImageView+WebCache.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  104 + A8D327620CE1909AD98F6B239AA60018 /* XRCarouselView-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 7437E1C250CA27898AA8815D1117643B /* XRCarouselView-dummy.m */; };
  105 + A95766E9124B13BABFF00CFBEFEC0501 /* SVProgressAnimatedView.h in Headers */ = {isa = PBXBuildFile; fileRef = B6554BE7D86E2DF12BC2CFA630452CA0 /* SVProgressAnimatedView.h */; settings = {ATTRIBUTES = (Public, ); }; };
  106 + AB6A5752C4586385EE13F1E6E2E9F40E /* SVProgressHUD-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 0322584439902B09D766EF9B00C87E2A /* SVProgressHUD-dummy.m */; };
  107 + AC2961AE064F12C1AA82F853AE6CF4DE /* OtherExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = E9462CA128209C32EE6E6647C88609D1 /* OtherExtension.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  108 + AD2C576F50E67B2417C1D17FBF5E32B2 /* AFError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08E13F442024BE43D2F31AA6F2C300DA /* AFError.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  109 + B2D8BD6984912C60C7A22BF665987A73 /* SDImageCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 140A2830037A30E45442BA52CBDA1CFC /* SDImageCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
  110 + B35D34D1C1A4B0A5FAD90526DE5D88A4 /* ImageIO.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 59271332AFD884264C5B45B6B6152051 /* ImageIO.framework */; };
  111 + B575E905525EDD3311A9872A0C4307AD /* SVProgressHUD.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 65DEF3C169B8F1241E74C3D5C7DA5A6D /* SVProgressHUD.bundle */; };
  112 + BA3AB9E7766B254534C357EB523687B6 /* UIView+WebCacheOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 1836357ECED17B3B0BF22256498AA8EE /* UIView+WebCacheOperation.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  113 + BBF90CAC12DA7C2713DB47B3BE5C898C /* UIImageView+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 206933D2687A3DC4CD2836F2AEF28A3B /* UIImageView+WebCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
  114 + BC9AB82CB1C91977B5C1C96A25A9CA22 /* UIView+WebCacheOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = F638493F2C879E2AF820AE53EA390269 /* UIView+WebCacheOperation.h */; settings = {ATTRIBUTES = (Public, ); }; };
  115 + BD14752B5379EAA21AF328A8ABE08A6D /* NSData+ImageContentType.h in Headers */ = {isa = PBXBuildFile; fileRef = DB5FF7B561F6F548C82F1FC27FDD72E8 /* NSData+ImageContentType.h */; settings = {ATTRIBUTES = (Public, ); }; };
  116 + BD2E6B5D9C3C38D8C1BDCFE0CD6E489D /* UIImage+MultiFormat.m in Sources */ = {isa = PBXBuildFile; fileRef = 469D54339A6D448DF6D1166FDB669676 /* UIImage+MultiFormat.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  117 + BF901FE99C862B2093FF8E2F71B80F93 /* SDImageCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 1439A3EA7193042844C3E9C52032677C /* SDImageCache.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  118 + C23D014A840F87E883B74ABEC475E608 /* HandyJSON-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = FD2B11D4DCD30BDBA06841569E01E1BD /* HandyJSON-dummy.m */; };
88 C577B322B52228B272D52FF32B7BE30C /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E81ABC082107E519C9718F3CCEA03977 /* Foundation.framework */; }; 119 C577B322B52228B272D52FF32B7BE30C /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E81ABC082107E519C9718F3CCEA03977 /* Foundation.framework */; };
89 - C5FD57751548EFFA6567AFD2EB47CD56 /* Request.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3BF0C8FBEA34836F39B7B05178E99A0 /* Request.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };  
90 - C7A839D10605088C454C7291FB326FBC /* SDWebImageCompat.m in Sources */ = {isa = PBXBuildFile; fileRef = E4C906F36DAA1F52BC4CB049D6F2BD4F /* SDWebImageCompat.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };  
91 - D1341DA6F9B384B99BAB4C367DAD6BEC /* UIScrollView+EmptyDataSet.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F52BD5E0388C810B3A6F1C4F9269F41 /* UIScrollView+EmptyDataSet.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };  
92 - D44B6932FB028CF0C747036478B2464B /* SDWebImagePrefetcher.m in Sources */ = {isa = PBXBuildFile; fileRef = F881111ED96D14E27A9A91E9C8C48275 /* SDWebImagePrefetcher.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };  
93 - D5686072DEC1A0E14F8C100FCC873F73 /* TaskDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 97915E2218908AAF45A7A295511D7ED1 /* TaskDelegate.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };  
94 - D6B5D14430A46CD9182ADB0995717D65 /* XRCarouselView-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 15E9579C0ABD54F28AC5AEF8D3720CDF /* XRCarouselView-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };  
95 - D6DBA841E832F1262ADB623C43DF0CB5 /* SDWebImageManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 133564ED095E50FC178E7088F2D2F525 /* SDWebImageManager.h */; settings = {ATTRIBUTES = (Public, ); }; };  
96 - D85265953240035D8C14B6B808DBD242 /* XRCarouselView.m in Sources */ = {isa = PBXBuildFile; fileRef = C945AFDE3ADE2B40E1665B379B679BEF /* XRCarouselView.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };  
97 - DDB9C4D70DAC05D5A7E9891762E20D32 /* Pods-ParentAssistant-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 8DE1A0CE0E1BB3F08D5A914FF091692D /* Pods-ParentAssistant-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };  
98 - DE23AFF819C3CDDC1624B5631F0D4530 /* SDWebImageDecoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 511A51D5104E2218B3E7F93AC4600390 /* SDWebImageDecoder.h */; settings = {ATTRIBUTES = (Public, ); }; };  
99 - E13F179231DAC1A6068B8B82ACC14EA0 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E81ABC082107E519C9718F3CCEA03977 /* Foundation.framework */; };  
100 - E198F398404F07805E5189165F3C1E64 /* Timeline.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8CCDB7FC335DFD48FD4C80AC3FA68F61 /* Timeline.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };  
101 - E8DAE6CA0B236532ECA6D44CE2B8D87D /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E81ABC082107E519C9718F3CCEA03977 /* Foundation.framework */; };  
102 - EBA0781A1E2822CF7DFD56ACD394A63E /* Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4379B9C4BA297F169DA7B36C4689653E /* Alamofire.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };  
103 - ED0451E5FF57EB35F9D4C92E008A7750 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4DB0A7F29D540AB077DA6D9855C3F743 /* QuartzCore.framework */; };  
104 - ED8D1958E550537B70551F3306C749A2 /* SVProgressHUD.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 6E3AD0ED0E4F4D6622F66C870ACAFFF7 /* SVProgressHUD.bundle */; };  
105 - F3F5FF09765FEE3CFC273A26439E1284 /* NSData+ImageContentType.m in Sources */ = {isa = PBXBuildFile; fileRef = 4F62E861EB0D938A1E0BD4EB7441A08D /* NSData+ImageContentType.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };  
106 - F67226D02B4E38F924014FD70084A0BC /* SDWebImageDownloader.m in Sources */ = {isa = PBXBuildFile; fileRef = B6EAADE73C594EB99F85F1F1A5CEBCDD /* SDWebImageDownloader.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };  
107 - FC3E75853B92F3FD3AB8C18D107AEAE2 /* SVProgressHUD.m in Sources */ = {isa = PBXBuildFile; fileRef = DEEEBBC02918A14BA4253C35D926FDEC /* SVProgressHUD.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 120 + C5FD57751548EFFA6567AFD2EB47CD56 /* Request.swift in Sources */ = {isa = PBXBuildFile; fileRef = 232E0E55F341C5600028F7AAA4F59E8A /* Request.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  121 + C633AE7C1F16ADA3AFEE968396B73A4B /* UIImage+GIF.m in Sources */ = {isa = PBXBuildFile; fileRef = B71F8A62F3906657D17D418212E1CBA1 /* UIImage+GIF.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  122 + C8D2BE872D244EB549F2EC97069CC4D0 /* UIImageView+HighlightedWebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = BB7CE29DC4FFF250766240EA8DA973D1 /* UIImageView+HighlightedWebCache.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  123 + C906E3F3B8CC5A9E003DB020DFAE7864 /* PropertyInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 81D2AEE4F419083BF22474B240B3D9F6 /* PropertyInfo.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  124 + C98D39690CC370401444D498206BCA2B /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E81ABC082107E519C9718F3CCEA03977 /* Foundation.framework */; };
  125 + CAD7174B4833082EAE9507FB4CDCB07B /* Toast-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 85EBECC44FA24EC40748D3CB399DD1F3 /* Toast-dummy.m */; };
  126 + D1341DA6F9B384B99BAB4C367DAD6BEC /* UIScrollView+EmptyDataSet.m in Sources */ = {isa = PBXBuildFile; fileRef = 18F6A571F05F4D0DD12870CE83C8F787 /* UIScrollView+EmptyDataSet.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  127 + D1D5D64268DDC619511D3942F434D7DD /* SDWebImageDecoder.m in Sources */ = {isa = PBXBuildFile; fileRef = DF68D7CB4183F99C38744F4985CD422D /* SDWebImageDecoder.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  128 + D425D13A48689CCBEA1C0BE43928A682 /* ISO8601DateTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7DFB6D55866F4F62D8116993D42B55A8 /* ISO8601DateTransform.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  129 + D5686072DEC1A0E14F8C100FCC873F73 /* TaskDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFD387D9E3BDF322939523D4DF31CA79 /* TaskDelegate.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  130 + D603EC0AAE41B1733F0A4A2FA4381910 /* SwiftHash-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 448D149E9E2122E63C2D8CDB8E1159CB /* SwiftHash-dummy.m */; };
  131 + E198F398404F07805E5189165F3C1E64 /* Timeline.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9ED9DA2E61F2A4DD7E760C61C47A3F1 /* Timeline.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  132 + E49369FF3BD66698C3B61B8DE9C58DE0 /* UIImage+GIF.h in Headers */ = {isa = PBXBuildFile; fileRef = E3370B03674C70DABFF75D9D2BA95DCE /* UIImage+GIF.h */; settings = {ATTRIBUTES = (Public, ); }; };
  133 + E72FACD066C66E010F4C91956E8E29CB /* UIImage+MultiFormat.h in Headers */ = {isa = PBXBuildFile; fileRef = F6C063D5E492D3ED69858D446C30719E /* UIImage+MultiFormat.h */; settings = {ATTRIBUTES = (Public, ); }; };
  134 + E990A247D80417D4555735E8A8DBD76C /* SVIndefiniteAnimatedView.m in Sources */ = {isa = PBXBuildFile; fileRef = 72803D16FA054A0D26C303991C1F2B3C /* SVIndefiniteAnimatedView.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  135 + EB3F85272BEE4C2EB0321741E8FE4B75 /* SDWebImagePrefetcher.h in Headers */ = {isa = PBXBuildFile; fileRef = E33C2A8A35CA23130F27CFEC0285B7DB /* SDWebImagePrefetcher.h */; settings = {ATTRIBUTES = (Public, ); }; };
  136 + EBA0781A1E2822CF7DFD56ACD394A63E /* Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEA07E2E477768269A8D0BECE492EBAF /* Alamofire.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  137 + EC3CC4DC8A5C9241AE7D9359EEAFC69F /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 93ED65B5F47F5FEA00C9BC9D151B1D26 /* SystemConfiguration.framework */; };
  138 + EF1B6B88FF4C6BC506B9C85BAEDF034E /* PointerType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3447CC75BA7C93ED3BF68C2F65392471 /* PointerType.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  139 + EF57A4E0C40DA6E906B390C69902421F /* AnyExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 931ED830C3B0B8852F1479DE61BA997E /* AnyExtensions.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  140 + F1A921225B642E15ED24FB4734240F8F /* SDWebImageDownloaderOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 24C69C342339292A7BBB5C56D2C12D12 /* SDWebImageDownloaderOperation.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  141 + F206FE65A9D924A3F6ED6221E3BBD35E /* SVIndefiniteAnimatedView.h in Headers */ = {isa = PBXBuildFile; fileRef = 6768B1FE2E118D79D8A1613520B9BB23 /* SVIndefiniteAnimatedView.h */; settings = {ATTRIBUTES = (Public, ); }; };
  142 + F79EC3C3CF96DFC885E8DD247FEF08EB /* SVProgressHUD.m in Sources */ = {isa = PBXBuildFile; fileRef = 1DC66067EC016B21D6BC487C409083AF /* SVProgressHUD.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
  143 + F8FB51647A0925CDAF63C5DAA23D8B4D /* Serializer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39C3C21D34A34F85D09063C7E1255E9D /* Serializer.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
108 /* End PBXBuildFile section */ 144 /* End PBXBuildFile section */
109 145
110 /* Begin PBXContainerItemProxy section */ 146 /* Begin PBXContainerItemProxy section */
111 - 063C49D9C95F79A20503A9A1424E691E /* PBXContainerItemProxy */ = { 147 + 14508FFAEE6EBD1C2386229671393CCD /* PBXContainerItemProxy */ = {
112 isa = PBXContainerItemProxy; 148 isa = PBXContainerItemProxy;
113 containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; 149 containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */;
114 proxyType = 1; 150 proxyType = 1;
115 - remoteGlobalIDString = 946F1690639E5FEB44FCAE735384E88F;  
116 - remoteInfo = XRCarouselView; 151 + remoteGlobalIDString = 6376DC419EEA98495631602218A4F31B;
  152 + remoteInfo = SwiftHash;
117 }; 153 };
118 - 422B2D815B43329490CF50C572D7A42B /* PBXContainerItemProxy */ = { 154 + 1F4310C891A7C6531B2EC2F44755F5D2 /* PBXContainerItemProxy */ = {
119 isa = PBXContainerItemProxy; 155 isa = PBXContainerItemProxy;
120 containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; 156 containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */;
121 proxyType = 1; 157 proxyType = 1;
122 - remoteGlobalIDString = 85C8F626848DDF730664D24F35CB4BFD;  
123 - remoteInfo = SwiftHash; 158 + remoteGlobalIDString = 8FA4EA707F3B6CFDACB1C85C722D2E73;
  159 + remoteInfo = SDWebImage;
124 }; 160 };
125 - 6156EA43090B479C8793207CA4E77756 /* PBXContainerItemProxy */ = { 161 + 40A6BB26078AD6CC3BFED24490AA679C /* PBXContainerItemProxy */ = {
126 isa = PBXContainerItemProxy; 162 isa = PBXContainerItemProxy;
127 containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; 163 containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */;
128 proxyType = 1; 164 proxyType = 1;
129 - remoteGlobalIDString = C05436301E2CFEA58B8664CF237736FD;  
130 - remoteInfo = SVProgressHUD; 165 + remoteGlobalIDString = D386C75EFD4F03725E4EFB866B600B9A;
  166 + remoteInfo = DZNEmptyDataSet;
131 }; 167 };
132 - 656151B6E948CAD2F2C92575A816A9DD /* PBXContainerItemProxy */ = { 168 + 594A8718DA74EC137A691ED506FE6CCB /* PBXContainerItemProxy */ = {
133 isa = PBXContainerItemProxy; 169 isa = PBXContainerItemProxy;
134 containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; 170 containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */;
135 proxyType = 1; 171 proxyType = 1;
136 - remoteGlobalIDString = D386C75EFD4F03725E4EFB866B600B9A;  
137 - remoteInfo = DZNEmptyDataSet; 172 + remoteGlobalIDString = 27189F0EDBCA8831C460D0166F6F37A1;
  173 + remoteInfo = XRCarouselView;
138 }; 174 };
139 - A551BE9DFBB8BC081F9403D9547E440B /* PBXContainerItemProxy */ = { 175 + 82A515E1EF9A2DA9422FDE7D829F0650 /* PBXContainerItemProxy */ = {
140 isa = PBXContainerItemProxy; 176 isa = PBXContainerItemProxy;
141 containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; 177 containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */;
142 proxyType = 1; 178 proxyType = 1;
143 - remoteGlobalIDString = EE01DAC248A3AF6D1FE730A61FEC4A75; 179 + remoteGlobalIDString = AAC4087A5A57F5566AB9B54FEBADBC36;
144 remoteInfo = Reachability; 180 remoteInfo = Reachability;
145 }; 181 };
146 - B62CFB9ED89BE7F383DFD4DA30E09CE3 /* PBXContainerItemProxy */ = { 182 + 8E7E6D806A10070D238FC81F6BAB4860 /* PBXContainerItemProxy */ = {
147 isa = PBXContainerItemProxy; 183 isa = PBXContainerItemProxy;
148 containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; 184 containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */;
149 proxyType = 1; 185 proxyType = 1;
150 - remoteGlobalIDString = C0796C4BD50C4D76FBACB035BB862F5E;  
151 - remoteInfo = SDWebImage; 186 + remoteGlobalIDString = 9A9DDC64623B3F5E6DC7009C16752B95;
  187 + remoteInfo = Toast;
  188 + };
  189 + 8EE514F180AE8F72FA2CB958642AC2D2 /* PBXContainerItemProxy */ = {
  190 + isa = PBXContainerItemProxy;
  191 + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */;
  192 + proxyType = 1;
  193 + remoteGlobalIDString = E55BDEBC8F73D6B7936791D0822F70D6;
  194 + remoteInfo = SVProgressHUD;
152 }; 195 };
153 - CA0BE3D8D2515655B40335392420B681 /* PBXContainerItemProxy */ = { 196 + A81D9D0AD4D99710674892A4C13CE7C4 /* PBXContainerItemProxy */ = {
154 isa = PBXContainerItemProxy; 197 isa = PBXContainerItemProxy;
155 containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; 198 containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */;
156 proxyType = 1; 199 proxyType = 1;
157 remoteGlobalIDString = 88E9EC28B8B46C3631E6B242B50F4442; 200 remoteGlobalIDString = 88E9EC28B8B46C3631E6B242B50F4442;
158 remoteInfo = Alamofire; 201 remoteInfo = Alamofire;
159 }; 202 };
160 - DDD0D71FA6F264724CD1E76877CCA238 /* PBXContainerItemProxy */ = { 203 + EE8B3E8B9AA89EC765C0E539B4E7EDC7 /* PBXContainerItemProxy */ = {
161 isa = PBXContainerItemProxy; 204 isa = PBXContainerItemProxy;
162 containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; 205 containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */;
163 proxyType = 1; 206 proxyType = 1;
164 - remoteGlobalIDString = C9750678FE15F0A797938AEFBF11D3F7;  
165 - remoteInfo = Toast; 207 + remoteGlobalIDString = 1465651EBBC44AD3276DDE2476CDA450;
  208 + remoteInfo = HandyJSON;
166 }; 209 };
167 /* End PBXContainerItemProxy section */ 210 /* End PBXContainerItemProxy section */
168 211
169 /* Begin PBXFileReference section */ 212 /* Begin PBXFileReference section */
170 - 014C7FE920EF761F412D3A3DEF529642 /* Toast.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Toast.xcconfig; sourceTree = "<group>"; };  
171 - 0387FCC8EF5DA97E95535BB4EBA7F133 /* UIButton+WebCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIButton+WebCache.m"; path = "SDWebImage/UIButton+WebCache.m"; sourceTree = "<group>"; };  
172 - 06DC9572FD9048B84A9DABDD03902859 /* SVProgressAnimatedView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SVProgressAnimatedView.h; path = SVProgressHUD/SVProgressAnimatedView.h; sourceTree = "<group>"; };  
173 - 0B1E77043F562C0C1C7EA7E1A6ACB3AB /* XRCarouselView-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "XRCarouselView-dummy.m"; sourceTree = "<group>"; };  
174 - 0B6CA6D3D3167BE8720EE9756B8762E7 /* Reachability.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = Reachability.h; sourceTree = "<group>"; };  
175 - 0C6151C7E1F55461E2FEFEF578F941F2 /* SDWebImageDecoder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageDecoder.m; path = SDWebImage/SDWebImageDecoder.m; sourceTree = "<group>"; };  
176 - 0DDBEBC88C2ECDDC1F9FEEDD60597135 /* XRCarouselView.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = XRCarouselView.xcconfig; sourceTree = "<group>"; };  
177 - 0FF492DA7B2B6480B7AA0B29AFEA02B4 /* SDWebImageDownloaderOperation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageDownloaderOperation.m; path = SDWebImage/SDWebImageDownloaderOperation.m; sourceTree = "<group>"; };  
178 - 10ADDC363B0D209CE344723260F1796A /* SecurityEnvSDK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SecurityEnvSDK.framework; path = thirdparties/SecurityEnvSDK.framework; sourceTree = "<group>"; };  
179 - 133564ED095E50FC178E7088F2D2F525 /* SDWebImageManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageManager.h; path = SDWebImage/SDWebImageManager.h; sourceTree = "<group>"; };  
180 - 15E9579C0ABD54F28AC5AEF8D3720CDF /* XRCarouselView-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "XRCarouselView-umbrella.h"; sourceTree = "<group>"; };  
181 - 175348099C82E8A3101D8C4C79CEB8A8 /* Reachability-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Reachability-prefix.pch"; sourceTree = "<group>"; };  
182 - 1D023DCE549C153E62DBA7710F918932 /* Reachability.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = Reachability.modulemap; sourceTree = "<group>"; };  
183 - 1D0E84080C6117D91217278F7DDF8B37 /* SDWebImageDownloaderOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageDownloaderOperation.h; path = SDWebImage/SDWebImageDownloaderOperation.h; sourceTree = "<group>"; };  
184 - 1EA85E4120BF4DBBC742DBD972E1D4E0 /* UIView+WebCacheOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIView+WebCacheOperation.h"; path = "SDWebImage/UIView+WebCacheOperation.h"; sourceTree = "<group>"; };  
185 - 1EE9BCAC0C0DE60ED1806446F9BFE0F4 /* SDWebImage.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = SDWebImage.modulemap; sourceTree = "<group>"; };  
186 - 1F0F65D1B0A07B2CF87C8597517C1C90 /* MultipartFormData.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MultipartFormData.swift; path = Source/MultipartFormData.swift; sourceTree = "<group>"; };  
187 - 1F26CF1785555BB027A32714B4554BFF /* SVRadialGradientLayer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SVRadialGradientLayer.m; path = SVProgressHUD/SVRadialGradientLayer.m; sourceTree = "<group>"; };  
188 - 2217B31A69A5AD1A2DB901B017739FFE /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };  
189 - 262207002737C66ED24D7609E73A2051 /* Alamofire.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Alamofire.framework; path = Alamofire.framework; sourceTree = BUILT_PRODUCTS_DIR; };  
190 - 2625D989A9BDC337E06797E454C019E1 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };  
191 - 2752B2AE6C1700B3C4035EB9B3F3C828 /* UMErrorCatch.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = UMErrorCatch.framework; sourceTree = "<group>"; };  
192 - 27E3658ECF520EE5AAAFAB999CB366E0 /* SVProgressHUD-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SVProgressHUD-umbrella.h"; sourceTree = "<group>"; };  
193 - 29D1D8115C0044BF7D69794E14418C7A /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };  
194 - 2ADCD0ECDFD3DA272B8B40DC1449DEA8 /* Alamofire.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Alamofire.xcconfig; sourceTree = "<group>"; };  
195 - 2FC4CFE117A04773D45A722671264254 /* SwiftHash.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SwiftHash.xcconfig; sourceTree = "<group>"; };  
196 - 31EE0E670B57E7A1A671D5E6BDFE9EEE /* SDWebImageOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageOperation.h; path = SDWebImage/SDWebImageOperation.h; sourceTree = "<group>"; };  
197 - 37D066AA516CA828ADE8C5F756198AEA /* UIView+Toast.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIView+Toast.h"; path = "Toast/Toast/UIView+Toast.h"; sourceTree = "<group>"; };  
198 - 3910287CF67BB6D99BFC32020B92D66B /* SwiftHash-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SwiftHash-umbrella.h"; sourceTree = "<group>"; };  
199 - 3AA2231406BEAEEC134CE10D52CD56DB /* SVProgressHUD-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SVProgressHUD-dummy.m"; sourceTree = "<group>"; };  
200 - 3D416BE9935C085E823ACB5F9A862658 /* Toast.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = Toast.modulemap; sourceTree = "<group>"; };  
201 - 3DBD3BB3C24392F4D1991479123ED45F /* SDWebImageManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageManager.m; path = SDWebImage/SDWebImageManager.m; sourceTree = "<group>"; };  
202 - 3F62E70A9FBEB449678982E52E1353F2 /* UIImage+GIF.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+GIF.m"; path = "SDWebImage/UIImage+GIF.m"; sourceTree = "<group>"; };  
203 - 4379B9C4BA297F169DA7B36C4689653E /* Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Alamofire.swift; path = Source/Alamofire.swift; sourceTree = "<group>"; };  
204 - 45C480734183DBFB9258B038501DA266 /* SDWebImagePrefetcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImagePrefetcher.h; path = SDWebImage/SDWebImagePrefetcher.h; sourceTree = "<group>"; };  
205 - 466C6684943DC46AC01E8BC628C3AABE /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };  
206 - 4A4FCA00FE16408A60CBE0F56CD26E6C /* Response.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Response.swift; path = Source/Response.swift; sourceTree = "<group>"; };  
207 - 4C46FD42060CC02ACC3BE8A4C3D84CC3 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; 213 + 02C19698DC383415660AD836A73862CF /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
  214 + 0322584439902B09D766EF9B00C87E2A /* SVProgressHUD-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SVProgressHUD-dummy.m"; sourceTree = "<group>"; };
  215 + 03475756EB49A978A9F331D44971B60B /* libcrypto.a */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = archive.ar; name = libcrypto.a; path = NIMSDK/Libs/libcrypto.a; sourceTree = "<group>"; };
  216 + 05BE4EE179BFA37C2F5F3928F9237A1F /* Properties.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Properties.swift; path = Source/Properties.swift; sourceTree = "<group>"; };
  217 + 074C4EB853C59CB4403154F8FC3B42A1 /* Pods-ParentAssistant.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-ParentAssistant.modulemap"; sourceTree = "<group>"; };
  218 + 07E1E2C8AC8B32A86D7C0A576243A070 /* Alamofire-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Alamofire-prefix.pch"; sourceTree = "<group>"; };
  219 + 08E13F442024BE43D2F31AA6F2C300DA /* AFError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AFError.swift; path = Source/AFError.swift; sourceTree = "<group>"; };
  220 + 095F51C7CEE9EF306E13A58319881EFF /* Reachability.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Reachability.modulemap; sourceTree = "<group>"; };
  221 + 0969E5011DCC0C421F637E6859279610 /* Reachability.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = Reachability.m; sourceTree = "<group>"; };
  222 + 09E993E3E47BE7E80DCFECCEA59937CC /* XRCarouselView.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = XRCarouselView.framework; path = XRCarouselView.framework; sourceTree = BUILT_PRODUCTS_DIR; };
  223 + 0CDCA399D86C4D9BFD1AAA60E4F5A9F5 /* HandyJSON.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = HandyJSON.modulemap; sourceTree = "<group>"; };
  224 + 106A3E63162DD85E6D0BEC1EE1FFDBB4 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
  225 + 11DABA5B57A3076260D36D4A9AE646F5 /* HandyJSON-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "HandyJSON-umbrella.h"; sourceTree = "<group>"; };
  226 + 140A2830037A30E45442BA52CBDA1CFC /* SDImageCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageCache.h; path = SDWebImage/SDImageCache.h; sourceTree = "<group>"; };
  227 + 1439A3EA7193042844C3E9C52032677C /* SDImageCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageCache.m; path = SDWebImage/SDImageCache.m; sourceTree = "<group>"; };
  228 + 14EC82B350F60C65CB156014F5997DCE /* ParameterEncoding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ParameterEncoding.swift; path = Source/ParameterEncoding.swift; sourceTree = "<group>"; };
  229 + 16CC2B704148D354077756FC0880DBCB /* Reachability-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Reachability-dummy.m"; sourceTree = "<group>"; };
  230 + 1706C196E50CAE9C6DE364B9BA5E9DCB /* Pods-ParentAssistant-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-ParentAssistant-umbrella.h"; sourceTree = "<group>"; };
  231 + 1719FF827E35476E2C51408C0A9BD81C /* HandyJSON.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = HandyJSON.framework; path = HandyJSON.framework; sourceTree = BUILT_PRODUCTS_DIR; };
  232 + 172419A08571955755C3C6FB2044DD9D /* SDWebImageDecoder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageDecoder.h; path = SDWebImage/SDWebImageDecoder.h; sourceTree = "<group>"; };
  233 + 17403F9FAA48DA29AAEB297BE9AC4D51 /* SVProgressHUD.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SVProgressHUD.h; path = SVProgressHUD/SVProgressHUD.h; sourceTree = "<group>"; };
  234 + 1836357ECED17B3B0BF22256498AA8EE /* UIView+WebCacheOperation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIView+WebCacheOperation.m"; path = "SDWebImage/UIView+WebCacheOperation.m"; sourceTree = "<group>"; };
  235 + 18F6A571F05F4D0DD12870CE83C8F787 /* UIScrollView+EmptyDataSet.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIScrollView+EmptyDataSet.m"; path = "Source/UIScrollView+EmptyDataSet.m"; sourceTree = "<group>"; };
  236 + 1914DA670BEE4BC1F461E88ED1BD7C26 /* Configuration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Configuration.swift; path = Source/Configuration.swift; sourceTree = "<group>"; };
  237 + 1983D355FD75B9D24A71756509C98131 /* SDWebImageDownloader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageDownloader.m; path = SDWebImage/SDWebImageDownloader.m; sourceTree = "<group>"; };
  238 + 19FAAAAFAF3A705D1081BDCDC14CAFD6 /* UIView+Toast.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIView+Toast.h"; path = "Toast/Toast/UIView+Toast.h"; sourceTree = "<group>"; };
  239 + 1D374115D56716D6284C03A777CD2BB4 /* Deserializer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Deserializer.swift; path = Source/Deserializer.swift; sourceTree = "<group>"; };
  240 + 1DC66067EC016B21D6BC487C409083AF /* SVProgressHUD.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SVProgressHUD.m; path = SVProgressHUD/SVProgressHUD.m; sourceTree = "<group>"; };
  241 + 206933D2687A3DC4CD2836F2AEF28A3B /* UIImageView+WebCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImageView+WebCache.h"; path = "SDWebImage/UIImageView+WebCache.h"; sourceTree = "<group>"; };
  242 + 2098C9BB32F72BB65BA83ADD1F338099 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
  243 + 20C0A79CAF95E65B981CC5F896E4334C /* SVRadialGradientLayer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SVRadialGradientLayer.h; path = SVProgressHUD/SVRadialGradientLayer.h; sourceTree = "<group>"; };
  244 + 232E0E55F341C5600028F7AAA4F59E8A /* Request.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Request.swift; path = Source/Request.swift; sourceTree = "<group>"; };
  245 + 24C69C342339292A7BBB5C56D2C12D12 /* SDWebImageDownloaderOperation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageDownloaderOperation.m; path = SDWebImage/SDWebImageDownloaderOperation.m; sourceTree = "<group>"; };
  246 + 26EF7D93FE7442849AC14571996AC8ED /* Logger.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Logger.swift; path = Source/Logger.swift; sourceTree = "<group>"; };
  247 + 2830040C9AF69744EEB45C092E65CA2A /* NSDecimalNumberTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NSDecimalNumberTransform.swift; path = Source/NSDecimalNumberTransform.swift; sourceTree = "<group>"; };
  248 + 297F8CEFA42DFD823263EA02BC36D29A /* HandyJSON-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "HandyJSON-prefix.pch"; sourceTree = "<group>"; };
  249 + 29BC53491C8D6BA4B81045D6FBBA043C /* Reachability-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Reachability-umbrella.h"; sourceTree = "<group>"; };
  250 + 2AD254563DCC20283BB5C0C5B4E57B5C /* Reachability.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = Reachability.h; sourceTree = "<group>"; };
  251 + 2D3152CF39784BC2AAD4747AF03BB50A /* SessionDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SessionDelegate.swift; path = Source/SessionDelegate.swift; sourceTree = "<group>"; };
  252 + 2E85535E49256ABCDBBB9EA045CE6268 /* HexColorTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HexColorTransform.swift; path = Source/HexColorTransform.swift; sourceTree = "<group>"; };
  253 + 2E90E960C03E09803780D5C47A55A4DB /* SDWebImageCompat.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageCompat.m; path = SDWebImage/SDWebImageCompat.m; sourceTree = "<group>"; };
  254 + 2EE1F3AAF4D2513EA3BFF47F019026DC /* Alamofire.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Alamofire.modulemap; sourceTree = "<group>"; };
  255 + 2F2F35AD7354793D357E10226DE37995 /* Notifications.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Notifications.swift; path = Source/Notifications.swift; sourceTree = "<group>"; };
  256 + 31257A57ECE5DD3A052A547DA8090EF9 /* ReflectionHelper.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ReflectionHelper.swift; path = Source/ReflectionHelper.swift; sourceTree = "<group>"; };
  257 + 31A74FD90C96035085B5A148E9CBA64C /* EnumTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EnumTransform.swift; path = Source/EnumTransform.swift; sourceTree = "<group>"; };
  258 + 32115C18B0BD53A5791A3FA797AB85AC /* ExtendCustomBasicType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExtendCustomBasicType.swift; path = Source/ExtendCustomBasicType.swift; sourceTree = "<group>"; };
  259 + 323A41D79693687F0377B9ACACC90D4A /* XRCarouselView-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "XRCarouselView-umbrella.h"; sourceTree = "<group>"; };
  260 + 328C2C3F0CBE7948196AEE1B0FA7B3F4 /* DZNEmptyDataSet.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = DZNEmptyDataSet.xcconfig; sourceTree = "<group>"; };
  261 + 33347618F6541AA20F52632F9EA10CA6 /* SDWebImageDownloaderOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageDownloaderOperation.h; path = SDWebImage/SDWebImageDownloaderOperation.h; sourceTree = "<group>"; };
  262 + 33F1F6213579E70C284C8445EBD7DBDD /* SVProgressHUD.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = SVProgressHUD.framework; path = SVProgressHUD.framework; sourceTree = BUILT_PRODUCTS_DIR; };
  263 + 3447CC75BA7C93ED3BF68C2F65392471 /* PointerType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PointerType.swift; path = Source/PointerType.swift; sourceTree = "<group>"; };
  264 + 3813A00560E8E809CF107BA098D6A666 /* Toast.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Toast.xcconfig; sourceTree = "<group>"; };
  265 + 38EE23882943EDCED73523F643A71C39 /* SVProgressAnimatedView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SVProgressAnimatedView.m; path = SVProgressHUD/SVProgressAnimatedView.m; sourceTree = "<group>"; };
  266 + 39C3C21D34A34F85D09063C7E1255E9D /* Serializer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Serializer.swift; path = Source/Serializer.swift; sourceTree = "<group>"; };
  267 + 39F3B60B0A2AD7975DA5BCA943FA6BD5 /* ResponseSerialization.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ResponseSerialization.swift; path = Source/ResponseSerialization.swift; sourceTree = "<group>"; };
  268 + 41009B988332564AFC9DAF9C3817C7FA /* SwiftHash.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = SwiftHash.framework; path = SwiftHash.framework; sourceTree = BUILT_PRODUCTS_DIR; };
  269 + 41531DBB287870602D671C4D97E99B21 /* UIScrollView+EmptyDataSet.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIScrollView+EmptyDataSet.h"; path = "Source/UIScrollView+EmptyDataSet.h"; sourceTree = "<group>"; };
  270 + 42DB5E77081A2858012F4CBF354A0D27 /* Reachability-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Reachability-prefix.pch"; sourceTree = "<group>"; };
  271 + 4357F76011180D7A84AB5281135FBC76 /* Reachability.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Reachability.xcconfig; sourceTree = "<group>"; };
  272 + 43766E6C5ADEB0502C1E3C6049C5D9AC /* SVProgressHUD.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SVProgressHUD.xcconfig; sourceTree = "<group>"; };
  273 + 448D149E9E2122E63C2D8CDB8E1159CB /* SwiftHash-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SwiftHash-dummy.m"; sourceTree = "<group>"; };
  274 + 469D54339A6D448DF6D1166FDB669676 /* UIImage+MultiFormat.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+MultiFormat.m"; path = "SDWebImage/UIImage+MultiFormat.m"; sourceTree = "<group>"; };
  275 + 481FE62B9A76B9C994CED4CDBF22F059 /* SVProgressHUD.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SVProgressHUD.modulemap; sourceTree = "<group>"; };
  276 + 4CD112151D95CAE264BE24BD4513934F /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
208 4DB0A7F29D540AB077DA6D9855C3F743 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/QuartzCore.framework; sourceTree = DEVELOPER_DIR; }; 277 4DB0A7F29D540AB077DA6D9855C3F743 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/QuartzCore.framework; sourceTree = DEVELOPER_DIR; };
209 - 4E8AA01DF603CDFFB4392DC1D67EC114 /* Toast-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Toast-dummy.m"; sourceTree = "<group>"; };  
210 - 4F486ED1724FD618F8FC26EFDC4CAA21 /* SVProgressHUD.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = SVProgressHUD.modulemap; sourceTree = "<group>"; };  
211 - 4F62E861EB0D938A1E0BD4EB7441A08D /* NSData+ImageContentType.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSData+ImageContentType.m"; path = "SDWebImage/NSData+ImageContentType.m"; sourceTree = "<group>"; };  
212 - 511A51D5104E2218B3E7F93AC4600390 /* SDWebImageDecoder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageDecoder.h; path = SDWebImage/SDWebImageDecoder.h; sourceTree = "<group>"; };  
213 - 533EA16EA3C399B93C59F7FBDF7BA283 /* DZNEmptyDataSet.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = DZNEmptyDataSet.framework; path = DZNEmptyDataSet.framework; sourceTree = BUILT_PRODUCTS_DIR; };  
214 - 5398B5BBD79B7C43BB660F5770D2564F /* Notifications.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Notifications.swift; path = Source/Notifications.swift; sourceTree = "<group>"; };  
215 - 54460F8AA0D68913CCD38F42715D46AF /* Pods-ParentAssistant-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-ParentAssistant-acknowledgements.plist"; sourceTree = "<group>"; }; 278 + 5104B9F40B6C55F71BDE788F76AA8F53 /* SessionManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SessionManager.swift; path = Source/SessionManager.swift; sourceTree = "<group>"; };
  279 + 52C9D81718FDCE850DDAF365FD190B4F /* SVProgressHUD-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SVProgressHUD-prefix.pch"; sourceTree = "<group>"; };
  280 + 52F1099514615B3BA1CA982ECF578DDF /* Toast-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Toast-prefix.pch"; sourceTree = "<group>"; };
  281 + 54E529332879B58C942DDF16DF5D39B4 /* ExtendCustomModelType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExtendCustomModelType.swift; path = Source/ExtendCustomModelType.swift; sourceTree = "<group>"; };
  282 + 57342E33349B812F65B6D994EA74E212 /* XRCarouselView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = XRCarouselView.h; path = XRCarouselView/XRCarouselView.h; sourceTree = "<group>"; };
  283 + 587E904615A6336F6F7628482D5BC8D3 /* Pods-ParentAssistant-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-ParentAssistant-frameworks.sh"; sourceTree = "<group>"; };
216 59271332AFD884264C5B45B6B6152051 /* ImageIO.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ImageIO.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/ImageIO.framework; sourceTree = DEVELOPER_DIR; }; 284 59271332AFD884264C5B45B6B6152051 /* ImageIO.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ImageIO.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/ImageIO.framework; sourceTree = DEVELOPER_DIR; };
217 - 5BCD4B8E8C14DE4F430A278F71F7D0FF /* XRCarouselView-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "XRCarouselView-prefix.pch"; sourceTree = "<group>"; };  
218 - 5CEEDC06F17E3B2247D0C213D2EEFA22 /* Toast-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Toast-umbrella.h"; sourceTree = "<group>"; };  
219 - 5EBCD8E3D00D44E6D321AA2A3AC6562A /* SVIndefiniteAnimatedView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SVIndefiniteAnimatedView.m; path = SVProgressHUD/SVIndefiniteAnimatedView.m; sourceTree = "<group>"; };  
220 - 60A3F93AD6EAC40A34D1F7BF59D9B165 /* SDImageCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageCache.m; path = SDWebImage/SDImageCache.m; sourceTree = "<group>"; };  
221 - 613B2F2AE29AA652F2FBEB974EB1A044 /* Toast-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Toast-prefix.pch"; sourceTree = "<group>"; };  
222 - 62A63D7FFB23D16D27F325250A424933 /* SVRadialGradientLayer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SVRadialGradientLayer.h; path = SVProgressHUD/SVRadialGradientLayer.h; sourceTree = "<group>"; };  
223 - 6361621C72F132C8F4AFC3286C48ECB0 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };  
224 - 63DADB2A24F2E24705306C81DE52354C /* Reachability-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Reachability-umbrella.h"; sourceTree = "<group>"; };  
225 - 648F9002573D6811BFB3D3133CDAE4FD /* UIImageView+WebCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImageView+WebCache.h"; path = "SDWebImage/UIImageView+WebCache.h"; sourceTree = "<group>"; };  
226 - 64D95CAFC82A27D9FD0489E9C5917506 /* UIView+Toast.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIView+Toast.m"; path = "Toast/Toast/UIView+Toast.m"; sourceTree = "<group>"; };  
227 - 65B7E93E3ECE48CD1D929320D52945CE /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };  
228 - 663BA5E48D7A98ECA0F93458EBFE8EAC /* SwiftHash.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = SwiftHash.modulemap; sourceTree = "<group>"; };  
229 - 664D41C5636B633819EF1887251701BA /* ServerTrustPolicy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ServerTrustPolicy.swift; path = Source/ServerTrustPolicy.swift; sourceTree = "<group>"; };  
230 - 68919C93C6F37F3FB82FE9478241C8C7 /* UIView+WebCacheOperation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIView+WebCacheOperation.m"; path = "SDWebImage/UIView+WebCacheOperation.m"; sourceTree = "<group>"; };  
231 - 696AD0A2FD8EAD1C1AD0CBCE4FAF2CFE /* Pods-ParentAssistant.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ParentAssistant.release.xcconfig"; sourceTree = "<group>"; };  
232 - 69A1474C3B39F2766E17D5E986933EB5 /* Alamofire-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Alamofire-umbrella.h"; sourceTree = "<group>"; };  
233 - 6B21942FBE159527EB1D0AF00F186213 /* SVProgressHUD.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SVProgressHUD.xcconfig; sourceTree = "<group>"; };  
234 - 6C2395AAE8DDF87EF2CDD5D29211D89A /* Alamofire.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = Alamofire.modulemap; sourceTree = "<group>"; };  
235 - 6E3AD0ED0E4F4D6622F66C870ACAFFF7 /* SVProgressHUD.bundle */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "wrapper.plug-in"; name = SVProgressHUD.bundle; path = SVProgressHUD/SVProgressHUD.bundle; sourceTree = "<group>"; };  
236 - 7A6CCAEC1ECBE477223AEFED858D0220 /* SwiftHash-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SwiftHash-dummy.m"; sourceTree = "<group>"; };  
237 - 7D11D36568090A022DD3F6835C6C69FA /* XRCarouselView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = XRCarouselView.h; path = XRCarouselView/XRCarouselView.h; sourceTree = "<group>"; };  
238 - 7F7C8124A3C5FB69E1577CA239363E72 /* libaacplus.a */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = archive.ar; name = libaacplus.a; path = NIMSDK/Libs/libaacplus.a; sourceTree = "<group>"; };  
239 - 7F864C4D0FF679D371E41C649FFA1116 /* SDWebImage-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SDWebImage-prefix.pch"; sourceTree = "<group>"; };  
240 - 823E373C9E1DF801CAF18F07B702CE58 /* DZNEmptyDataSet-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DZNEmptyDataSet-prefix.pch"; sourceTree = "<group>"; };  
241 - 82EA4C43CB0330D7597A7EC7C14DDA06 /* UIImage+GIF.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+GIF.h"; path = "SDWebImage/UIImage+GIF.h"; sourceTree = "<group>"; };  
242 - 832F8842DD7AD56024ADF50860D248DD /* DZNEmptyDataSet.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = DZNEmptyDataSet.xcconfig; sourceTree = "<group>"; };  
243 - 84670A87CCA67437A39C22AA9283BD91 /* SDWebImage.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SDWebImage.xcconfig; sourceTree = "<group>"; };  
244 - 84962E4034B194F5248A3F8BA9405E80 /* SDWebImage.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = SDWebImage.framework; path = SDWebImage.framework; sourceTree = BUILT_PRODUCTS_DIR; };  
245 - 853A378EDB52FDEA0832CD66C0C29503 /* Alamofire-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Alamofire-prefix.pch"; sourceTree = "<group>"; };  
246 - 8B5F0D69498C1F5859BF2C17B56867FB /* XRCarouselView.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = XRCarouselView.modulemap; sourceTree = "<group>"; };  
247 - 8CCDB7FC335DFD48FD4C80AC3FA68F61 /* Timeline.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Timeline.swift; path = Source/Timeline.swift; sourceTree = "<group>"; };  
248 - 8D482FB1B64F4B26658DBEE3BADB7FB5 /* DZNEmptyDataSet.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = DZNEmptyDataSet.modulemap; sourceTree = "<group>"; };  
249 - 8D5ECF9767E0DE930DB442E5B0C8654B /* ResponseSerialization.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ResponseSerialization.swift; path = Source/ResponseSerialization.swift; sourceTree = "<group>"; };  
250 - 8DE1A0CE0E1BB3F08D5A914FF091692D /* Pods-ParentAssistant-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-ParentAssistant-umbrella.h"; sourceTree = "<group>"; };  
251 - 91F8A62C7241C32CA58D0A9995BC8D8C /* Pods-ParentAssistant-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-ParentAssistant-dummy.m"; sourceTree = "<group>"; };  
252 - 9207677A8967B6C074ADCA740BE816DD /* Toast.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Toast.framework; path = Toast.framework; sourceTree = BUILT_PRODUCTS_DIR; };  
253 - 9308B2D0BFEB8F47D93552968D78B8A9 /* SVProgressAnimatedView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SVProgressAnimatedView.m; path = SVProgressHUD/SVProgressAnimatedView.m; sourceTree = "<group>"; }; 285 + 5B56491AFD4EC6985EBCCEF221A0FCB8 /* SwiftHash-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SwiftHash-prefix.pch"; sourceTree = "<group>"; };
  286 + 5C3FCED1EF014BDAA42DACC871E2516A /* Reachability.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Reachability.framework; path = Reachability.framework; sourceTree = BUILT_PRODUCTS_DIR; };
  287 + 5C73B5BC3B66F99610607951FEC5FCB3 /* EnumType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EnumType.swift; path = Source/EnumType.swift; sourceTree = "<group>"; };
  288 + 5DCF2929ACA53CE3D9FD6342DF5F8D9D /* libaacplus.a */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = archive.ar; name = libaacplus.a; path = NIMSDK/Libs/libaacplus.a; sourceTree = "<group>"; };
  289 + 5F6392C48C4C9A3D7130A57D84AFEE2B /* DZNEmptyDataSet-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "DZNEmptyDataSet-dummy.m"; sourceTree = "<group>"; };
  290 + 60794CE8C2369C4AA061EE9A931DDFED /* XRCarouselView-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "XRCarouselView-prefix.pch"; sourceTree = "<group>"; };
  291 + 640ED88831DE9CA10759B8FC3751C531 /* ServerTrustPolicy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ServerTrustPolicy.swift; path = Source/ServerTrustPolicy.swift; sourceTree = "<group>"; };
  292 + 64CF5A867496880A0DAE25ED9EC8E512 /* CustomDateFormatTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CustomDateFormatTransform.swift; path = Source/CustomDateFormatTransform.swift; sourceTree = "<group>"; };
  293 + 65DEF3C169B8F1241E74C3D5C7DA5A6D /* SVProgressHUD.bundle */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "wrapper.plug-in"; name = SVProgressHUD.bundle; path = SVProgressHUD/SVProgressHUD.bundle; sourceTree = "<group>"; };
  294 + 6768B1FE2E118D79D8A1613520B9BB23 /* SVIndefiniteAnimatedView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SVIndefiniteAnimatedView.h; path = SVProgressHUD/SVIndefiniteAnimatedView.h; sourceTree = "<group>"; };
  295 + 6850886B55CE3CD9B901B28690292C5C /* SDWebImagePrefetcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImagePrefetcher.m; path = SDWebImage/SDWebImagePrefetcher.m; sourceTree = "<group>"; };
  296 + 6976D41DC0C992EA2F24C3A7358E958F /* BuiltInBridgeType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BuiltInBridgeType.swift; path = Source/BuiltInBridgeType.swift; sourceTree = "<group>"; };
  297 + 6B3D43CB0BDA34787F85B2C084FBB09A /* HandyJSON.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HandyJSON.h; path = Source/HandyJSON.h; sourceTree = "<group>"; };
  298 + 6D24FB404E9541910245BF3E68C5EE73 /* URLTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = URLTransform.swift; path = Source/URLTransform.swift; sourceTree = "<group>"; };
  299 + 6E2AA0C415512D5F3F34F7A99AA4D14A /* UIImageView+WebCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImageView+WebCache.m"; path = "SDWebImage/UIImageView+WebCache.m"; sourceTree = "<group>"; };
  300 + 6EB59F100C77215BCBB4FAD12F0FF358 /* Pods-ParentAssistant.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ParentAssistant.debug.xcconfig"; sourceTree = "<group>"; };
  301 + 6F37849A9F05E24161217B664F776F12 /* HandyJSON.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = HandyJSON.xcconfig; sourceTree = "<group>"; };
  302 + 72803D16FA054A0D26C303991C1F2B3C /* SVIndefiniteAnimatedView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SVIndefiniteAnimatedView.m; path = SVProgressHUD/SVIndefiniteAnimatedView.m; sourceTree = "<group>"; };
  303 + 72ADD4F0113F0555435EA10BA789F8E2 /* TransformOf.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TransformOf.swift; path = Source/TransformOf.swift; sourceTree = "<group>"; };
  304 + 73AD0FFA16B2C0B1B8A40B3A76629975 /* DZNEmptyDataSet-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DZNEmptyDataSet-umbrella.h"; sourceTree = "<group>"; };
  305 + 7437E1C250CA27898AA8815D1117643B /* XRCarouselView-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "XRCarouselView-dummy.m"; sourceTree = "<group>"; };
  306 + 77EFE064376F26AEED2B1971235A88EF /* Pods-ParentAssistant.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ParentAssistant.release.xcconfig"; sourceTree = "<group>"; };
  307 + 7C5CEE4C10F2E83011011BAE5999B4FD /* NominalType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NominalType.swift; path = Source/NominalType.swift; sourceTree = "<group>"; };
  308 + 7D9407543C44ABED0AC48154C76831BE /* Measuable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Measuable.swift; path = Source/Measuable.swift; sourceTree = "<group>"; };
  309 + 7DFB6D55866F4F62D8116993D42B55A8 /* ISO8601DateTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ISO8601DateTransform.swift; path = Source/ISO8601DateTransform.swift; sourceTree = "<group>"; };
  310 + 81D2AEE4F419083BF22474B240B3D9F6 /* PropertyInfo.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PropertyInfo.swift; path = Source/PropertyInfo.swift; sourceTree = "<group>"; };
  311 + 820C0B25502D820076E6945A9666E544 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
  312 + 82C441F9B75595B2F266E6AC40AD7D85 /* SDWebImageCompat.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageCompat.h; path = SDWebImage/SDWebImageCompat.h; sourceTree = "<group>"; };
  313 + 835B1DEC82F034C2C12DC0723F18F6E9 /* Toast-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Toast-umbrella.h"; sourceTree = "<group>"; };
  314 + 85EBECC44FA24EC40748D3CB399DD1F3 /* Toast-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Toast-dummy.m"; sourceTree = "<group>"; };
  315 + 871C0D1C45FD62FE7B82D8E083C00466 /* SDWebImage-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SDWebImage-prefix.pch"; sourceTree = "<group>"; };
  316 + 87691736C308811895AF6EB052ECD8BE /* DZNEmptyDataSet-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DZNEmptyDataSet-prefix.pch"; sourceTree = "<group>"; };
  317 + 8781B0306B0188AF528659F413E1B542 /* Response.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Response.swift; path = Source/Response.swift; sourceTree = "<group>"; };
  318 + 87D16ABF7E5F8A01191A86657C5C16BA /* XRCarouselView.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = XRCarouselView.xcconfig; sourceTree = "<group>"; };
  319 + 891E32DCEDF9E73C788DB01E69C7162C /* Pods-ParentAssistant-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-ParentAssistant-resources.sh"; sourceTree = "<group>"; };
  320 + 8A51BA19C89D5E62EDCF2DB9D9FA43E0 /* SDWebImageManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageManager.h; path = SDWebImage/SDWebImageManager.h; sourceTree = "<group>"; };
  321 + 8CDA4E6BD46E857912EC5B5F99364A24 /* SwiftHash.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SwiftHash.modulemap; sourceTree = "<group>"; };
  322 + 8D2C5397761E61B24600821547A409CD /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
  323 + 9011EFC1DA29BE6CA0831595062B82ED /* UIImageView+HighlightedWebCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImageView+HighlightedWebCache.h"; path = "SDWebImage/UIImageView+HighlightedWebCache.h"; sourceTree = "<group>"; };
  324 + 92331AB0F30415BE666C619D1A45513E /* Result.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Result.swift; path = Source/Result.swift; sourceTree = "<group>"; };
  325 + 931ED830C3B0B8852F1479DE61BA997E /* AnyExtensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnyExtensions.swift; path = Source/AnyExtensions.swift; sourceTree = "<group>"; };
  326 + 93251EC8BEF89E6A4FA758DA38A1E47A /* SVProgressHUD-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SVProgressHUD-umbrella.h"; sourceTree = "<group>"; };
254 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; 327 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
255 93ED65B5F47F5FEA00C9BC9D151B1D26 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/SystemConfiguration.framework; sourceTree = DEVELOPER_DIR; }; 328 93ED65B5F47F5FEA00C9BC9D151B1D26 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/SystemConfiguration.framework; sourceTree = DEVELOPER_DIR; };
256 - 949B16AD13972098A7E9515BECD12B07 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };  
257 - 96548887926CE0F889C96ABBA5D9E4E6 /* Pods_ParentAssistant.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_ParentAssistant.framework; path = "Pods-ParentAssistant.framework"; sourceTree = BUILT_PRODUCTS_DIR; };  
258 - 966714BC6CB45F265B89BBD42264D605 /* Reachability-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Reachability-dummy.m"; sourceTree = "<group>"; };  
259 - 96F5CD3DDADCBA20C43F86C45281E98A /* UIImageView+WebCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImageView+WebCache.m"; path = "SDWebImage/UIImageView+WebCache.m"; sourceTree = "<group>"; };  
260 - 97915E2218908AAF45A7A295511D7ED1 /* TaskDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TaskDelegate.swift; path = Source/TaskDelegate.swift; sourceTree = "<group>"; };  
261 - 97A0541CBA8AB2E3C3D639FB4D4F7C30 /* SwiftHash.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = SwiftHash.framework; path = SwiftHash.framework; sourceTree = BUILT_PRODUCTS_DIR; };  
262 - 9AFF14D09B2FE9228B53AE5A41F135CD /* UIImageView+HighlightedWebCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImageView+HighlightedWebCache.m"; path = "SDWebImage/UIImageView+HighlightedWebCache.m"; sourceTree = "<group>"; };  
263 - 9BF2DB879FECD47A547242EE9648EA5D /* libssl.a */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = archive.ar; name = libssl.a; path = NIMSDK/Libs/libssl.a; sourceTree = "<group>"; };  
264 - 9F52BD5E0388C810B3A6F1C4F9269F41 /* UIScrollView+EmptyDataSet.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIScrollView+EmptyDataSet.m"; path = "Source/UIScrollView+EmptyDataSet.m"; sourceTree = "<group>"; };  
265 - A3BF0C8FBEA34836F39B7B05178E99A0 /* Request.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Request.swift; path = Source/Request.swift; sourceTree = "<group>"; };  
266 - A3EB6FCDBE4F5542C774BB99AD118E11 /* SVProgressHUD.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = SVProgressHUD.framework; path = SVProgressHUD.framework; sourceTree = BUILT_PRODUCTS_DIR; };  
267 - A3F3486441B797B49AF7E21644585044 /* SHA1.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SHA1.swift; path = Sources/SHA1.swift; sourceTree = "<group>"; };  
268 - A4284179411380CDBB6CBA4C12CC2EC1 /* SVProgressHUD.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SVProgressHUD.h; path = SVProgressHUD/SVProgressHUD.h; sourceTree = "<group>"; };  
269 - A4BC4E64237EB25000D5D76588DDA155 /* XRPlaceholder.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = XRPlaceholder.png; path = XRCarouselView/XRPlaceholder.png; sourceTree = "<group>"; };  
270 - A714B9425F511B82B9A3122631CA6373 /* DZNEmptyDataSet-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DZNEmptyDataSet-umbrella.h"; sourceTree = "<group>"; };  
271 - AA45B71A66CE0CFB5F154FE85DCBD0A8 /* AFError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AFError.swift; path = Source/AFError.swift; sourceTree = "<group>"; };  
272 - AAF088CE77A538A96EE53A7EAE65C819 /* ParameterEncoding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ParameterEncoding.swift; path = Source/ParameterEncoding.swift; sourceTree = "<group>"; };  
273 - AB4B2786F6FA607B4DEE59D08AF66F41 /* Pods-ParentAssistant-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-ParentAssistant-frameworks.sh"; sourceTree = "<group>"; };  
274 - AD007382BBB5211053D42BA6D9B1B60B /* libevent.a */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = archive.ar; name = libevent.a; path = NIMSDK/Libs/libevent.a; sourceTree = "<group>"; };  
275 - B0CD149E4B768603919225D913E5623E /* UIImage+MultiFormat.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+MultiFormat.h"; path = "SDWebImage/UIImage+MultiFormat.h"; sourceTree = "<group>"; };  
276 - B0D604D5F7372E685834966AFDDE389A /* UMCommon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = UMCommon.framework; sourceTree = "<group>"; };  
277 - B6EAADE73C594EB99F85F1F1A5CEBCDD /* SDWebImageDownloader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageDownloader.m; path = SDWebImage/SDWebImageDownloader.m; sourceTree = "<group>"; };  
278 - B740DD3269C25DB27176BA8A1FFE205F /* Reachability.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = Reachability.m; sourceTree = "<group>"; };  
279 - B8713380D331B1D052F691C2926D0B73 /* Validation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Validation.swift; path = Source/Validation.swift; sourceTree = "<group>"; }; 329 + 9889E5067E9A54BAEC05298BBA10F671 /* HelpingMapper.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HelpingMapper.swift; path = Source/HelpingMapper.swift; sourceTree = "<group>"; };
  330 + 99DF7E55400E9131640E0694D3C91764 /* MultipartFormData.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MultipartFormData.swift; path = Source/MultipartFormData.swift; sourceTree = "<group>"; };
  331 + 9A4D6703A8771BB168130EFB6EAC1C3E /* SHA1.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SHA1.swift; path = Sources/SHA1.swift; sourceTree = "<group>"; };
  332 + 9A559DCF61F2E184BC9318C05F05CFF3 /* SDWebImageDownloader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageDownloader.h; path = SDWebImage/SDWebImageDownloader.h; sourceTree = "<group>"; };
  333 + 9AEE056145338863D7A727ACF1C3657C /* MD5.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MD5.swift; path = Sources/MD5.swift; sourceTree = "<group>"; };
  334 + 9F2BF6E468482ED7EDAE9AFD6CA2C994 /* SwiftHash-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SwiftHash-umbrella.h"; sourceTree = "<group>"; };
  335 + A48FF17CB17A07E2B4AEC609B9947C52 /* libevent.a */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = archive.ar; name = libevent.a; path = NIMSDK/Libs/libevent.a; sourceTree = "<group>"; };
  336 + A59A469B0852E07D2428D72E4C62B1E7 /* Toast.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Toast.framework; path = Toast.framework; sourceTree = BUILT_PRODUCTS_DIR; };
  337 + A91D08749C812CD6EB281780E69AFED6 /* XRCarouselView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = XRCarouselView.m; path = XRCarouselView/XRCarouselView.m; sourceTree = "<group>"; };
  338 + AC7C53CF4231A641CE59A3CD5991C5C1 /* SDWebImage.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SDWebImage.xcconfig; sourceTree = "<group>"; };
  339 + AE8B2524C105710A1C75E5F3C734796F /* SVRadialGradientLayer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SVRadialGradientLayer.m; path = SVProgressHUD/SVRadialGradientLayer.m; sourceTree = "<group>"; };
  340 + B0A49BF64844554AA6BC0B49FD9A9BE8 /* DateTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DateTransform.swift; path = Source/DateTransform.swift; sourceTree = "<group>"; };
  341 + B4C40BE5E03351505F3B0830F40CFA9E /* libssl.a */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = archive.ar; name = libssl.a; path = NIMSDK/Libs/libssl.a; sourceTree = "<group>"; };
  342 + B4EC3094994043023CF3002A63DD6DA4 /* DateFormatterTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DateFormatterTransform.swift; path = Source/DateFormatterTransform.swift; sourceTree = "<group>"; };
  343 + B507541260F671D342B11E7250120BBF /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
  344 + B6554BE7D86E2DF12BC2CFA630452CA0 /* SVProgressAnimatedView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SVProgressAnimatedView.h; path = SVProgressHUD/SVProgressAnimatedView.h; sourceTree = "<group>"; };
  345 + B71F8A62F3906657D17D418212E1CBA1 /* UIImage+GIF.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+GIF.m"; path = "SDWebImage/UIImage+GIF.m"; sourceTree = "<group>"; };
  346 + B88D8470A1A1E4F507B1E9895B074253 /* Pods_ParentAssistant.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_ParentAssistant.framework; path = "Pods-ParentAssistant.framework"; sourceTree = BUILT_PRODUCTS_DIR; };
  347 + B9A38D8C4EC4826AEDC2A52DD0187186 /* SDWebImageOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageOperation.h; path = SDWebImage/SDWebImageOperation.h; sourceTree = "<group>"; };
280 B9B732FC24A0EC5E46E41D939F4A1130 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; }; 348 B9B732FC24A0EC5E46E41D939F4A1130 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; };
281 - BA2B601AA9C42D6B8AE96BE8321E5D6C /* NSData+ImageContentType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSData+ImageContentType.h"; path = "SDWebImage/NSData+ImageContentType.h"; sourceTree = "<group>"; };  
282 - BCC76567504E581A486841D6937AB40E /* NIMSDK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = NIMSDK.framework; path = NIMSDK/NIMSDK.framework; sourceTree = "<group>"; };  
283 - BFA4BD9F7E363414E27BBE0D8C34DA0E /* Pods-ParentAssistant-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-ParentAssistant-acknowledgements.markdown"; sourceTree = "<group>"; };  
284 - BFD6362AE55791FAF76B6B3156C34632 /* Pods-ParentAssistant.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ParentAssistant.debug.xcconfig"; sourceTree = "<group>"; };  
285 - C0F377612A6D5FC9481923FECF0ABDCB /* SwiftHash-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SwiftHash-prefix.pch"; sourceTree = "<group>"; };  
286 - C40675EC2CFD9D7D3E3D39FCE5F86D94 /* SDWebImageDownloader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageDownloader.h; path = SDWebImage/SDWebImageDownloader.h; sourceTree = "<group>"; };  
287 - C6E85B189005269F9658DBF04ABDDB3B /* SDWebImage-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SDWebImage-umbrella.h"; sourceTree = "<group>"; };  
288 - C8272080CA749FC34059ED2BAEA321D6 /* SVProgressHUD-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SVProgressHUD-prefix.pch"; sourceTree = "<group>"; };  
289 - C8C938155886EBE25255B3922289A5FC /* UMAnalytics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = UMAnalytics.framework; sourceTree = "<group>"; };  
290 - C91D5E4DB4F7F5965CA718D504EAD33D /* libcrypto.a */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = archive.ar; name = libcrypto.a; path = NIMSDK/Libs/libcrypto.a; sourceTree = "<group>"; };  
291 - C926E16FF286A7F032D0AB63AAFDCDD3 /* SVIndefiniteAnimatedView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SVIndefiniteAnimatedView.h; path = SVProgressHUD/SVIndefiniteAnimatedView.h; sourceTree = "<group>"; };  
292 - C945AFDE3ADE2B40E1665B379B679BEF /* XRCarouselView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = XRCarouselView.m; path = XRCarouselView/XRCarouselView.m; sourceTree = "<group>"; };  
293 - CAC6652AB60C9B58E90EC948DC506CFE /* XRCarouselView.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = XRCarouselView.framework; path = XRCarouselView.framework; sourceTree = BUILT_PRODUCTS_DIR; };  
294 - CEE55910941CC3DB174AE3ED4406AB97 /* SessionDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SessionDelegate.swift; path = Source/SessionDelegate.swift; sourceTree = "<group>"; };  
295 - CFD037A4D376020E2CAD65E1F7FECCB7 /* UIImageView+HighlightedWebCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImageView+HighlightedWebCache.h"; path = "SDWebImage/UIImageView+HighlightedWebCache.h"; sourceTree = "<group>"; };  
296 - D0B50DAE192A6B3640694B61BEA27967 /* Result.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Result.swift; path = Source/Result.swift; sourceTree = "<group>"; };  
297 - D2D134E6EA3014C73775F1A699A2BA42 /* SDWebImageCompat.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageCompat.h; path = SDWebImage/SDWebImageCompat.h; sourceTree = "<group>"; };  
298 - D38B286C5C6AB0DF4A98EEA7B4AEDF20 /* NetworkReachabilityManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NetworkReachabilityManager.swift; path = Source/NetworkReachabilityManager.swift; sourceTree = "<group>"; };  
299 - D3E2A6B7148FF5DAE9D54A452036AA3C /* DispatchQueue+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "DispatchQueue+Alamofire.swift"; path = "Source/DispatchQueue+Alamofire.swift"; sourceTree = "<group>"; };  
300 - D74BA5E95BF76C0B32981308D5F456D2 /* Reachability.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Reachability.xcconfig; sourceTree = "<group>"; };  
301 - D7DAF83037D7D201AB9346520A2726A5 /* UIScrollView+EmptyDataSet.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIScrollView+EmptyDataSet.h"; path = "Source/UIScrollView+EmptyDataSet.h"; sourceTree = "<group>"; };  
302 - D850185D33147B30679613890381B01F /* UTDID.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UTDID.framework; path = thirdparties/UTDID.framework; sourceTree = "<group>"; };  
303 - D8CB6D7AEEACE31A7B665F5C5BE3DBEF /* UIButton+WebCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIButton+WebCache.h"; path = "SDWebImage/UIButton+WebCache.h"; sourceTree = "<group>"; };  
304 - DE03BDB2C3EB8E596243F3FB6F59217C /* MD5.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MD5.swift; path = Sources/MD5.swift; sourceTree = "<group>"; };  
305 - DEEEBBC02918A14BA4253C35D926FDEC /* SVProgressHUD.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SVProgressHUD.m; path = SVProgressHUD/SVProgressHUD.m; sourceTree = "<group>"; };  
306 - E49267BBEEB33D990D1CCA32DB1092BB /* Reachability.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Reachability.framework; path = Reachability.framework; sourceTree = BUILT_PRODUCTS_DIR; };  
307 - E4C906F36DAA1F52BC4CB049D6F2BD4F /* SDWebImageCompat.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageCompat.m; path = SDWebImage/SDWebImageCompat.m; sourceTree = "<group>"; };  
308 - E69012EFA9917EA02DD59B11574B0B26 /* SessionManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SessionManager.swift; path = Source/SessionManager.swift; sourceTree = "<group>"; }; 349 + BB2B3251E63EE34530FC8A40E441CB23 /* Alamofire-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Alamofire-dummy.m"; sourceTree = "<group>"; };
  350 + BB7CE29DC4FFF250766240EA8DA973D1 /* UIImageView+HighlightedWebCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImageView+HighlightedWebCache.m"; path = "SDWebImage/UIImageView+HighlightedWebCache.m"; sourceTree = "<group>"; };
  351 + BC3C517CD17DEB98E878268901D654E8 /* Metadata.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Metadata.swift; path = Source/Metadata.swift; sourceTree = "<group>"; };
  352 + BCCC1A6E4AF8DAF6E5609D65548B3C79 /* NetworkReachabilityManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NetworkReachabilityManager.swift; path = Source/NetworkReachabilityManager.swift; sourceTree = "<group>"; };
  353 + BCECD0FF1E6F7E48270234DAF00B07B7 /* Pods-ParentAssistant-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-ParentAssistant-acknowledgements.markdown"; sourceTree = "<group>"; };
  354 + BE70BDE392E6E92B76047D2DED4ED380 /* UIButton+WebCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIButton+WebCache.m"; path = "SDWebImage/UIButton+WebCache.m"; sourceTree = "<group>"; };
  355 + BE846687076AD4570ACE89EC260747A1 /* UMErrorCatch.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = UMErrorCatch.framework; sourceTree = "<group>"; };
  356 + BF1709B1277BE62B09381A0534563DE2 /* SwiftHash.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SwiftHash.xcconfig; sourceTree = "<group>"; };
  357 + BF496B88C6E68626DC9D0C9FC152BD3C /* Alamofire-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Alamofire-umbrella.h"; sourceTree = "<group>"; };
  358 + BFD387D9E3BDF322939523D4DF31CA79 /* TaskDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TaskDelegate.swift; path = Source/TaskDelegate.swift; sourceTree = "<group>"; };
  359 + C03FC1A11EE20AB8B6A4B398E11B26B0 /* UIButton+WebCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIButton+WebCache.h"; path = "SDWebImage/UIButton+WebCache.h"; sourceTree = "<group>"; };
  360 + C203E9ABEF394B0009B142EEB9AA64FC /* NSData+ImageContentType.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSData+ImageContentType.m"; path = "SDWebImage/NSData+ImageContentType.m"; sourceTree = "<group>"; };
  361 + C33C9063E8CA60D73EE6050FCF59F433 /* Export.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Export.swift; path = Source/Export.swift; sourceTree = "<group>"; };
  362 + C62416D612C6BD82B2867F75585C4C56 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
  363 + CC9B184B04C60B80BBEF83595DBE8AF4 /* XRCarouselView.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = XRCarouselView.modulemap; sourceTree = "<group>"; };
  364 + CE1C92985D9321104698E3AFAF68594E /* SDWebImage.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = SDWebImage.framework; path = SDWebImage.framework; sourceTree = BUILT_PRODUCTS_DIR; };
  365 + CEA07E2E477768269A8D0BECE492EBAF /* Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Alamofire.swift; path = Source/Alamofire.swift; sourceTree = "<group>"; };
  366 + CF9CDCEBD5D016D3F349D31FFDAEA20A /* NIMSDK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = NIMSDK.framework; path = NIMSDK/NIMSDK.framework; sourceTree = "<group>"; };
  367 + D124D84D327A6ADF3D01C95E84C09A31 /* UMAnalytics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = UMAnalytics.framework; sourceTree = "<group>"; };
  368 + D912920D1BEEB7757AF4BE74E2EC8FA6 /* SDWebImage.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SDWebImage.modulemap; sourceTree = "<group>"; };
  369 + D9ED9DA2E61F2A4DD7E760C61C47A3F1 /* Timeline.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Timeline.swift; path = Source/Timeline.swift; sourceTree = "<group>"; };
  370 + DB5FF7B561F6F548C82F1FC27FDD72E8 /* NSData+ImageContentType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSData+ImageContentType.h"; path = "SDWebImage/NSData+ImageContentType.h"; sourceTree = "<group>"; };
  371 + DBE314BE44865438F00A5054E414EF77 /* Toast.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Toast.modulemap; sourceTree = "<group>"; };
  372 + DD0E89B8C1439B9F5FDB39EA0232B3EA /* DZNEmptyDataSet.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = DZNEmptyDataSet.framework; path = DZNEmptyDataSet.framework; sourceTree = BUILT_PRODUCTS_DIR; };
  373 + DE3D895CEB8D8D9876BA0F9346FF9D69 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
  374 + DE92E07FF56795D096246F9059B540CA /* DataTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DataTransform.swift; path = Source/DataTransform.swift; sourceTree = "<group>"; };
  375 + DF68D7CB4183F99C38744F4985CD422D /* SDWebImageDecoder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageDecoder.m; path = SDWebImage/SDWebImageDecoder.m; sourceTree = "<group>"; };
  376 + DF826B20D920C607DF652F2F3EA4C2F8 /* UMCommon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = UMCommon.framework; sourceTree = "<group>"; };
  377 + E058896CA0DFFEF3CCEFAD6FEBA0DB11 /* UTDID.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UTDID.framework; path = thirdparties/UTDID.framework; sourceTree = "<group>"; };
  378 + E1CD65D31F6DC7B830E7132E6B396C30 /* Pods-ParentAssistant-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-ParentAssistant-acknowledgements.plist"; sourceTree = "<group>"; };
  379 + E3370B03674C70DABFF75D9D2BA95DCE /* UIImage+GIF.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+GIF.h"; path = "SDWebImage/UIImage+GIF.h"; sourceTree = "<group>"; };
  380 + E33C2A8A35CA23130F27CFEC0285B7DB /* SDWebImagePrefetcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImagePrefetcher.h; path = SDWebImage/SDWebImagePrefetcher.h; sourceTree = "<group>"; };
  381 + E4E76CB8696BAB20A617484E4726713B /* Transformable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Transformable.swift; path = Source/Transformable.swift; sourceTree = "<group>"; };
  382 + E533F265C56324D6F57EB232221F586A /* UIView+Toast.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIView+Toast.m"; path = "Toast/Toast/UIView+Toast.m"; sourceTree = "<group>"; };
  383 + E786E1AEE51D914333543AC4DEF9B3FB /* SDWebImage-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SDWebImage-umbrella.h"; sourceTree = "<group>"; };
309 E81ABC082107E519C9718F3CCEA03977 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; 384 E81ABC082107E519C9718F3CCEA03977 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; };
310 - EDF6D30846728EC3FC632BEE2717B854 /* DZNEmptyDataSet-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "DZNEmptyDataSet-dummy.m"; sourceTree = "<group>"; };  
311 - EEE5810B54BF020658D7EC89FCA21910 /* Alamofire-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Alamofire-dummy.m"; sourceTree = "<group>"; };  
312 - F0A8D9944EB1FF44C20B9A0C78A8DAAD /* SDWebImage-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SDWebImage-dummy.m"; sourceTree = "<group>"; };  
313 - F39E00016168D1792023A12BC344B8BC /* SDImageCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageCache.h; path = SDWebImage/SDImageCache.h; sourceTree = "<group>"; };  
314 - F5355239148E97AE84932EC31D9FEE81 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };  
315 - F881111ED96D14E27A9A91E9C8C48275 /* SDWebImagePrefetcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImagePrefetcher.m; path = SDWebImage/SDWebImagePrefetcher.m; sourceTree = "<group>"; };  
316 - F8C7EAD1A973006F196503FDC20AA965 /* Pods-ParentAssistant-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-ParentAssistant-resources.sh"; sourceTree = "<group>"; };  
317 - FA2BB5CBAA58FB62AFBC392717B28457 /* UIImage+MultiFormat.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+MultiFormat.m"; path = "SDWebImage/UIImage+MultiFormat.m"; sourceTree = "<group>"; };  
318 - FC64335EAD5D5808C3A136A86895FF1C /* Pods-ParentAssistant.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = "Pods-ParentAssistant.modulemap"; sourceTree = "<group>"; }; 385 + E9462CA128209C32EE6E6647C88609D1 /* OtherExtension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = OtherExtension.swift; path = Source/OtherExtension.swift; sourceTree = "<group>"; };
  386 + E95345A11FCCED373B3A5758A6073CDB /* Validation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Validation.swift; path = Source/Validation.swift; sourceTree = "<group>"; };
  387 + E956F54FF76DE5D347505F3AF7694F03 /* Alamofire.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Alamofire.framework; path = Alamofire.framework; sourceTree = BUILT_PRODUCTS_DIR; };
  388 + EA6D07581B965169F4C036A600CF86BB /* Alamofire.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Alamofire.xcconfig; sourceTree = "<group>"; };
  389 + F33461E2C03CDF90E02052B76ADADB01 /* TransformType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TransformType.swift; path = Source/TransformType.swift; sourceTree = "<group>"; };
  390 + F638493F2C879E2AF820AE53EA390269 /* UIView+WebCacheOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIView+WebCacheOperation.h"; path = "SDWebImage/UIView+WebCacheOperation.h"; sourceTree = "<group>"; };
  391 + F6429920CDFD8D08A5A0566565673330 /* DispatchQueue+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "DispatchQueue+Alamofire.swift"; path = "Source/DispatchQueue+Alamofire.swift"; sourceTree = "<group>"; };
  392 + F6BAADF2798AA6F62DA82FAA92DECB07 /* Pods-ParentAssistant-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-ParentAssistant-dummy.m"; sourceTree = "<group>"; };
  393 + F6C063D5E492D3ED69858D446C30719E /* UIImage+MultiFormat.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+MultiFormat.h"; path = "SDWebImage/UIImage+MultiFormat.h"; sourceTree = "<group>"; };
  394 + F948022D8D1EFEF734A07E6ED4D6CAF9 /* BuiltInBasicType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BuiltInBasicType.swift; path = Source/BuiltInBasicType.swift; sourceTree = "<group>"; };
  395 + FBC74E5E6FF8BCD3F240C1F0C8B9B427 /* DZNEmptyDataSet.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = DZNEmptyDataSet.modulemap; sourceTree = "<group>"; };
  396 + FC9D90B14CC51CAAC698C0623AB16C70 /* SecurityEnvSDK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SecurityEnvSDK.framework; path = thirdparties/SecurityEnvSDK.framework; sourceTree = "<group>"; };
  397 + FD2B11D4DCD30BDBA06841569E01E1BD /* HandyJSON-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "HandyJSON-dummy.m"; sourceTree = "<group>"; };
  398 + FF65E4A0D399571B01517891F0309004 /* SDWebImage-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SDWebImage-dummy.m"; sourceTree = "<group>"; };
  399 + FF928773E158E70CF5C2B45EA69A4223 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
  400 + FFCF8A6062658FA349B617C0D75723C2 /* SDWebImageManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageManager.m; path = SDWebImage/SDWebImageManager.m; sourceTree = "<group>"; };
  401 + FFEBBEC7D2ED4C631DFB3CBB04E6F926 /* XRPlaceholder.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = XRPlaceholder.png; path = XRCarouselView/XRPlaceholder.png; sourceTree = "<group>"; };
319 /* End PBXFileReference section */ 402 /* End PBXFileReference section */
320 403
321 /* Begin PBXFrameworksBuildPhase section */ 404 /* Begin PBXFrameworksBuildPhase section */
322 - 107EA7F8B01FBCE0D04F28255869D12A /* Frameworks */ = { 405 + 158EE653FB0E0E7AF979010BC3A73E13 /* Frameworks */ = {
323 isa = PBXFrameworksBuildPhase; 406 isa = PBXFrameworksBuildPhase;
324 buildActionMask = 2147483647; 407 buildActionMask = 2147483647;
325 files = ( 408 files = (
326 - 05DC121915D9BD7F7D11FE4C4651FC59 /* Foundation.framework in Frameworks */, 409 + 952429322A476D5508670C477DE23669 /* Foundation.framework in Frameworks */,
327 ); 410 );
328 runOnlyForDeploymentPostprocessing = 0; 411 runOnlyForDeploymentPostprocessing = 0;
329 }; 412 };
330 - 32218FC177E4F2A3866248C60E699AD7 /* Frameworks */ = { 413 + 25507DD6D7F1D774CD72F194200A6D77 /* Frameworks */ = {
331 isa = PBXFrameworksBuildPhase; 414 isa = PBXFrameworksBuildPhase;
332 buildActionMask = 2147483647; 415 buildActionMask = 2147483647;
333 files = ( 416 files = (
334 - E13F179231DAC1A6068B8B82ACC14EA0 /* Foundation.framework in Frameworks */,  
335 - BB4706D78AC0D446F7022C66985E1253 /* SystemConfiguration.framework in Frameworks */, 417 + 23C92743D0D2154080836B58896172C9 /* Foundation.framework in Frameworks */,
336 ); 418 );
337 runOnlyForDeploymentPostprocessing = 0; 419 runOnlyForDeploymentPostprocessing = 0;
338 }; 420 };
339 - 59E0885EF9D269547F22DB9E026FB793 /* Frameworks */ = { 421 + 2FCA03AB4708FF069C969DAC4ED689A3 /* Frameworks */ = {
340 isa = PBXFrameworksBuildPhase; 422 isa = PBXFrameworksBuildPhase;
341 buildActionMask = 2147483647; 423 buildActionMask = 2147483647;
342 files = ( 424 files = (
343 - C577B322B52228B272D52FF32B7BE30C /* Foundation.framework in Frameworks */,  
344 - 8E31EF89BD192C6AACDE9E0655861D3D /* UIKit.framework in Frameworks */, 425 + 01866720BD41E2820300D8B9284FC061 /* Foundation.framework in Frameworks */,
345 ); 426 );
346 runOnlyForDeploymentPostprocessing = 0; 427 runOnlyForDeploymentPostprocessing = 0;
347 }; 428 };
348 - 68E86B09CD2A2D450668D8C52BF3A647 /* Frameworks */ = { 429 + 46A2C828E74BB80E0DE22F9A57D702B2 /* Frameworks */ = {
349 isa = PBXFrameworksBuildPhase; 430 isa = PBXFrameworksBuildPhase;
350 buildActionMask = 2147483647; 431 buildActionMask = 2147483647;
351 files = ( 432 files = (
352 - E8DAE6CA0B236532ECA6D44CE2B8D87D /* Foundation.framework in Frameworks */,  
353 - 606C3BAD569CD52EB453BDE439971E61 /* QuartzCore.framework in Frameworks */, 433 + C98D39690CC370401444D498206BCA2B /* Foundation.framework in Frameworks */,
  434 + 1A3841F2F008E6FEBA8B10F04DE5AD15 /* QuartzCore.framework in Frameworks */,
354 ); 435 );
355 runOnlyForDeploymentPostprocessing = 0; 436 runOnlyForDeploymentPostprocessing = 0;
356 }; 437 };
357 - 6C5F920EE9CA1FAD466148402D8E2ECC /* Frameworks */ = { 438 + 59E0885EF9D269547F22DB9E026FB793 /* Frameworks */ = {
358 isa = PBXFrameworksBuildPhase; 439 isa = PBXFrameworksBuildPhase;
359 buildActionMask = 2147483647; 440 buildActionMask = 2147483647;
360 files = ( 441 files = (
361 - 21D1ADA45562D9B49E0B86BC0AD9B024 /* Foundation.framework in Frameworks */, 442 + C577B322B52228B272D52FF32B7BE30C /* Foundation.framework in Frameworks */,
  443 + 8E31EF89BD192C6AACDE9E0655861D3D /* UIKit.framework in Frameworks */,
362 ); 444 );
363 runOnlyForDeploymentPostprocessing = 0; 445 runOnlyForDeploymentPostprocessing = 0;
364 }; 446 };
365 - 7E7811DF5774E3C53F7D02BA94F0EBBD /* Frameworks */ = { 447 + 99195E4207764744AEC07ECCBCD550EB /* Frameworks */ = {
366 isa = PBXFrameworksBuildPhase; 448 isa = PBXFrameworksBuildPhase;
367 buildActionMask = 2147483647; 449 buildActionMask = 2147483647;
368 files = ( 450 files = (
369 - B7E9C6F6AE84988704B110AD4A0C9CA8 /* Foundation.framework in Frameworks */,  
370 - C38CBA7114C05F3FF045615FEE1D15B9 /* ImageIO.framework in Frameworks */, 451 + 73B9C996AED49ED7CF8EC2A6F1738059 /* Foundation.framework in Frameworks */,
371 ); 452 );
372 runOnlyForDeploymentPostprocessing = 0; 453 runOnlyForDeploymentPostprocessing = 0;
373 }; 454 };
374 - 8BC117D0FE1EF633F6330395F0847D00 /* Frameworks */ = { 455 + A115DC87278A31F6B371DA2C1AF9CD02 /* Frameworks */ = {
375 isa = PBXFrameworksBuildPhase; 456 isa = PBXFrameworksBuildPhase;
376 buildActionMask = 2147483647; 457 buildActionMask = 2147483647;
377 files = ( 458 files = (
378 - 36C804098901C14987AC99D9488B7818 /* Foundation.framework in Frameworks */,  
379 - ED0451E5FF57EB35F9D4C92E008A7750 /* QuartzCore.framework in Frameworks */, 459 + 7CE1363BFF8D96DD8059E0B5481A8D00 /* Foundation.framework in Frameworks */,
  460 + 121B576C5153736760EDBD385DCE1A82 /* QuartzCore.framework in Frameworks */,
380 ); 461 );
381 runOnlyForDeploymentPostprocessing = 0; 462 runOnlyForDeploymentPostprocessing = 0;
382 }; 463 };
383 - 916C804BC3435443B7462DE561167E4C /* Frameworks */ = { 464 + D871485AC7FB55A15B0AC2046B09D62B /* Frameworks */ = {
384 isa = PBXFrameworksBuildPhase; 465 isa = PBXFrameworksBuildPhase;
385 buildActionMask = 2147483647; 466 buildActionMask = 2147483647;
386 files = ( 467 files = (
387 - 10466C2E3B37F15A5BBA3B9E941FEDF2 /* Foundation.framework in Frameworks */, 468 + 502127E1D7BF9D8D8FA29AD2F7EF420E /* Foundation.framework in Frameworks */,
388 ); 469 );
389 runOnlyForDeploymentPostprocessing = 0; 470 runOnlyForDeploymentPostprocessing = 0;
390 }; 471 };
391 - 99195E4207764744AEC07ECCBCD550EB /* Frameworks */ = { 472 + E44680339038F2F0730AF783DAEFFCB6 /* Frameworks */ = {
392 isa = PBXFrameworksBuildPhase; 473 isa = PBXFrameworksBuildPhase;
393 buildActionMask = 2147483647; 474 buildActionMask = 2147483647;
394 files = ( 475 files = (
395 - 73B9C996AED49ED7CF8EC2A6F1738059 /* Foundation.framework in Frameworks */, 476 + 6BE097BD2C38D14E51B20BCEB5C6F495 /* Foundation.framework in Frameworks */,
  477 + B35D34D1C1A4B0A5FAD90526DE5D88A4 /* ImageIO.framework in Frameworks */,
  478 + );
  479 + runOnlyForDeploymentPostprocessing = 0;
  480 + };
  481 + EBA80D6B1394A46D45B033AB75657E91 /* Frameworks */ = {
  482 + isa = PBXFrameworksBuildPhase;
  483 + buildActionMask = 2147483647;
  484 + files = (
  485 + 9F24B341383F0FF8EA368B3A7F9BC087 /* Foundation.framework in Frameworks */,
  486 + EC3CC4DC8A5C9241AE7D9359EEAFC69F /* SystemConfiguration.framework in Frameworks */,
396 ); 487 );
397 runOnlyForDeploymentPostprocessing = 0; 488 runOnlyForDeploymentPostprocessing = 0;
398 }; 489 };
399 /* End PBXFrameworksBuildPhase section */ 490 /* End PBXFrameworksBuildPhase section */
400 491
401 /* Begin PBXGroup section */ 492 /* Begin PBXGroup section */
402 - 014D23A526D03D5D5063236F50AF720F /* Reachability */ = { 493 + 001E2CA6EA468C671F75E62723E01ABD /* Support Files */ = {
403 isa = PBXGroup; 494 isa = PBXGroup;
404 children = ( 495 children = (
405 - 0B6CA6D3D3167BE8720EE9756B8762E7 /* Reachability.h */,  
406 - B740DD3269C25DB27176BA8A1FFE205F /* Reachability.m */,  
407 - 941E74043B396F61F87CAF449C3BF757 /* Support Files */, 496 + FBC74E5E6FF8BCD3F240C1F0C8B9B427 /* DZNEmptyDataSet.modulemap */,
  497 + 328C2C3F0CBE7948196AEE1B0FA7B3F4 /* DZNEmptyDataSet.xcconfig */,
  498 + 5F6392C48C4C9A3D7130A57D84AFEE2B /* DZNEmptyDataSet-dummy.m */,
  499 + 87691736C308811895AF6EB052ECD8BE /* DZNEmptyDataSet-prefix.pch */,
  500 + 73AD0FFA16B2C0B1B8A40B3A76629975 /* DZNEmptyDataSet-umbrella.h */,
  501 + 02C19698DC383415660AD836A73862CF /* Info.plist */,
408 ); 502 );
409 - name = Reachability;  
410 - path = Reachability; 503 + name = "Support Files";
  504 + path = "../Target Support Files/DZNEmptyDataSet";
411 sourceTree = "<group>"; 505 sourceTree = "<group>";
412 }; 506 };
413 - 041346B6FC957C3B54EC9E9A2108F49E /* SwiftHash */ = { 507 + 035886489A99DD807583400603AB5019 /* Alamofire */ = {
414 isa = PBXGroup; 508 isa = PBXGroup;
415 children = ( 509 children = (
416 - DE03BDB2C3EB8E596243F3FB6F59217C /* MD5.swift */,  
417 - A3F3486441B797B49AF7E21644585044 /* SHA1.swift */,  
418 - 53592C32D5755FA0EBA2E2189BB0C240 /* Support Files */, 510 + 08E13F442024BE43D2F31AA6F2C300DA /* AFError.swift */,
  511 + CEA07E2E477768269A8D0BECE492EBAF /* Alamofire.swift */,
  512 + F6429920CDFD8D08A5A0566565673330 /* DispatchQueue+Alamofire.swift */,
  513 + 99DF7E55400E9131640E0694D3C91764 /* MultipartFormData.swift */,
  514 + BCCC1A6E4AF8DAF6E5609D65548B3C79 /* NetworkReachabilityManager.swift */,
  515 + 2F2F35AD7354793D357E10226DE37995 /* Notifications.swift */,
  516 + 14EC82B350F60C65CB156014F5997DCE /* ParameterEncoding.swift */,
  517 + 232E0E55F341C5600028F7AAA4F59E8A /* Request.swift */,
  518 + 8781B0306B0188AF528659F413E1B542 /* Response.swift */,
  519 + 39F3B60B0A2AD7975DA5BCA943FA6BD5 /* ResponseSerialization.swift */,
  520 + 92331AB0F30415BE666C619D1A45513E /* Result.swift */,
  521 + 640ED88831DE9CA10759B8FC3751C531 /* ServerTrustPolicy.swift */,
  522 + 2D3152CF39784BC2AAD4747AF03BB50A /* SessionDelegate.swift */,
  523 + 5104B9F40B6C55F71BDE788F76AA8F53 /* SessionManager.swift */,
  524 + BFD387D9E3BDF322939523D4DF31CA79 /* TaskDelegate.swift */,
  525 + D9ED9DA2E61F2A4DD7E760C61C47A3F1 /* Timeline.swift */,
  526 + E95345A11FCCED373B3A5758A6073CDB /* Validation.swift */,
  527 + A87864D22DE2007F4600F7C0E566D95C /* Support Files */,
419 ); 528 );
420 - name = SwiftHash;  
421 - path = SwiftHash; 529 + name = Alamofire;
  530 + path = Alamofire;
422 sourceTree = "<group>"; 531 sourceTree = "<group>";
423 }; 532 };
424 - 090BAC99083B0A0BEEBBA2D7A8CF5CFC /* Frameworks */ = { 533 + 0AFF261FC6409676B5FE2EA67480CAE4 /* UMCSecurityPlugins */ = {
425 isa = PBXGroup; 534 isa = PBXGroup;
426 children = ( 535 children = (
427 - 10ADDC363B0D209CE344723260F1796A /* SecurityEnvSDK.framework */,  
428 - D850185D33147B30679613890381B01F /* UTDID.framework */, 536 + 8FC2DD334C1E70C1C4C5C8F0FA196151 /* Frameworks */,
429 ); 537 );
430 - name = Frameworks; 538 + name = UMCSecurityPlugins;
  539 + path = UMCSecurityPlugins;
431 sourceTree = "<group>"; 540 sourceTree = "<group>";
432 }; 541 };
433 - 109916C8440FBFBDE58A23EF8C917A15 /* Pods */ = { 542 + 197A90DE72E89B51A1E8F89461EABB00 /* Frameworks */ = {
434 isa = PBXGroup; 543 isa = PBXGroup;
435 children = ( 544 children = (
436 - AC6A1AED5B21E47027582932E701C9B8 /* Alamofire */,  
437 - C281E31831358A46F6928CAE4586812D /* DZNEmptyDataSet */,  
438 - 4AAD33839581BD741A998ECC9FE2E5E5 /* NIMSDK_LITE */,  
439 - 014D23A526D03D5D5063236F50AF720F /* Reachability */,  
440 - 66C5D3E9F052CFD45F58AD57515141C5 /* SDWebImage */,  
441 - C51BBA93DF6D41810F4A63C7FC77A9CA /* SVProgressHUD */,  
442 - 041346B6FC957C3B54EC9E9A2108F49E /* SwiftHash */,  
443 - 82DBAF9917A633FC37DED1B6BBFAA166 /* Toast */,  
444 - 1446833262A16544EA51DC94B51E03F7 /* UMCAnalytics */,  
445 - 25DE6845848227BA015E41CCBD304065 /* UMCCommon */,  
446 - AD183997C52A18B21EDA14372F975903 /* UMCErrorCatch */,  
447 - FEBC741685A4D8D113677F5825EA098A /* UMCSecurityPlugins */,  
448 - AD3DB0C14AD65E32CA9E67A583FA5214 /* XRCarouselView */, 545 + 5DCF2929ACA53CE3D9FD6342DF5F8D9D /* libaacplus.a */,
  546 + 03475756EB49A978A9F331D44971B60B /* libcrypto.a */,
  547 + A48FF17CB17A07E2B4AEC609B9947C52 /* libevent.a */,
  548 + B4C40BE5E03351505F3B0830F40CFA9E /* libssl.a */,
  549 + CF9CDCEBD5D016D3F349D31FFDAEA20A /* NIMSDK.framework */,
449 ); 550 );
450 - name = Pods; 551 + name = Frameworks;
451 sourceTree = "<group>"; 552 sourceTree = "<group>";
452 }; 553 };
453 - 1111045D95E3B71F47B51D0D22DB1391 /* Frameworks */ = { 554 + 20B56609144CE204DFA8221F742B2D76 /* Frameworks */ = {
454 isa = PBXGroup; 555 isa = PBXGroup;
455 children = ( 556 children = (
456 - 7F7C8124A3C5FB69E1577CA239363E72 /* libaacplus.a */,  
457 - C91D5E4DB4F7F5965CA718D504EAD33D /* libcrypto.a */,  
458 - AD007382BBB5211053D42BA6D9B1B60B /* libevent.a */,  
459 - 9BF2DB879FECD47A547242EE9648EA5D /* libssl.a */,  
460 - BCC76567504E581A486841D6937AB40E /* NIMSDK.framework */, 557 + 287B6E205C5204939598639BF0799466 /* iOS */,
461 ); 558 );
462 name = Frameworks; 559 name = Frameworks;
463 sourceTree = "<group>"; 560 sourceTree = "<group>";
464 }; 561 };
465 - 11AEEDA1FBE6316A83A8F2267DFFF9D5 /* Frameworks */ = { 562 + 2113AB85D8791161623936EC0882CA20 /* Support Files */ = {
466 isa = PBXGroup; 563 isa = PBXGroup;
467 children = ( 564 children = (
468 - 2752B2AE6C1700B3C4035EB9B3F3C828 /* UMErrorCatch.framework */, 565 + 8D2C5397761E61B24600821547A409CD /* Info.plist */,
  566 + DBE314BE44865438F00A5054E414EF77 /* Toast.modulemap */,
  567 + 3813A00560E8E809CF107BA098D6A666 /* Toast.xcconfig */,
  568 + 85EBECC44FA24EC40748D3CB399DD1F3 /* Toast-dummy.m */,
  569 + 52F1099514615B3BA1CA982ECF578DDF /* Toast-prefix.pch */,
  570 + 835B1DEC82F034C2C12DC0723F18F6E9 /* Toast-umbrella.h */,
469 ); 571 );
470 - name = Frameworks; 572 + name = "Support Files";
  573 + path = "../Target Support Files/Toast";
471 sourceTree = "<group>"; 574 sourceTree = "<group>";
472 }; 575 };
473 - 14106FE25ADE5F8340F0D3541E98431F /* Products */ = { 576 + 287B6E205C5204939598639BF0799466 /* iOS */ = {
474 isa = PBXGroup; 577 isa = PBXGroup;
475 children = ( 578 children = (
476 - 262207002737C66ED24D7609E73A2051 /* Alamofire.framework */,  
477 - 533EA16EA3C399B93C59F7FBDF7BA283 /* DZNEmptyDataSet.framework */,  
478 - 96548887926CE0F889C96ABBA5D9E4E6 /* Pods_ParentAssistant.framework */,  
479 - E49267BBEEB33D990D1CCA32DB1092BB /* Reachability.framework */,  
480 - 84962E4034B194F5248A3F8BA9405E80 /* SDWebImage.framework */,  
481 - A3EB6FCDBE4F5542C774BB99AD118E11 /* SVProgressHUD.framework */,  
482 - 97A0541CBA8AB2E3C3D639FB4D4F7C30 /* SwiftHash.framework */,  
483 - 9207677A8967B6C074ADCA740BE816DD /* Toast.framework */,  
484 - CAC6652AB60C9B58E90EC948DC506CFE /* XRCarouselView.framework */, 579 + E81ABC082107E519C9718F3CCEA03977 /* Foundation.framework */,
  580 + 59271332AFD884264C5B45B6B6152051 /* ImageIO.framework */,
  581 + 4DB0A7F29D540AB077DA6D9855C3F743 /* QuartzCore.framework */,
  582 + 93ED65B5F47F5FEA00C9BC9D151B1D26 /* SystemConfiguration.framework */,
  583 + B9B732FC24A0EC5E46E41D939F4A1130 /* UIKit.framework */,
485 ); 584 );
486 - name = Products; 585 + name = iOS;
487 sourceTree = "<group>"; 586 sourceTree = "<group>";
488 }; 587 };
489 - 1446833262A16544EA51DC94B51E03F7 /* UMCAnalytics */ = { 588 + 2A1708CE4EC9BA0CA7B5865FF66228B4 /* Support Files */ = {
490 isa = PBXGroup; 589 isa = PBXGroup;
491 children = ( 590 children = (
492 - D719D3CA276A3B3B00118A3986DBD72A /* Frameworks */, 591 + 0CDCA399D86C4D9BFD1AAA60E4F5A9F5 /* HandyJSON.modulemap */,
  592 + 6F37849A9F05E24161217B664F776F12 /* HandyJSON.xcconfig */,
  593 + FD2B11D4DCD30BDBA06841569E01E1BD /* HandyJSON-dummy.m */,
  594 + 297F8CEFA42DFD823263EA02BC36D29A /* HandyJSON-prefix.pch */,
  595 + 11DABA5B57A3076260D36D4A9AE646F5 /* HandyJSON-umbrella.h */,
  596 + 2098C9BB32F72BB65BA83ADD1F338099 /* Info.plist */,
493 ); 597 );
494 - name = UMCAnalytics;  
495 - path = UMCAnalytics; 598 + name = "Support Files";
  599 + path = "../Target Support Files/HandyJSON";
496 sourceTree = "<group>"; 600 sourceTree = "<group>";
497 }; 601 };
498 - 18B0CF2D79F7A7C943818C18B9B6F07B /* Core */ = { 602 + 309ACF9CB8917F8180F0C78892CC4962 /* Targets Support Files */ = {
499 isa = PBXGroup; 603 isa = PBXGroup;
500 children = ( 604 children = (
501 - BA2B601AA9C42D6B8AE96BE8321E5D6C /* NSData+ImageContentType.h */,  
502 - 4F62E861EB0D938A1E0BD4EB7441A08D /* NSData+ImageContentType.m */,  
503 - F39E00016168D1792023A12BC344B8BC /* SDImageCache.h */,  
504 - 60A3F93AD6EAC40A34D1F7BF59D9B165 /* SDImageCache.m */,  
505 - D2D134E6EA3014C73775F1A699A2BA42 /* SDWebImageCompat.h */,  
506 - E4C906F36DAA1F52BC4CB049D6F2BD4F /* SDWebImageCompat.m */,  
507 - 511A51D5104E2218B3E7F93AC4600390 /* SDWebImageDecoder.h */,  
508 - 0C6151C7E1F55461E2FEFEF578F941F2 /* SDWebImageDecoder.m */,  
509 - C40675EC2CFD9D7D3E3D39FCE5F86D94 /* SDWebImageDownloader.h */,  
510 - B6EAADE73C594EB99F85F1F1A5CEBCDD /* SDWebImageDownloader.m */,  
511 - 1D0E84080C6117D91217278F7DDF8B37 /* SDWebImageDownloaderOperation.h */,  
512 - 0FF492DA7B2B6480B7AA0B29AFEA02B4 /* SDWebImageDownloaderOperation.m */,  
513 - 133564ED095E50FC178E7088F2D2F525 /* SDWebImageManager.h */,  
514 - 3DBD3BB3C24392F4D1991479123ED45F /* SDWebImageManager.m */,  
515 - 31EE0E670B57E7A1A671D5E6BDFE9EEE /* SDWebImageOperation.h */,  
516 - 45C480734183DBFB9258B038501DA266 /* SDWebImagePrefetcher.h */,  
517 - F881111ED96D14E27A9A91E9C8C48275 /* SDWebImagePrefetcher.m */,  
518 - D8CB6D7AEEACE31A7B665F5C5BE3DBEF /* UIButton+WebCache.h */,  
519 - 0387FCC8EF5DA97E95535BB4EBA7F133 /* UIButton+WebCache.m */,  
520 - 82EA4C43CB0330D7597A7EC7C14DDA06 /* UIImage+GIF.h */,  
521 - 3F62E70A9FBEB449678982E52E1353F2 /* UIImage+GIF.m */,  
522 - B0CD149E4B768603919225D913E5623E /* UIImage+MultiFormat.h */,  
523 - FA2BB5CBAA58FB62AFBC392717B28457 /* UIImage+MultiFormat.m */,  
524 - CFD037A4D376020E2CAD65E1F7FECCB7 /* UIImageView+HighlightedWebCache.h */,  
525 - 9AFF14D09B2FE9228B53AE5A41F135CD /* UIImageView+HighlightedWebCache.m */,  
526 - 648F9002573D6811BFB3D3133CDAE4FD /* UIImageView+WebCache.h */,  
527 - 96F5CD3DDADCBA20C43F86C45281E98A /* UIImageView+WebCache.m */,  
528 - 1EA85E4120BF4DBBC742DBD972E1D4E0 /* UIView+WebCacheOperation.h */,  
529 - 68919C93C6F37F3FB82FE9478241C8C7 /* UIView+WebCacheOperation.m */, 605 + BE317C13F71B97F884FEF35459393B25 /* Pods-ParentAssistant */,
530 ); 606 );
531 - name = Core; 607 + name = "Targets Support Files";
532 sourceTree = "<group>"; 608 sourceTree = "<group>";
533 }; 609 };
534 - 20B56609144CE204DFA8221F742B2D76 /* Frameworks */ = { 610 + 330169F0E739AF701BDEBB5894F8434A /* SDWebImage */ = {
535 isa = PBXGroup; 611 isa = PBXGroup;
536 children = ( 612 children = (
537 - 287B6E205C5204939598639BF0799466 /* iOS */, 613 + 5E15FAEE84F8B146F03BE7AFBAC36661 /* Core */,
  614 + 630CEDD835E65E88DC71885CD9EF4E92 /* Support Files */,
538 ); 615 );
539 - name = Frameworks; 616 + name = SDWebImage;
  617 + path = SDWebImage;
540 sourceTree = "<group>"; 618 sourceTree = "<group>";
541 }; 619 };
542 - 25DE6845848227BA015E41CCBD304065 /* UMCCommon */ = { 620 + 37C774715FC3CB332E3DBBFF760D1DA7 /* DZNEmptyDataSet */ = {
543 isa = PBXGroup; 621 isa = PBXGroup;
544 children = ( 622 children = (
545 - 6384DC6C6C6E3363DC05585EF792BA5D /* Frameworks */, 623 + 41531DBB287870602D671C4D97E99B21 /* UIScrollView+EmptyDataSet.h */,
  624 + 18F6A571F05F4D0DD12870CE83C8F787 /* UIScrollView+EmptyDataSet.m */,
  625 + 001E2CA6EA468C671F75E62723E01ABD /* Support Files */,
546 ); 626 );
547 - name = UMCCommon;  
548 - path = UMCCommon; 627 + name = DZNEmptyDataSet;
  628 + path = DZNEmptyDataSet;
549 sourceTree = "<group>"; 629 sourceTree = "<group>";
550 }; 630 };
551 - 287B6E205C5204939598639BF0799466 /* iOS */ = { 631 + 3860473AD1F18D1A7419BE2875F3630F /* Frameworks */ = {
552 isa = PBXGroup; 632 isa = PBXGroup;
553 children = ( 633 children = (
554 - E81ABC082107E519C9718F3CCEA03977 /* Foundation.framework */,  
555 - 59271332AFD884264C5B45B6B6152051 /* ImageIO.framework */,  
556 - 4DB0A7F29D540AB077DA6D9855C3F743 /* QuartzCore.framework */,  
557 - 93ED65B5F47F5FEA00C9BC9D151B1D26 /* SystemConfiguration.framework */,  
558 - B9B732FC24A0EC5E46E41D939F4A1130 /* UIKit.framework */, 634 + BE846687076AD4570ACE89EC260747A1 /* UMErrorCatch.framework */,
559 ); 635 );
560 - name = iOS; 636 + name = Frameworks;
561 sourceTree = "<group>"; 637 sourceTree = "<group>";
562 }; 638 };
563 - 309ACF9CB8917F8180F0C78892CC4962 /* Targets Support Files */ = { 639 + 38EFF4314C3C2EB48B86E623B8035A4B /* UMCAnalytics */ = {
564 isa = PBXGroup; 640 isa = PBXGroup;
565 children = ( 641 children = (
566 - 8B360F3AAEA56CBA24A5BF774A3EA438 /* Pods-ParentAssistant */, 642 + 58FD8FF25B60AC3F652B1FDCA8518B99 /* Frameworks */,
567 ); 643 );
568 - name = "Targets Support Files"; 644 + name = UMCAnalytics;
  645 + path = UMCAnalytics;
569 sourceTree = "<group>"; 646 sourceTree = "<group>";
570 }; 647 };
571 - 379C6DC552E1DA80D8906E858E0AC082 /* Support Files */ = { 648 + 3C7A5A0E8FB6FB9142B786013E33F9B1 /* NIMSDK_LITE */ = {
572 isa = PBXGroup; 649 isa = PBXGroup;
573 children = ( 650 children = (
574 - 949B16AD13972098A7E9515BECD12B07 /* Info.plist */,  
575 - 8B5F0D69498C1F5859BF2C17B56867FB /* XRCarouselView.modulemap */,  
576 - 0DDBEBC88C2ECDDC1F9FEEDD60597135 /* XRCarouselView.xcconfig */,  
577 - 0B1E77043F562C0C1C7EA7E1A6ACB3AB /* XRCarouselView-dummy.m */,  
578 - 5BCD4B8E8C14DE4F430A278F71F7D0FF /* XRCarouselView-prefix.pch */,  
579 - 15E9579C0ABD54F28AC5AEF8D3720CDF /* XRCarouselView-umbrella.h */, 651 + 197A90DE72E89B51A1E8F89461EABB00 /* Frameworks */,
580 ); 652 );
581 - name = "Support Files";  
582 - path = "../Target Support Files/XRCarouselView"; 653 + name = NIMSDK_LITE;
  654 + path = NIMSDK_LITE;
583 sourceTree = "<group>"; 655 sourceTree = "<group>";
584 }; 656 };
585 - 4AAD33839581BD741A998ECC9FE2E5E5 /* NIMSDK_LITE */ = { 657 + 3FF5DEC88DC62971403983A6F02247FE /* Toast */ = {
586 isa = PBXGroup; 658 isa = PBXGroup;
587 children = ( 659 children = (
588 - 1111045D95E3B71F47B51D0D22DB1391 /* Frameworks */, 660 + 19FAAAAFAF3A705D1081BDCDC14CAFD6 /* UIView+Toast.h */,
  661 + E533F265C56324D6F57EB232221F586A /* UIView+Toast.m */,
  662 + 2113AB85D8791161623936EC0882CA20 /* Support Files */,
589 ); 663 );
590 - name = NIMSDK_LITE;  
591 - path = NIMSDK_LITE; 664 + name = Toast;
  665 + path = Toast;
592 sourceTree = "<group>"; 666 sourceTree = "<group>";
593 }; 667 };
594 - 53592C32D5755FA0EBA2E2189BB0C240 /* Support Files */ = { 668 + 4957D806F4D44D6387F398B8ECD395C9 /* Support Files */ = {
595 isa = PBXGroup; 669 isa = PBXGroup;
596 children = ( 670 children = (
597 - 29D1D8115C0044BF7D69794E14418C7A /* Info.plist */,  
598 - 663BA5E48D7A98ECA0F93458EBFE8EAC /* SwiftHash.modulemap */,  
599 - 2FC4CFE117A04773D45A722671264254 /* SwiftHash.xcconfig */,  
600 - 7A6CCAEC1ECBE477223AEFED858D0220 /* SwiftHash-dummy.m */,  
601 - C0F377612A6D5FC9481923FECF0ABDCB /* SwiftHash-prefix.pch */,  
602 - 3910287CF67BB6D99BFC32020B92D66B /* SwiftHash-umbrella.h */, 671 + FF928773E158E70CF5C2B45EA69A4223 /* Info.plist */,
  672 + 8CDA4E6BD46E857912EC5B5F99364A24 /* SwiftHash.modulemap */,
  673 + BF1709B1277BE62B09381A0534563DE2 /* SwiftHash.xcconfig */,
  674 + 448D149E9E2122E63C2D8CDB8E1159CB /* SwiftHash-dummy.m */,
  675 + 5B56491AFD4EC6985EBCCEF221A0FCB8 /* SwiftHash-prefix.pch */,
  676 + 9F2BF6E468482ED7EDAE9AFD6CA2C994 /* SwiftHash-umbrella.h */,
603 ); 677 );
604 name = "Support Files"; 678 name = "Support Files";
605 path = "../Target Support Files/SwiftHash"; 679 path = "../Target Support Files/SwiftHash";
606 sourceTree = "<group>"; 680 sourceTree = "<group>";
607 }; 681 };
608 - 5BE98FB8C2E44343DF503A66918F27EC /* Resources */ = { 682 + 55375898F80E2F483F6A33CD3B40855D /* SwiftHash */ = {
609 isa = PBXGroup; 683 isa = PBXGroup;
610 children = ( 684 children = (
611 - A4BC4E64237EB25000D5D76588DDA155 /* XRPlaceholder.png */, 685 + 9AEE056145338863D7A727ACF1C3657C /* MD5.swift */,
  686 + 9A4D6703A8771BB168130EFB6EAC1C3E /* SHA1.swift */,
  687 + 4957D806F4D44D6387F398B8ECD395C9 /* Support Files */,
612 ); 688 );
613 - name = Resources; 689 + name = SwiftHash;
  690 + path = SwiftHash;
  691 + sourceTree = "<group>";
  692 + };
  693 + 5763DABFBEC61EF21CE978F465358A89 /* SVProgressHUD */ = {
  694 + isa = PBXGroup;
  695 + children = (
  696 + 6768B1FE2E118D79D8A1613520B9BB23 /* SVIndefiniteAnimatedView.h */,
  697 + 72803D16FA054A0D26C303991C1F2B3C /* SVIndefiniteAnimatedView.m */,
  698 + B6554BE7D86E2DF12BC2CFA630452CA0 /* SVProgressAnimatedView.h */,
  699 + 38EE23882943EDCED73523F643A71C39 /* SVProgressAnimatedView.m */,
  700 + 17403F9FAA48DA29AAEB297BE9AC4D51 /* SVProgressHUD.h */,
  701 + 1DC66067EC016B21D6BC487C409083AF /* SVProgressHUD.m */,
  702 + 20C0A79CAF95E65B981CC5F896E4334C /* SVRadialGradientLayer.h */,
  703 + AE8B2524C105710A1C75E5F3C734796F /* SVRadialGradientLayer.m */,
  704 + 85CC9E6AC38974A790C417FCB9FD89FE /* Resources */,
  705 + C78510EC4A1F228614ECFEB07DFC0275 /* Support Files */,
  706 + );
  707 + name = SVProgressHUD;
  708 + path = SVProgressHUD;
614 sourceTree = "<group>"; 709 sourceTree = "<group>";
615 }; 710 };
616 - 6384DC6C6C6E3363DC05585EF792BA5D /* Frameworks */ = { 711 + 58FD8FF25B60AC3F652B1FDCA8518B99 /* Frameworks */ = {
617 isa = PBXGroup; 712 isa = PBXGroup;
618 children = ( 713 children = (
619 - B0D604D5F7372E685834966AFDDE389A /* UMCommon.framework */, 714 + D124D84D327A6ADF3D01C95E84C09A31 /* UMAnalytics.framework */,
620 ); 715 );
621 name = Frameworks; 716 name = Frameworks;
622 sourceTree = "<group>"; 717 sourceTree = "<group>";
623 }; 718 };
624 - 66C5D3E9F052CFD45F58AD57515141C5 /* SDWebImage */ = { 719 + 59C2933D98416017CC5447DA025532B4 /* UMCErrorCatch */ = {
625 isa = PBXGroup; 720 isa = PBXGroup;
626 children = ( 721 children = (
627 - 18B0CF2D79F7A7C943818C18B9B6F07B /* Core */,  
628 - 66D77AE34B4841D4AFE2E3E6828C0730 /* Support Files */, 722 + 3860473AD1F18D1A7419BE2875F3630F /* Frameworks */,
629 ); 723 );
630 - name = SDWebImage;  
631 - path = SDWebImage; 724 + name = UMCErrorCatch;
  725 + path = UMCErrorCatch;
  726 + sourceTree = "<group>";
  727 + };
  728 + 5E15FAEE84F8B146F03BE7AFBAC36661 /* Core */ = {
  729 + isa = PBXGroup;
  730 + children = (
  731 + DB5FF7B561F6F548C82F1FC27FDD72E8 /* NSData+ImageContentType.h */,
  732 + C203E9ABEF394B0009B142EEB9AA64FC /* NSData+ImageContentType.m */,
  733 + 140A2830037A30E45442BA52CBDA1CFC /* SDImageCache.h */,
  734 + 1439A3EA7193042844C3E9C52032677C /* SDImageCache.m */,
  735 + 82C441F9B75595B2F266E6AC40AD7D85 /* SDWebImageCompat.h */,
  736 + 2E90E960C03E09803780D5C47A55A4DB /* SDWebImageCompat.m */,
  737 + 172419A08571955755C3C6FB2044DD9D /* SDWebImageDecoder.h */,
  738 + DF68D7CB4183F99C38744F4985CD422D /* SDWebImageDecoder.m */,
  739 + 9A559DCF61F2E184BC9318C05F05CFF3 /* SDWebImageDownloader.h */,
  740 + 1983D355FD75B9D24A71756509C98131 /* SDWebImageDownloader.m */,
  741 + 33347618F6541AA20F52632F9EA10CA6 /* SDWebImageDownloaderOperation.h */,
  742 + 24C69C342339292A7BBB5C56D2C12D12 /* SDWebImageDownloaderOperation.m */,
  743 + 8A51BA19C89D5E62EDCF2DB9D9FA43E0 /* SDWebImageManager.h */,
  744 + FFCF8A6062658FA349B617C0D75723C2 /* SDWebImageManager.m */,
  745 + B9A38D8C4EC4826AEDC2A52DD0187186 /* SDWebImageOperation.h */,
  746 + E33C2A8A35CA23130F27CFEC0285B7DB /* SDWebImagePrefetcher.h */,
  747 + 6850886B55CE3CD9B901B28690292C5C /* SDWebImagePrefetcher.m */,
  748 + C03FC1A11EE20AB8B6A4B398E11B26B0 /* UIButton+WebCache.h */,
  749 + BE70BDE392E6E92B76047D2DED4ED380 /* UIButton+WebCache.m */,
  750 + E3370B03674C70DABFF75D9D2BA95DCE /* UIImage+GIF.h */,
  751 + B71F8A62F3906657D17D418212E1CBA1 /* UIImage+GIF.m */,
  752 + F6C063D5E492D3ED69858D446C30719E /* UIImage+MultiFormat.h */,
  753 + 469D54339A6D448DF6D1166FDB669676 /* UIImage+MultiFormat.m */,
  754 + 9011EFC1DA29BE6CA0831595062B82ED /* UIImageView+HighlightedWebCache.h */,
  755 + BB7CE29DC4FFF250766240EA8DA973D1 /* UIImageView+HighlightedWebCache.m */,
  756 + 206933D2687A3DC4CD2836F2AEF28A3B /* UIImageView+WebCache.h */,
  757 + 6E2AA0C415512D5F3F34F7A99AA4D14A /* UIImageView+WebCache.m */,
  758 + F638493F2C879E2AF820AE53EA390269 /* UIView+WebCacheOperation.h */,
  759 + 1836357ECED17B3B0BF22256498AA8EE /* UIView+WebCacheOperation.m */,
  760 + );
  761 + name = Core;
632 sourceTree = "<group>"; 762 sourceTree = "<group>";
633 }; 763 };
634 - 66D77AE34B4841D4AFE2E3E6828C0730 /* Support Files */ = { 764 + 630CEDD835E65E88DC71885CD9EF4E92 /* Support Files */ = {
635 isa = PBXGroup; 765 isa = PBXGroup;
636 children = ( 766 children = (
637 - 2625D989A9BDC337E06797E454C019E1 /* Info.plist */,  
638 - 1EE9BCAC0C0DE60ED1806446F9BFE0F4 /* SDWebImage.modulemap */,  
639 - 84670A87CCA67437A39C22AA9283BD91 /* SDWebImage.xcconfig */,  
640 - F0A8D9944EB1FF44C20B9A0C78A8DAAD /* SDWebImage-dummy.m */,  
641 - 7F864C4D0FF679D371E41C649FFA1116 /* SDWebImage-prefix.pch */,  
642 - C6E85B189005269F9658DBF04ABDDB3B /* SDWebImage-umbrella.h */, 767 + 106A3E63162DD85E6D0BEC1EE1FFDBB4 /* Info.plist */,
  768 + D912920D1BEEB7757AF4BE74E2EC8FA6 /* SDWebImage.modulemap */,
  769 + AC7C53CF4231A641CE59A3CD5991C5C1 /* SDWebImage.xcconfig */,
  770 + FF65E4A0D399571B01517891F0309004 /* SDWebImage-dummy.m */,
  771 + 871C0D1C45FD62FE7B82D8E083C00466 /* SDWebImage-prefix.pch */,
  772 + E786E1AEE51D914333543AC4DEF9B3FB /* SDWebImage-umbrella.h */,
643 ); 773 );
644 name = "Support Files"; 774 name = "Support Files";
645 path = "../Target Support Files/SDWebImage"; 775 path = "../Target Support Files/SDWebImage";
646 sourceTree = "<group>"; 776 sourceTree = "<group>";
647 }; 777 };
648 - 7753F5B6115FD8150F44744A19AE16E2 /* Support Files */ = { 778 + 68471EF420D9A2E724167C5491206AFB /* Resources */ = {
  779 + isa = PBXGroup;
  780 + children = (
  781 + FFEBBEC7D2ED4C631DFB3CBB04E6F926 /* XRPlaceholder.png */,
  782 + );
  783 + name = Resources;
  784 + sourceTree = "<group>";
  785 + };
  786 + 705867264671E4C7B187D746502DAB91 /* Support Files */ = {
649 isa = PBXGroup; 787 isa = PBXGroup;
650 children = ( 788 children = (
651 - 65B7E93E3ECE48CD1D929320D52945CE /* Info.plist */,  
652 - 4F486ED1724FD618F8FC26EFDC4CAA21 /* SVProgressHUD.modulemap */,  
653 - 6B21942FBE159527EB1D0AF00F186213 /* SVProgressHUD.xcconfig */,  
654 - 3AA2231406BEAEEC134CE10D52CD56DB /* SVProgressHUD-dummy.m */,  
655 - C8272080CA749FC34059ED2BAEA321D6 /* SVProgressHUD-prefix.pch */,  
656 - 27E3658ECF520EE5AAAFAB999CB366E0 /* SVProgressHUD-umbrella.h */, 789 + C62416D612C6BD82B2867F75585C4C56 /* Info.plist */,
  790 + 095F51C7CEE9EF306E13A58319881EFF /* Reachability.modulemap */,
  791 + 4357F76011180D7A84AB5281135FBC76 /* Reachability.xcconfig */,
  792 + 16CC2B704148D354077756FC0880DBCB /* Reachability-dummy.m */,
  793 + 42DB5E77081A2858012F4CBF354A0D27 /* Reachability-prefix.pch */,
  794 + 29BC53491C8D6BA4B81045D6FBBA043C /* Reachability-umbrella.h */,
657 ); 795 );
658 name = "Support Files"; 796 name = "Support Files";
659 - path = "../Target Support Files/SVProgressHUD"; 797 + path = "../Target Support Files/Reachability";
660 sourceTree = "<group>"; 798 sourceTree = "<group>";
661 }; 799 };
662 7DB346D0F39D3F0E887471402A8071AB = { 800 7DB346D0F39D3F0E887471402A8071AB = {
@@ -664,224 +802,235 @@ @@ -664,224 +802,235 @@
664 children = ( 802 children = (
665 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */, 803 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */,
666 20B56609144CE204DFA8221F742B2D76 /* Frameworks */, 804 20B56609144CE204DFA8221F742B2D76 /* Frameworks */,
667 - 109916C8440FBFBDE58A23EF8C917A15 /* Pods */,  
668 - 14106FE25ADE5F8340F0D3541E98431F /* Products */, 805 + D7E9034AEAB92F049FD989A2FAE23CD2 /* Pods */,
  806 + 9CE129D1A72CFA1DEF6F85FBF1B37E5B /* Products */,
669 309ACF9CB8917F8180F0C78892CC4962 /* Targets Support Files */, 807 309ACF9CB8917F8180F0C78892CC4962 /* Targets Support Files */,
670 ); 808 );
671 sourceTree = "<group>"; 809 sourceTree = "<group>";
672 }; 810 };
673 - 82DBAF9917A633FC37DED1B6BBFAA166 /* Toast */ = { 811 + 85CC9E6AC38974A790C417FCB9FD89FE /* Resources */ = {
674 isa = PBXGroup; 812 isa = PBXGroup;
675 children = ( 813 children = (
676 - 37D066AA516CA828ADE8C5F756198AEA /* UIView+Toast.h */,  
677 - 64D95CAFC82A27D9FD0489E9C5917506 /* UIView+Toast.m */,  
678 - 8548EA209B7907F7E7D739C6125A7201 /* Support Files */, 814 + 65DEF3C169B8F1241E74C3D5C7DA5A6D /* SVProgressHUD.bundle */,
679 ); 815 );
680 - name = Toast;  
681 - path = Toast; 816 + name = Resources;
682 sourceTree = "<group>"; 817 sourceTree = "<group>";
683 }; 818 };
684 - 82E7FF3CBB88FEFAC94738CB39640D22 /* Support Files */ = { 819 + 8FC2DD334C1E70C1C4C5C8F0FA196151 /* Frameworks */ = {
685 isa = PBXGroup; 820 isa = PBXGroup;
686 children = ( 821 children = (
687 - 6C2395AAE8DDF87EF2CDD5D29211D89A /* Alamofire.modulemap */,  
688 - 2ADCD0ECDFD3DA272B8B40DC1449DEA8 /* Alamofire.xcconfig */,  
689 - EEE5810B54BF020658D7EC89FCA21910 /* Alamofire-dummy.m */,  
690 - 853A378EDB52FDEA0832CD66C0C29503 /* Alamofire-prefix.pch */,  
691 - 69A1474C3B39F2766E17D5E986933EB5 /* Alamofire-umbrella.h */,  
692 - 4C46FD42060CC02ACC3BE8A4C3D84CC3 /* Info.plist */, 822 + FC9D90B14CC51CAAC698C0623AB16C70 /* SecurityEnvSDK.framework */,
  823 + E058896CA0DFFEF3CCEFAD6FEBA0DB11 /* UTDID.framework */,
693 ); 824 );
694 - name = "Support Files";  
695 - path = "../Target Support Files/Alamofire"; 825 + name = Frameworks;
696 sourceTree = "<group>"; 826 sourceTree = "<group>";
697 }; 827 };
698 - 8548EA209B7907F7E7D739C6125A7201 /* Support Files */ = { 828 + 9CE129D1A72CFA1DEF6F85FBF1B37E5B /* Products */ = {
699 isa = PBXGroup; 829 isa = PBXGroup;
700 children = ( 830 children = (
701 - 6361621C72F132C8F4AFC3286C48ECB0 /* Info.plist */,  
702 - 3D416BE9935C085E823ACB5F9A862658 /* Toast.modulemap */,  
703 - 014C7FE920EF761F412D3A3DEF529642 /* Toast.xcconfig */,  
704 - 4E8AA01DF603CDFFB4392DC1D67EC114 /* Toast-dummy.m */,  
705 - 613B2F2AE29AA652F2FBEB974EB1A044 /* Toast-prefix.pch */,  
706 - 5CEEDC06F17E3B2247D0C213D2EEFA22 /* Toast-umbrella.h */, 831 + E956F54FF76DE5D347505F3AF7694F03 /* Alamofire.framework */,
  832 + DD0E89B8C1439B9F5FDB39EA0232B3EA /* DZNEmptyDataSet.framework */,
  833 + 1719FF827E35476E2C51408C0A9BD81C /* HandyJSON.framework */,
  834 + B88D8470A1A1E4F507B1E9895B074253 /* Pods_ParentAssistant.framework */,
  835 + 5C3FCED1EF014BDAA42DACC871E2516A /* Reachability.framework */,
  836 + CE1C92985D9321104698E3AFAF68594E /* SDWebImage.framework */,
  837 + 33F1F6213579E70C284C8445EBD7DBDD /* SVProgressHUD.framework */,
  838 + 41009B988332564AFC9DAF9C3817C7FA /* SwiftHash.framework */,
  839 + A59A469B0852E07D2428D72E4C62B1E7 /* Toast.framework */,
  840 + 09E993E3E47BE7E80DCFECCEA59937CC /* XRCarouselView.framework */,
707 ); 841 );
708 - name = "Support Files";  
709 - path = "../Target Support Files/Toast"; 842 + name = Products;
710 sourceTree = "<group>"; 843 sourceTree = "<group>";
711 }; 844 };
712 - 8B360F3AAEA56CBA24A5BF774A3EA438 /* Pods-ParentAssistant */ = { 845 + A16014AECD4B7D4544FDD04B423C17A2 /* UMCCommon */ = {
713 isa = PBXGroup; 846 isa = PBXGroup;
714 children = ( 847 children = (
715 - F5355239148E97AE84932EC31D9FEE81 /* Info.plist */,  
716 - FC64335EAD5D5808C3A136A86895FF1C /* Pods-ParentAssistant.modulemap */,  
717 - BFA4BD9F7E363414E27BBE0D8C34DA0E /* Pods-ParentAssistant-acknowledgements.markdown */,  
718 - 54460F8AA0D68913CCD38F42715D46AF /* Pods-ParentAssistant-acknowledgements.plist */,  
719 - 91F8A62C7241C32CA58D0A9995BC8D8C /* Pods-ParentAssistant-dummy.m */,  
720 - AB4B2786F6FA607B4DEE59D08AF66F41 /* Pods-ParentAssistant-frameworks.sh */,  
721 - F8C7EAD1A973006F196503FDC20AA965 /* Pods-ParentAssistant-resources.sh */,  
722 - 8DE1A0CE0E1BB3F08D5A914FF091692D /* Pods-ParentAssistant-umbrella.h */,  
723 - BFD6362AE55791FAF76B6B3156C34632 /* Pods-ParentAssistant.debug.xcconfig */,  
724 - 696AD0A2FD8EAD1C1AD0CBCE4FAF2CFE /* Pods-ParentAssistant.release.xcconfig */, 848 + B6AC7F4D4F23329B98C15767E39B6946 /* Frameworks */,
725 ); 849 );
726 - name = "Pods-ParentAssistant";  
727 - path = "Target Support Files/Pods-ParentAssistant"; 850 + name = UMCCommon;
  851 + path = UMCCommon;
728 sourceTree = "<group>"; 852 sourceTree = "<group>";
729 }; 853 };
730 - 941E74043B396F61F87CAF449C3BF757 /* Support Files */ = { 854 + A763792383AB084CDE85481D91E26AE3 /* HandyJSON */ = {
731 isa = PBXGroup; 855 isa = PBXGroup;
732 children = ( 856 children = (
733 - 2217B31A69A5AD1A2DB901B017739FFE /* Info.plist */,  
734 - 1D023DCE549C153E62DBA7710F918932 /* Reachability.modulemap */,  
735 - D74BA5E95BF76C0B32981308D5F456D2 /* Reachability.xcconfig */,  
736 - 966714BC6CB45F265B89BBD42264D605 /* Reachability-dummy.m */,  
737 - 175348099C82E8A3101D8C4C79CEB8A8 /* Reachability-prefix.pch */,  
738 - 63DADB2A24F2E24705306C81DE52354C /* Reachability-umbrella.h */,  
739 - );  
740 - name = "Support Files";  
741 - path = "../Target Support Files/Reachability"; 857 + 931ED830C3B0B8852F1479DE61BA997E /* AnyExtensions.swift */,
  858 + F948022D8D1EFEF734A07E6ED4D6CAF9 /* BuiltInBasicType.swift */,
  859 + 6976D41DC0C992EA2F24C3A7358E958F /* BuiltInBridgeType.swift */,
  860 + 1914DA670BEE4BC1F461E88ED1BD7C26 /* Configuration.swift */,
  861 + 64CF5A867496880A0DAE25ED9EC8E512 /* CustomDateFormatTransform.swift */,
  862 + DE92E07FF56795D096246F9059B540CA /* DataTransform.swift */,
  863 + B4EC3094994043023CF3002A63DD6DA4 /* DateFormatterTransform.swift */,
  864 + B0A49BF64844554AA6BC0B49FD9A9BE8 /* DateTransform.swift */,
  865 + 1D374115D56716D6284C03A777CD2BB4 /* Deserializer.swift */,
  866 + 31A74FD90C96035085B5A148E9CBA64C /* EnumTransform.swift */,
  867 + 5C73B5BC3B66F99610607951FEC5FCB3 /* EnumType.swift */,
  868 + C33C9063E8CA60D73EE6050FCF59F433 /* Export.swift */,
  869 + 32115C18B0BD53A5791A3FA797AB85AC /* ExtendCustomBasicType.swift */,
  870 + 54E529332879B58C942DDF16DF5D39B4 /* ExtendCustomModelType.swift */,
  871 + 6B3D43CB0BDA34787F85B2C084FBB09A /* HandyJSON.h */,
  872 + 9889E5067E9A54BAEC05298BBA10F671 /* HelpingMapper.swift */,
  873 + 2E85535E49256ABCDBBB9EA045CE6268 /* HexColorTransform.swift */,
  874 + 7DFB6D55866F4F62D8116993D42B55A8 /* ISO8601DateTransform.swift */,
  875 + 26EF7D93FE7442849AC14571996AC8ED /* Logger.swift */,
  876 + 7D9407543C44ABED0AC48154C76831BE /* Measuable.swift */,
  877 + BC3C517CD17DEB98E878268901D654E8 /* Metadata.swift */,
  878 + 7C5CEE4C10F2E83011011BAE5999B4FD /* NominalType.swift */,
  879 + 2830040C9AF69744EEB45C092E65CA2A /* NSDecimalNumberTransform.swift */,
  880 + E9462CA128209C32EE6E6647C88609D1 /* OtherExtension.swift */,
  881 + 3447CC75BA7C93ED3BF68C2F65392471 /* PointerType.swift */,
  882 + 05BE4EE179BFA37C2F5F3928F9237A1F /* Properties.swift */,
  883 + 81D2AEE4F419083BF22474B240B3D9F6 /* PropertyInfo.swift */,
  884 + 31257A57ECE5DD3A052A547DA8090EF9 /* ReflectionHelper.swift */,
  885 + 39C3C21D34A34F85D09063C7E1255E9D /* Serializer.swift */,
  886 + E4E76CB8696BAB20A617484E4726713B /* Transformable.swift */,
  887 + 72ADD4F0113F0555435EA10BA789F8E2 /* TransformOf.swift */,
  888 + F33461E2C03CDF90E02052B76ADADB01 /* TransformType.swift */,
  889 + 6D24FB404E9541910245BF3E68C5EE73 /* URLTransform.swift */,
  890 + 2A1708CE4EC9BA0CA7B5865FF66228B4 /* Support Files */,
  891 + );
  892 + name = HandyJSON;
  893 + path = HandyJSON;
742 sourceTree = "<group>"; 894 sourceTree = "<group>";
743 }; 895 };
744 - AC6A1AED5B21E47027582932E701C9B8 /* Alamofire */ = { 896 + A87864D22DE2007F4600F7C0E566D95C /* Support Files */ = {
745 isa = PBXGroup; 897 isa = PBXGroup;
746 children = ( 898 children = (
747 - AA45B71A66CE0CFB5F154FE85DCBD0A8 /* AFError.swift */,  
748 - 4379B9C4BA297F169DA7B36C4689653E /* Alamofire.swift */,  
749 - D3E2A6B7148FF5DAE9D54A452036AA3C /* DispatchQueue+Alamofire.swift */,  
750 - 1F0F65D1B0A07B2CF87C8597517C1C90 /* MultipartFormData.swift */,  
751 - D38B286C5C6AB0DF4A98EEA7B4AEDF20 /* NetworkReachabilityManager.swift */,  
752 - 5398B5BBD79B7C43BB660F5770D2564F /* Notifications.swift */,  
753 - AAF088CE77A538A96EE53A7EAE65C819 /* ParameterEncoding.swift */,  
754 - A3BF0C8FBEA34836F39B7B05178E99A0 /* Request.swift */,  
755 - 4A4FCA00FE16408A60CBE0F56CD26E6C /* Response.swift */,  
756 - 8D5ECF9767E0DE930DB442E5B0C8654B /* ResponseSerialization.swift */,  
757 - D0B50DAE192A6B3640694B61BEA27967 /* Result.swift */,  
758 - 664D41C5636B633819EF1887251701BA /* ServerTrustPolicy.swift */,  
759 - CEE55910941CC3DB174AE3ED4406AB97 /* SessionDelegate.swift */,  
760 - E69012EFA9917EA02DD59B11574B0B26 /* SessionManager.swift */,  
761 - 97915E2218908AAF45A7A295511D7ED1 /* TaskDelegate.swift */,  
762 - 8CCDB7FC335DFD48FD4C80AC3FA68F61 /* Timeline.swift */,  
763 - B8713380D331B1D052F691C2926D0B73 /* Validation.swift */,  
764 - 82E7FF3CBB88FEFAC94738CB39640D22 /* Support Files */, 899 + 2EE1F3AAF4D2513EA3BFF47F019026DC /* Alamofire.modulemap */,
  900 + EA6D07581B965169F4C036A600CF86BB /* Alamofire.xcconfig */,
  901 + BB2B3251E63EE34530FC8A40E441CB23 /* Alamofire-dummy.m */,
  902 + 07E1E2C8AC8B32A86D7C0A576243A070 /* Alamofire-prefix.pch */,
  903 + BF496B88C6E68626DC9D0C9FC152BD3C /* Alamofire-umbrella.h */,
  904 + 820C0B25502D820076E6945A9666E544 /* Info.plist */,
765 ); 905 );
766 - name = Alamofire;  
767 - path = Alamofire; 906 + name = "Support Files";
  907 + path = "../Target Support Files/Alamofire";
768 sourceTree = "<group>"; 908 sourceTree = "<group>";
769 }; 909 };
770 - AD183997C52A18B21EDA14372F975903 /* UMCErrorCatch */ = { 910 + B4BCFF35A95B70F9457A79139DBED331 /* Reachability */ = {
771 isa = PBXGroup; 911 isa = PBXGroup;
772 children = ( 912 children = (
773 - 11AEEDA1FBE6316A83A8F2267DFFF9D5 /* Frameworks */, 913 + 2AD254563DCC20283BB5C0C5B4E57B5C /* Reachability.h */,
  914 + 0969E5011DCC0C421F637E6859279610 /* Reachability.m */,
  915 + 705867264671E4C7B187D746502DAB91 /* Support Files */,
774 ); 916 );
775 - name = UMCErrorCatch;  
776 - path = UMCErrorCatch; 917 + name = Reachability;
  918 + path = Reachability;
777 sourceTree = "<group>"; 919 sourceTree = "<group>";
778 }; 920 };
779 - AD3DB0C14AD65E32CA9E67A583FA5214 /* XRCarouselView */ = { 921 + B6AC7F4D4F23329B98C15767E39B6946 /* Frameworks */ = {
780 isa = PBXGroup; 922 isa = PBXGroup;
781 children = ( 923 children = (
782 - 7D11D36568090A022DD3F6835C6C69FA /* XRCarouselView.h */,  
783 - C945AFDE3ADE2B40E1665B379B679BEF /* XRCarouselView.m */,  
784 - 5BE98FB8C2E44343DF503A66918F27EC /* Resources */,  
785 - 379C6DC552E1DA80D8906E858E0AC082 /* Support Files */, 924 + DF826B20D920C607DF652F2F3EA4C2F8 /* UMCommon.framework */,
786 ); 925 );
787 - name = XRCarouselView;  
788 - path = XRCarouselView; 926 + name = Frameworks;
789 sourceTree = "<group>"; 927 sourceTree = "<group>";
790 }; 928 };
791 - B350F6BE51750E43CA055CDC70B291C1 /* Resources */ = { 929 + BE317C13F71B97F884FEF35459393B25 /* Pods-ParentAssistant */ = {
792 isa = PBXGroup; 930 isa = PBXGroup;
793 children = ( 931 children = (
794 - 6E3AD0ED0E4F4D6622F66C870ACAFFF7 /* SVProgressHUD.bundle */, 932 + 4CD112151D95CAE264BE24BD4513934F /* Info.plist */,
  933 + 074C4EB853C59CB4403154F8FC3B42A1 /* Pods-ParentAssistant.modulemap */,
  934 + BCECD0FF1E6F7E48270234DAF00B07B7 /* Pods-ParentAssistant-acknowledgements.markdown */,
  935 + E1CD65D31F6DC7B830E7132E6B396C30 /* Pods-ParentAssistant-acknowledgements.plist */,
  936 + F6BAADF2798AA6F62DA82FAA92DECB07 /* Pods-ParentAssistant-dummy.m */,
  937 + 587E904615A6336F6F7628482D5BC8D3 /* Pods-ParentAssistant-frameworks.sh */,
  938 + 891E32DCEDF9E73C788DB01E69C7162C /* Pods-ParentAssistant-resources.sh */,
  939 + 1706C196E50CAE9C6DE364B9BA5E9DCB /* Pods-ParentAssistant-umbrella.h */,
  940 + 6EB59F100C77215BCBB4FAD12F0FF358 /* Pods-ParentAssistant.debug.xcconfig */,
  941 + 77EFE064376F26AEED2B1971235A88EF /* Pods-ParentAssistant.release.xcconfig */,
795 ); 942 );
796 - name = Resources; 943 + name = "Pods-ParentAssistant";
  944 + path = "Target Support Files/Pods-ParentAssistant";
797 sourceTree = "<group>"; 945 sourceTree = "<group>";
798 }; 946 };
799 - B4AAFCB2433F981D793D65CA6FF82021 /* Support Files */ = { 947 + C78510EC4A1F228614ECFEB07DFC0275 /* Support Files */ = {
800 isa = PBXGroup; 948 isa = PBXGroup;
801 children = ( 949 children = (
802 - 8D482FB1B64F4B26658DBEE3BADB7FB5 /* DZNEmptyDataSet.modulemap */,  
803 - 832F8842DD7AD56024ADF50860D248DD /* DZNEmptyDataSet.xcconfig */,  
804 - EDF6D30846728EC3FC632BEE2717B854 /* DZNEmptyDataSet-dummy.m */,  
805 - 823E373C9E1DF801CAF18F07B702CE58 /* DZNEmptyDataSet-prefix.pch */,  
806 - A714B9425F511B82B9A3122631CA6373 /* DZNEmptyDataSet-umbrella.h */,  
807 - 466C6684943DC46AC01E8BC628C3AABE /* Info.plist */, 950 + B507541260F671D342B11E7250120BBF /* Info.plist */,
  951 + 481FE62B9A76B9C994CED4CDBF22F059 /* SVProgressHUD.modulemap */,
  952 + 43766E6C5ADEB0502C1E3C6049C5D9AC /* SVProgressHUD.xcconfig */,
  953 + 0322584439902B09D766EF9B00C87E2A /* SVProgressHUD-dummy.m */,
  954 + 52C9D81718FDCE850DDAF365FD190B4F /* SVProgressHUD-prefix.pch */,
  955 + 93251EC8BEF89E6A4FA758DA38A1E47A /* SVProgressHUD-umbrella.h */,
808 ); 956 );
809 name = "Support Files"; 957 name = "Support Files";
810 - path = "../Target Support Files/DZNEmptyDataSet";  
811 - sourceTree = "<group>";  
812 - };  
813 - C281E31831358A46F6928CAE4586812D /* DZNEmptyDataSet */ = {  
814 - isa = PBXGroup;  
815 - children = (  
816 - D7DAF83037D7D201AB9346520A2726A5 /* UIScrollView+EmptyDataSet.h */,  
817 - 9F52BD5E0388C810B3A6F1C4F9269F41 /* UIScrollView+EmptyDataSet.m */,  
818 - B4AAFCB2433F981D793D65CA6FF82021 /* Support Files */,  
819 - );  
820 - name = DZNEmptyDataSet;  
821 - path = DZNEmptyDataSet; 958 + path = "../Target Support Files/SVProgressHUD";
822 sourceTree = "<group>"; 959 sourceTree = "<group>";
823 }; 960 };
824 - C51BBA93DF6D41810F4A63C7FC77A9CA /* SVProgressHUD */ = { 961 + D31A1BD7824CBE1C0596DAB8776011D9 /* XRCarouselView */ = {
825 isa = PBXGroup; 962 isa = PBXGroup;
826 children = ( 963 children = (
827 - C926E16FF286A7F032D0AB63AAFDCDD3 /* SVIndefiniteAnimatedView.h */,  
828 - 5EBCD8E3D00D44E6D321AA2A3AC6562A /* SVIndefiniteAnimatedView.m */,  
829 - 06DC9572FD9048B84A9DABDD03902859 /* SVProgressAnimatedView.h */,  
830 - 9308B2D0BFEB8F47D93552968D78B8A9 /* SVProgressAnimatedView.m */,  
831 - A4284179411380CDBB6CBA4C12CC2EC1 /* SVProgressHUD.h */,  
832 - DEEEBBC02918A14BA4253C35D926FDEC /* SVProgressHUD.m */,  
833 - 62A63D7FFB23D16D27F325250A424933 /* SVRadialGradientLayer.h */,  
834 - 1F26CF1785555BB027A32714B4554BFF /* SVRadialGradientLayer.m */,  
835 - B350F6BE51750E43CA055CDC70B291C1 /* Resources */,  
836 - 7753F5B6115FD8150F44744A19AE16E2 /* Support Files */, 964 + 57342E33349B812F65B6D994EA74E212 /* XRCarouselView.h */,
  965 + A91D08749C812CD6EB281780E69AFED6 /* XRCarouselView.m */,
  966 + 68471EF420D9A2E724167C5491206AFB /* Resources */,
  967 + DEA7E0AFDB9947306F061F7A72D3AE96 /* Support Files */,
837 ); 968 );
838 - name = SVProgressHUD;  
839 - path = SVProgressHUD; 969 + name = XRCarouselView;
  970 + path = XRCarouselView;
840 sourceTree = "<group>"; 971 sourceTree = "<group>";
841 }; 972 };
842 - D719D3CA276A3B3B00118A3986DBD72A /* Frameworks */ = { 973 + D7E9034AEAB92F049FD989A2FAE23CD2 /* Pods */ = {
843 isa = PBXGroup; 974 isa = PBXGroup;
844 children = ( 975 children = (
845 - C8C938155886EBE25255B3922289A5FC /* UMAnalytics.framework */, 976 + 035886489A99DD807583400603AB5019 /* Alamofire */,
  977 + 37C774715FC3CB332E3DBBFF760D1DA7 /* DZNEmptyDataSet */,
  978 + A763792383AB084CDE85481D91E26AE3 /* HandyJSON */,
  979 + 3C7A5A0E8FB6FB9142B786013E33F9B1 /* NIMSDK_LITE */,
  980 + B4BCFF35A95B70F9457A79139DBED331 /* Reachability */,
  981 + 330169F0E739AF701BDEBB5894F8434A /* SDWebImage */,
  982 + 5763DABFBEC61EF21CE978F465358A89 /* SVProgressHUD */,
  983 + 55375898F80E2F483F6A33CD3B40855D /* SwiftHash */,
  984 + 3FF5DEC88DC62971403983A6F02247FE /* Toast */,
  985 + 38EFF4314C3C2EB48B86E623B8035A4B /* UMCAnalytics */,
  986 + A16014AECD4B7D4544FDD04B423C17A2 /* UMCCommon */,
  987 + 59C2933D98416017CC5447DA025532B4 /* UMCErrorCatch */,
  988 + 0AFF261FC6409676B5FE2EA67480CAE4 /* UMCSecurityPlugins */,
  989 + D31A1BD7824CBE1C0596DAB8776011D9 /* XRCarouselView */,
846 ); 990 );
847 - name = Frameworks; 991 + name = Pods;
848 sourceTree = "<group>"; 992 sourceTree = "<group>";
849 }; 993 };
850 - FEBC741685A4D8D113677F5825EA098A /* UMCSecurityPlugins */ = { 994 + DEA7E0AFDB9947306F061F7A72D3AE96 /* Support Files */ = {
851 isa = PBXGroup; 995 isa = PBXGroup;
852 children = ( 996 children = (
853 - 090BAC99083B0A0BEEBBA2D7A8CF5CFC /* Frameworks */, 997 + DE3D895CEB8D8D9876BA0F9346FF9D69 /* Info.plist */,
  998 + CC9B184B04C60B80BBEF83595DBE8AF4 /* XRCarouselView.modulemap */,
  999 + 87D16ABF7E5F8A01191A86657C5C16BA /* XRCarouselView.xcconfig */,
  1000 + 7437E1C250CA27898AA8815D1117643B /* XRCarouselView-dummy.m */,
  1001 + 60794CE8C2369C4AA061EE9A931DDFED /* XRCarouselView-prefix.pch */,
  1002 + 323A41D79693687F0377B9ACACC90D4A /* XRCarouselView-umbrella.h */,
854 ); 1003 );
855 - name = UMCSecurityPlugins;  
856 - path = UMCSecurityPlugins; 1004 + name = "Support Files";
  1005 + path = "../Target Support Files/XRCarouselView";
857 sourceTree = "<group>"; 1006 sourceTree = "<group>";
858 }; 1007 };
859 /* End PBXGroup section */ 1008 /* End PBXGroup section */
860 1009
861 /* Begin PBXHeadersBuildPhase section */ 1010 /* Begin PBXHeadersBuildPhase section */
862 - 26B34C15A0721C0433EECE6F931C1278 /* Headers */ = { 1011 + 0258573883B4A965DF0595F7BF4C1E54 /* Headers */ = {
863 isa = PBXHeadersBuildPhase; 1012 isa = PBXHeadersBuildPhase;
864 buildActionMask = 2147483647; 1013 buildActionMask = 2147483647;
865 files = ( 1014 files = (
866 - D6B5D14430A46CD9182ADB0995717D65 /* XRCarouselView-umbrella.h in Headers */,  
867 - A125A1BA4F27133D627410509D8F4E28 /* XRCarouselView.h in Headers */, 1015 + 604E191C52F306436E51253A4A21589C /* SwiftHash-umbrella.h in Headers */,
868 ); 1016 );
869 runOnlyForDeploymentPostprocessing = 0; 1017 runOnlyForDeploymentPostprocessing = 0;
870 }; 1018 };
871 - 4E295A95226B0368DF9DFF344E69583C /* Headers */ = { 1019 + 099CB4115CBACF33248BB7711972A81E /* Headers */ = {
872 isa = PBXHeadersBuildPhase; 1020 isa = PBXHeadersBuildPhase;
873 buildActionMask = 2147483647; 1021 buildActionMask = 2147483647;
874 files = ( 1022 files = (
875 - 04596B755DD74FB93D9923CCC76F35D6 /* Toast-umbrella.h in Headers */,  
876 - 05216FF5BBAF4DFABD14DFE22EA75577 /* UIView+Toast.h in Headers */, 1023 + 6A14BBE1A1C5AFF3B9FCFFCC30685E04 /* Toast-umbrella.h in Headers */,
  1024 + 9687BE425798E40CBC52870F8009209D /* UIView+Toast.h in Headers */,
877 ); 1025 );
878 runOnlyForDeploymentPostprocessing = 0; 1026 runOnlyForDeploymentPostprocessing = 0;
879 }; 1027 };
880 - 5F15E7A5273ACE20031A0D37D4867812 /* Headers */ = { 1028 + 16845547CA168475331279C504643647 /* Headers */ = {
881 isa = PBXHeadersBuildPhase; 1029 isa = PBXHeadersBuildPhase;
882 buildActionMask = 2147483647; 1030 buildActionMask = 2147483647;
883 files = ( 1031 files = (
884 - 066BF6608588853AA9FB7588BEA94711 /* SwiftHash-umbrella.h in Headers */, 1032 + 5E9D11BEACC080376EA6F57C6167B34A /* HandyJSON-umbrella.h in Headers */,
  1033 + 895952B7EE442E03D667D9565D8C84F4 /* HandyJSON.h in Headers */,
885 ); 1034 );
886 runOnlyForDeploymentPostprocessing = 0; 1035 runOnlyForDeploymentPostprocessing = 0;
887 }; 1036 };
@@ -894,32 +1043,56 @@ @@ -894,32 +1043,56 @@
894 ); 1043 );
895 runOnlyForDeploymentPostprocessing = 0; 1044 runOnlyForDeploymentPostprocessing = 0;
896 }; 1045 };
897 - 97A939DF2D5C40E1C5CE01C9B70E8B4D /* Headers */ = { 1046 + 6AEF8DFADC67B16F108F1855C41820B4 /* Headers */ = {
  1047 + isa = PBXHeadersBuildPhase;
  1048 + buildActionMask = 2147483647;
  1049 + files = (
  1050 + 46389823D72FA2DA9F4AD34CE119E9FA /* Reachability-umbrella.h in Headers */,
  1051 + 7D23D4A779C42E695BD2EC80114AD9E8 /* Reachability.h in Headers */,
  1052 + );
  1053 + runOnlyForDeploymentPostprocessing = 0;
  1054 + };
  1055 + 7192BFF4C933C30A1A5F53991AABE322 /* Headers */ = {
898 isa = PBXHeadersBuildPhase; 1056 isa = PBXHeadersBuildPhase;
899 buildActionMask = 2147483647; 1057 buildActionMask = 2147483647;
900 files = ( 1058 files = (
901 - 6172CA961FBA887E0A208C93DD938C38 /* SVIndefiniteAnimatedView.h in Headers */,  
902 - 09BDDB4079D7347692AD9C29F8242C8E /* SVProgressAnimatedView.h in Headers */,  
903 - 9B011B2BEB771C25F916F47242C25B68 /* SVProgressHUD-umbrella.h in Headers */,  
904 - 15FBFBBDEC417708F98346EF3140A862 /* SVProgressHUD.h in Headers */,  
905 - 5F5B1D736E65C60A1C4C195D4BF87D23 /* SVRadialGradientLayer.h in Headers */, 1059 + 240CD81B9BDAA551B583A82E3618D560 /* XRCarouselView-umbrella.h in Headers */,
  1060 + 4A2F8CD414D57920B53208F0F9A39E34 /* XRCarouselView.h in Headers */,
906 ); 1061 );
907 runOnlyForDeploymentPostprocessing = 0; 1062 runOnlyForDeploymentPostprocessing = 0;
908 }; 1063 };
909 - AFF9057CC3906B93A28C0E1DAAECF1F4 /* Headers */ = { 1064 + 8FE5C58C0325111F27713A45110DDD2F /* Headers */ = {
910 isa = PBXHeadersBuildPhase; 1065 isa = PBXHeadersBuildPhase;
911 buildActionMask = 2147483647; 1066 buildActionMask = 2147483647;
912 files = ( 1067 files = (
913 - DDB9C4D70DAC05D5A7E9891762E20D32 /* Pods-ParentAssistant-umbrella.h in Headers */, 1068 + F206FE65A9D924A3F6ED6221E3BBD35E /* SVIndefiniteAnimatedView.h in Headers */,
  1069 + A95766E9124B13BABFF00CFBEFEC0501 /* SVProgressAnimatedView.h in Headers */,
  1070 + 3C69CE7353282718747615DDA9563510 /* SVProgressHUD-umbrella.h in Headers */,
  1071 + 4A1D23F6526F175FCC2B35539E1B6AD6 /* SVProgressHUD.h in Headers */,
  1072 + 3D342698F0FA2B9391B7B1733D499623 /* SVRadialGradientLayer.h in Headers */,
914 ); 1073 );
915 runOnlyForDeploymentPostprocessing = 0; 1074 runOnlyForDeploymentPostprocessing = 0;
916 }; 1075 };
917 - B1B5622937AFF12B07F709BCF464A488 /* Headers */ = { 1076 + 9842775420762B806F91922E6A2DB1FC /* Headers */ = {
918 isa = PBXHeadersBuildPhase; 1077 isa = PBXHeadersBuildPhase;
919 buildActionMask = 2147483647; 1078 buildActionMask = 2147483647;
920 files = ( 1079 files = (
921 - 37CC337C4C2493EC748562C944962491 /* Reachability-umbrella.h in Headers */,  
922 - 2D6C9A4529DBC7057800DD7FAC730A6E /* Reachability.h in Headers */, 1080 + BD14752B5379EAA21AF328A8ABE08A6D /* NSData+ImageContentType.h in Headers */,
  1081 + B2D8BD6984912C60C7A22BF665987A73 /* SDImageCache.h in Headers */,
  1082 + 264463742964367E06060C2E85D3EEF4 /* SDWebImage-umbrella.h in Headers */,
  1083 + 63751EA36B3CCD03BF292C19F6B7C5FE /* SDWebImageCompat.h in Headers */,
  1084 + 05F1082B0C6E40F76E821D67DFAD9AB5 /* SDWebImageDecoder.h in Headers */,
  1085 + 2AB8304BE65678C2043856E0F4AAFC9E /* SDWebImageDownloader.h in Headers */,
  1086 + 0A2126372E9629100B22A44A94E73D71 /* SDWebImageDownloaderOperation.h in Headers */,
  1087 + 82769877C29A8E71221C9918273D3FFF /* SDWebImageManager.h in Headers */,
  1088 + 8C1E8307CFE1A73F290CFCE8818B6123 /* SDWebImageOperation.h in Headers */,
  1089 + EB3F85272BEE4C2EB0321741E8FE4B75 /* SDWebImagePrefetcher.h in Headers */,
  1090 + A17930AC43F712547C2B4B58C1450B82 /* UIButton+WebCache.h in Headers */,
  1091 + E49369FF3BD66698C3B61B8DE9C58DE0 /* UIImage+GIF.h in Headers */,
  1092 + E72FACD066C66E010F4C91956E8E29CB /* UIImage+MultiFormat.h in Headers */,
  1093 + 46749DE4D7ED1863AFF86DFB519EAAD0 /* UIImageView+HighlightedWebCache.h in Headers */,
  1094 + BBF90CAC12DA7C2713DB47B3BE5C898C /* UIImageView+WebCache.h in Headers */,
  1095 + BC9AB82CB1C91977B5C1C96A25A9CA22 /* UIView+WebCacheOperation.h in Headers */,
923 ); 1096 );
924 runOnlyForDeploymentPostprocessing = 0; 1097 runOnlyForDeploymentPostprocessing = 0;
925 }; 1098 };
@@ -931,39 +1104,59 @@ @@ -931,39 +1104,59 @@
931 ); 1104 );
932 runOnlyForDeploymentPostprocessing = 0; 1105 runOnlyForDeploymentPostprocessing = 0;
933 }; 1106 };
934 - EA8540641717F61000FC6ECF36FB9A97 /* Headers */ = { 1107 + CB17733CFD076ED5E2BE1AACA72ED979 /* Headers */ = {
935 isa = PBXHeadersBuildPhase; 1108 isa = PBXHeadersBuildPhase;
936 buildActionMask = 2147483647; 1109 buildActionMask = 2147483647;
937 files = ( 1110 files = (
938 - 73FD703165C603047C9FECF8D9117D35 /* NSData+ImageContentType.h in Headers */,  
939 - C284F2852F65CD7753BC02265207E8C3 /* SDImageCache.h in Headers */,  
940 - 7A066BDAE692137D9FA0ACE5B49BAC01 /* SDWebImage-umbrella.h in Headers */,  
941 - 4E00870584A9B7F49A7EA529E2D0FE9D /* SDWebImageCompat.h in Headers */,  
942 - DE23AFF819C3CDDC1624B5631F0D4530 /* SDWebImageDecoder.h in Headers */,  
943 - 3852C5A03720A4ABC9D455E4C08F585E /* SDWebImageDownloader.h in Headers */,  
944 - 939854B3A4CF27AC9DA0E9B7E26C9493 /* SDWebImageDownloaderOperation.h in Headers */,  
945 - D6DBA841E832F1262ADB623C43DF0CB5 /* SDWebImageManager.h in Headers */,  
946 - 5FD2584401015F48CAA734BBB9ED7DA1 /* SDWebImageOperation.h in Headers */,  
947 - 34C16BF65AA3EECD47921D480A7D9D8A /* SDWebImagePrefetcher.h in Headers */,  
948 - 5246C4AC46977982EE65340E01575AFD /* UIButton+WebCache.h in Headers */,  
949 - 6F880870AF9E7C7E2611D5BC0E05B14C /* UIImage+GIF.h in Headers */,  
950 - 10B7C0F6AFC16C5595BF7E6A8C3040F5 /* UIImage+MultiFormat.h in Headers */,  
951 - 5057703CD8FFC733FE4BC6A380DFCEC9 /* UIImageView+HighlightedWebCache.h in Headers */,  
952 - 53061C97735426494CA927DB6094C126 /* UIImageView+WebCache.h in Headers */,  
953 - 408F3C81F249F5A44A49D3EA4F27FC3F /* UIView+WebCacheOperation.h in Headers */, 1111 + 53926FE56FBF1399E69B9F893ACFBDB1 /* Pods-ParentAssistant-umbrella.h in Headers */,
954 ); 1112 );
955 runOnlyForDeploymentPostprocessing = 0; 1113 runOnlyForDeploymentPostprocessing = 0;
956 }; 1114 };
957 /* End PBXHeadersBuildPhase section */ 1115 /* End PBXHeadersBuildPhase section */
958 1116
959 /* Begin PBXNativeTarget section */ 1117 /* Begin PBXNativeTarget section */
960 - 85C8F626848DDF730664D24F35CB4BFD /* SwiftHash */ = { 1118 + 1465651EBBC44AD3276DDE2476CDA450 /* HandyJSON */ = {
  1119 + isa = PBXNativeTarget;
  1120 + buildConfigurationList = 184303B9B5FF90B2017E4D0073BC6423 /* Build configuration list for PBXNativeTarget "HandyJSON" */;
  1121 + buildPhases = (
  1122 + EE0067F8658DBC2B557D26C46C0796CA /* Sources */,
  1123 + 25507DD6D7F1D774CD72F194200A6D77 /* Frameworks */,
  1124 + 16845547CA168475331279C504643647 /* Headers */,
  1125 + );
  1126 + buildRules = (
  1127 + );
  1128 + dependencies = (
  1129 + );
  1130 + name = HandyJSON;
  1131 + productName = HandyJSON;
  1132 + productReference = 1719FF827E35476E2C51408C0A9BD81C /* HandyJSON.framework */;
  1133 + productType = "com.apple.product-type.framework";
  1134 + };
  1135 + 27189F0EDBCA8831C460D0166F6F37A1 /* XRCarouselView */ = {
  1136 + isa = PBXNativeTarget;
  1137 + buildConfigurationList = A4FA017D8C4362BABA6CC461A244CB9D /* Build configuration list for PBXNativeTarget "XRCarouselView" */;
  1138 + buildPhases = (
  1139 + 583C8401A8273215767A6E78D9832675 /* Sources */,
  1140 + 158EE653FB0E0E7AF979010BC3A73E13 /* Frameworks */,
  1141 + 7192BFF4C933C30A1A5F53991AABE322 /* Headers */,
  1142 + F5D5D2A3D9EE0A5E1C3E82E64D42CDD6 /* Resources */,
  1143 + );
  1144 + buildRules = (
  1145 + );
  1146 + dependencies = (
  1147 + );
  1148 + name = XRCarouselView;
  1149 + productName = XRCarouselView;
  1150 + productReference = 09E993E3E47BE7E80DCFECCEA59937CC /* XRCarouselView.framework */;
  1151 + productType = "com.apple.product-type.framework";
  1152 + };
  1153 + 6376DC419EEA98495631602218A4F31B /* SwiftHash */ = {
961 isa = PBXNativeTarget; 1154 isa = PBXNativeTarget;
962 - buildConfigurationList = 88497F1D92D54ED021B8F3746A720F0C /* Build configuration list for PBXNativeTarget "SwiftHash" */; 1155 + buildConfigurationList = 3EC2F42A94017DE0B0E897EBD57D8A00 /* Build configuration list for PBXNativeTarget "SwiftHash" */;
963 buildPhases = ( 1156 buildPhases = (
964 - 1527B4A88DA3657071213681D03A1DCD /* Sources */,  
965 - 6C5F920EE9CA1FAD466148402D8E2ECC /* Frameworks */,  
966 - 5F15E7A5273ACE20031A0D37D4867812 /* Headers */, 1157 + 1B8C7048A91070CF34162BF979720918 /* Sources */,
  1158 + 2FCA03AB4708FF069C969DAC4ED689A3 /* Frameworks */,
  1159 + 0258573883B4A965DF0595F7BF4C1E54 /* Headers */,
967 ); 1160 );
968 buildRules = ( 1161 buildRules = (
969 ); 1162 );
@@ -971,7 +1164,7 @@ @@ -971,7 +1164,7 @@
971 ); 1164 );
972 name = SwiftHash; 1165 name = SwiftHash;
973 productName = SwiftHash; 1166 productName = SwiftHash;
974 - productReference = 97A0541CBA8AB2E3C3D639FB4D4F7C30 /* SwiftHash.framework */; 1167 + productReference = 41009B988332564AFC9DAF9C3817C7FA /* SwiftHash.framework */;
975 productType = "com.apple.product-type.framework"; 1168 productType = "com.apple.product-type.framework";
976 }; 1169 };
977 88E9EC28B8B46C3631E6B242B50F4442 /* Alamofire */ = { 1170 88E9EC28B8B46C3631E6B242B50F4442 /* Alamofire */ = {
@@ -988,77 +1181,84 @@ @@ -988,77 +1181,84 @@
988 ); 1181 );
989 name = Alamofire; 1182 name = Alamofire;
990 productName = Alamofire; 1183 productName = Alamofire;
991 - productReference = 262207002737C66ED24D7609E73A2051 /* Alamofire.framework */; 1184 + productReference = E956F54FF76DE5D347505F3AF7694F03 /* Alamofire.framework */;
992 productType = "com.apple.product-type.framework"; 1185 productType = "com.apple.product-type.framework";
993 }; 1186 };
994 - 946F1690639E5FEB44FCAE735384E88F /* XRCarouselView */ = { 1187 + 89B82C8C6E32CEBE5ACCD75CDFBECBB1 /* Pods-ParentAssistant */ = {
995 isa = PBXNativeTarget; 1188 isa = PBXNativeTarget;
996 - buildConfigurationList = 77898DB87F85C25503BBAD3CA03D0882 /* Build configuration list for PBXNativeTarget "XRCarouselView" */; 1189 + buildConfigurationList = 7700DD54DACF55CC6BABF28FFCAB0179 /* Build configuration list for PBXNativeTarget "Pods-ParentAssistant" */;
997 buildPhases = ( 1190 buildPhases = (
998 - E0E9DB776E725C612436B0BF1513DBC6 /* Sources */,  
999 - 107EA7F8B01FBCE0D04F28255869D12A /* Frameworks */,  
1000 - 26B34C15A0721C0433EECE6F931C1278 /* Headers */,  
1001 - 57E2A75A39D14B066D6F8F0AB3B7E081 /* Resources */, 1191 + 2A36054EE1FDECDCC35954B655C4C237 /* Sources */,
  1192 + D871485AC7FB55A15B0AC2046B09D62B /* Frameworks */,
  1193 + CB17733CFD076ED5E2BE1AACA72ED979 /* Headers */,
1002 ); 1194 );
1003 buildRules = ( 1195 buildRules = (
1004 ); 1196 );
1005 dependencies = ( 1197 dependencies = (
  1198 + 954A722A2C8F32AE6348DAD3CFC2DFE4 /* PBXTargetDependency */,
  1199 + 02C0DEC84BDA70532ADA225A5A2A3304 /* PBXTargetDependency */,
  1200 + 9D4E5F870098A82524B3E139E921E49C /* PBXTargetDependency */,
  1201 + 65D67D71AAC210DB47EAC622F7FA69B9 /* PBXTargetDependency */,
  1202 + 91447221DA6C2FBBF7167A4B974044D2 /* PBXTargetDependency */,
  1203 + BBA7098DD5EA0680F81007C50C09B686 /* PBXTargetDependency */,
  1204 + 59040B7DE59B45C468C5A827B43DF38A /* PBXTargetDependency */,
  1205 + F54C3AB44B6273AFC143292EBABDE7C4 /* PBXTargetDependency */,
  1206 + E82DBF544557B801D7515E53ABBE9C31 /* PBXTargetDependency */,
1006 ); 1207 );
1007 - name = XRCarouselView;  
1008 - productName = XRCarouselView;  
1009 - productReference = CAC6652AB60C9B58E90EC948DC506CFE /* XRCarouselView.framework */; 1208 + name = "Pods-ParentAssistant";
  1209 + productName = "Pods-ParentAssistant";
  1210 + productReference = B88D8470A1A1E4F507B1E9895B074253 /* Pods_ParentAssistant.framework */;
1010 productType = "com.apple.product-type.framework"; 1211 productType = "com.apple.product-type.framework";
1011 }; 1212 };
1012 - C05436301E2CFEA58B8664CF237736FD /* SVProgressHUD */ = { 1213 + 8FA4EA707F3B6CFDACB1C85C722D2E73 /* SDWebImage */ = {
1013 isa = PBXNativeTarget; 1214 isa = PBXNativeTarget;
1014 - buildConfigurationList = F3EF627C7A0C3D0A7E911E9FA543A303 /* Build configuration list for PBXNativeTarget "SVProgressHUD" */; 1215 + buildConfigurationList = 4B18822C8ECAB5D855CCE64E74C621EB /* Build configuration list for PBXNativeTarget "SDWebImage" */;
1015 buildPhases = ( 1216 buildPhases = (
1016 - EFE8C4DEBFC03C7AE9574EF2995073A5 /* Sources */,  
1017 - 8BC117D0FE1EF633F6330395F0847D00 /* Frameworks */,  
1018 - 97A939DF2D5C40E1C5CE01C9B70E8B4D /* Headers */,  
1019 - 2A04638C17007059FAD1C5B5D34F0BD0 /* Resources */, 1217 + 6A550F80A385350F20B576B15B31547E /* Sources */,
  1218 + E44680339038F2F0730AF783DAEFFCB6 /* Frameworks */,
  1219 + 9842775420762B806F91922E6A2DB1FC /* Headers */,
1020 ); 1220 );
1021 buildRules = ( 1221 buildRules = (
1022 ); 1222 );
1023 dependencies = ( 1223 dependencies = (
1024 ); 1224 );
1025 - name = SVProgressHUD;  
1026 - productName = SVProgressHUD;  
1027 - productReference = A3EB6FCDBE4F5542C774BB99AD118E11 /* SVProgressHUD.framework */; 1225 + name = SDWebImage;
  1226 + productName = SDWebImage;
  1227 + productReference = CE1C92985D9321104698E3AFAF68594E /* SDWebImage.framework */;
1028 productType = "com.apple.product-type.framework"; 1228 productType = "com.apple.product-type.framework";
1029 }; 1229 };
1030 - C0796C4BD50C4D76FBACB035BB862F5E /* SDWebImage */ = { 1230 + 9A9DDC64623B3F5E6DC7009C16752B95 /* Toast */ = {
1031 isa = PBXNativeTarget; 1231 isa = PBXNativeTarget;
1032 - buildConfigurationList = D656DFFD54B90A7C0D451CD06977C10D /* Build configuration list for PBXNativeTarget "SDWebImage" */; 1232 + buildConfigurationList = F11A26D3E7766CBBD820DCD66B6FC321 /* Build configuration list for PBXNativeTarget "Toast" */;
1033 buildPhases = ( 1233 buildPhases = (
1034 - F4EC5D34B4D73CBB124D853714730837 /* Sources */,  
1035 - 7E7811DF5774E3C53F7D02BA94F0EBBD /* Frameworks */,  
1036 - EA8540641717F61000FC6ECF36FB9A97 /* Headers */, 1234 + F437D84355ADAD46DE352A42EFA6A50A /* Sources */,
  1235 + 46A2C828E74BB80E0DE22F9A57D702B2 /* Frameworks */,
  1236 + 099CB4115CBACF33248BB7711972A81E /* Headers */,
1037 ); 1237 );
1038 buildRules = ( 1238 buildRules = (
1039 ); 1239 );
1040 dependencies = ( 1240 dependencies = (
1041 ); 1241 );
1042 - name = SDWebImage;  
1043 - productName = SDWebImage;  
1044 - productReference = 84962E4034B194F5248A3F8BA9405E80 /* SDWebImage.framework */; 1242 + name = Toast;
  1243 + productName = Toast;
  1244 + productReference = A59A469B0852E07D2428D72E4C62B1E7 /* Toast.framework */;
1045 productType = "com.apple.product-type.framework"; 1245 productType = "com.apple.product-type.framework";
1046 }; 1246 };
1047 - C9750678FE15F0A797938AEFBF11D3F7 /* Toast */ = { 1247 + AAC4087A5A57F5566AB9B54FEBADBC36 /* Reachability */ = {
1048 isa = PBXNativeTarget; 1248 isa = PBXNativeTarget;
1049 - buildConfigurationList = ADC914ABFB3C05178072EE4B63D42904 /* Build configuration list for PBXNativeTarget "Toast" */; 1249 + buildConfigurationList = 5AD50E3B4812FC9FAE4961CBCA56B874 /* Build configuration list for PBXNativeTarget "Reachability" */;
1050 buildPhases = ( 1250 buildPhases = (
1051 - DCC2E7425A0E2804398334F74855AD61 /* Sources */,  
1052 - 68E86B09CD2A2D450668D8C52BF3A647 /* Frameworks */,  
1053 - 4E295A95226B0368DF9DFF344E69583C /* Headers */, 1251 + FA661C521ABA5EDB2937799E80C70EC2 /* Sources */,
  1252 + EBA80D6B1394A46D45B033AB75657E91 /* Frameworks */,
  1253 + 6AEF8DFADC67B16F108F1855C41820B4 /* Headers */,
1054 ); 1254 );
1055 buildRules = ( 1255 buildRules = (
1056 ); 1256 );
1057 dependencies = ( 1257 dependencies = (
1058 ); 1258 );
1059 - name = Toast;  
1060 - productName = Toast;  
1061 - productReference = 9207677A8967B6C074ADCA740BE816DD /* Toast.framework */; 1259 + name = Reachability;
  1260 + productName = Reachability;
  1261 + productReference = 5C3FCED1EF014BDAA42DACC871E2516A /* Reachability.framework */;
1062 productType = "com.apple.product-type.framework"; 1262 productType = "com.apple.product-type.framework";
1063 }; 1263 };
1064 D386C75EFD4F03725E4EFB866B600B9A /* DZNEmptyDataSet */ = { 1264 D386C75EFD4F03725E4EFB866B600B9A /* DZNEmptyDataSet */ = {
@@ -1075,49 +1275,25 @@ @@ -1075,49 +1275,25 @@
1075 ); 1275 );
1076 name = DZNEmptyDataSet; 1276 name = DZNEmptyDataSet;
1077 productName = DZNEmptyDataSet; 1277 productName = DZNEmptyDataSet;
1078 - productReference = 533EA16EA3C399B93C59F7FBDF7BA283 /* DZNEmptyDataSet.framework */;  
1079 - productType = "com.apple.product-type.framework";  
1080 - };  
1081 - EE01DAC248A3AF6D1FE730A61FEC4A75 /* Reachability */ = {  
1082 - isa = PBXNativeTarget;  
1083 - buildConfigurationList = 17A21E32738F3835B84339E468B53827 /* Build configuration list for PBXNativeTarget "Reachability" */;  
1084 - buildPhases = (  
1085 - E2D3F7B596F2AFC638635F909CADA2EA /* Sources */,  
1086 - 32218FC177E4F2A3866248C60E699AD7 /* Frameworks */,  
1087 - B1B5622937AFF12B07F709BCF464A488 /* Headers */,  
1088 - );  
1089 - buildRules = (  
1090 - );  
1091 - dependencies = (  
1092 - );  
1093 - name = Reachability;  
1094 - productName = Reachability;  
1095 - productReference = E49267BBEEB33D990D1CCA32DB1092BB /* Reachability.framework */; 1278 + productReference = DD0E89B8C1439B9F5FDB39EA0232B3EA /* DZNEmptyDataSet.framework */;
1096 productType = "com.apple.product-type.framework"; 1279 productType = "com.apple.product-type.framework";
1097 }; 1280 };
1098 - FA60C288339E409F76AC6DB2D0DF5405 /* Pods-ParentAssistant */ = { 1281 + E55BDEBC8F73D6B7936791D0822F70D6 /* SVProgressHUD */ = {
1099 isa = PBXNativeTarget; 1282 isa = PBXNativeTarget;
1100 - buildConfigurationList = CB53EC040A49607724400A1AA7DC948E /* Build configuration list for PBXNativeTarget "Pods-ParentAssistant" */; 1283 + buildConfigurationList = EAC632F2AAB82F696A1E5C88D53A883E /* Build configuration list for PBXNativeTarget "SVProgressHUD" */;
1101 buildPhases = ( 1284 buildPhases = (
1102 - EBFA786FC1331ED0A0ABF818FCE9A7D2 /* Sources */,  
1103 - 916C804BC3435443B7462DE561167E4C /* Frameworks */,  
1104 - AFF9057CC3906B93A28C0E1DAAECF1F4 /* Headers */, 1285 + 1965A36474F1989545B82D09EC945BE8 /* Sources */,
  1286 + A115DC87278A31F6B371DA2C1AF9CD02 /* Frameworks */,
  1287 + 8FE5C58C0325111F27713A45110DDD2F /* Headers */,
  1288 + B5487BE37E5D2B17C0D915B89665B3F5 /* Resources */,
1105 ); 1289 );
1106 buildRules = ( 1290 buildRules = (
1107 ); 1291 );
1108 dependencies = ( 1292 dependencies = (
1109 - BDABFEF6F8059F458C7CCFD8F0CF632A /* PBXTargetDependency */,  
1110 - 46A2F4F654983C7AA8B2CB52A6295B1C /* PBXTargetDependency */,  
1111 - 95BD295C769AAD5D62AF24FE3EC77B62 /* PBXTargetDependency */,  
1112 - CFE84F843B9FE44F08A11A77A22BD8B0 /* PBXTargetDependency */,  
1113 - 281C702B8A89E2DDAF2C15D1D4DD31F4 /* PBXTargetDependency */,  
1114 - 811A0A9815842E45A68B26809B111EAF /* PBXTargetDependency */,  
1115 - 6FDCE802951237B930F4F328FAF47795 /* PBXTargetDependency */,  
1116 - BF38DAD5A80AFD692DE63998B96B8A5D /* PBXTargetDependency */,  
1117 ); 1293 );
1118 - name = "Pods-ParentAssistant";  
1119 - productName = "Pods-ParentAssistant";  
1120 - productReference = 96548887926CE0F889C96ABBA5D9E4E6 /* Pods_ParentAssistant.framework */; 1294 + name = SVProgressHUD;
  1295 + productName = SVProgressHUD;
  1296 + productReference = 33F1F6213579E70C284C8445EBD7DBDD /* SVProgressHUD.framework */;
1121 productType = "com.apple.product-type.framework"; 1297 productType = "com.apple.product-type.framework";
1122 }; 1298 };
1123 /* End PBXNativeTarget section */ 1299 /* End PBXNativeTarget section */
@@ -1126,8 +1302,8 @@ @@ -1126,8 +1302,8 @@
1126 D41D8CD98F00B204E9800998ECF8427E /* Project object */ = { 1302 D41D8CD98F00B204E9800998ECF8427E /* Project object */ = {
1127 isa = PBXProject; 1303 isa = PBXProject;
1128 attributes = { 1304 attributes = {
1129 - LastSwiftUpdateCheck = 0830;  
1130 - LastUpgradeCheck = 0700; 1305 + LastSwiftUpdateCheck = 0930;
  1306 + LastUpgradeCheck = 0930;
1131 }; 1307 };
1132 buildConfigurationList = 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */; 1308 buildConfigurationList = 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */;
1133 compatibilityVersion = "Xcode 3.2"; 1309 compatibilityVersion = "Xcode 3.2";
@@ -1137,50 +1313,71 @@ @@ -1137,50 +1313,71 @@
1137 en, 1313 en,
1138 ); 1314 );
1139 mainGroup = 7DB346D0F39D3F0E887471402A8071AB; 1315 mainGroup = 7DB346D0F39D3F0E887471402A8071AB;
1140 - productRefGroup = 14106FE25ADE5F8340F0D3541E98431F /* Products */; 1316 + productRefGroup = 9CE129D1A72CFA1DEF6F85FBF1B37E5B /* Products */;
1141 projectDirPath = ""; 1317 projectDirPath = "";
1142 projectRoot = ""; 1318 projectRoot = "";
1143 targets = ( 1319 targets = (
1144 88E9EC28B8B46C3631E6B242B50F4442 /* Alamofire */, 1320 88E9EC28B8B46C3631E6B242B50F4442 /* Alamofire */,
1145 D386C75EFD4F03725E4EFB866B600B9A /* DZNEmptyDataSet */, 1321 D386C75EFD4F03725E4EFB866B600B9A /* DZNEmptyDataSet */,
1146 - FA60C288339E409F76AC6DB2D0DF5405 /* Pods-ParentAssistant */,  
1147 - EE01DAC248A3AF6D1FE730A61FEC4A75 /* Reachability */,  
1148 - C0796C4BD50C4D76FBACB035BB862F5E /* SDWebImage */,  
1149 - C05436301E2CFEA58B8664CF237736FD /* SVProgressHUD */,  
1150 - 85C8F626848DDF730664D24F35CB4BFD /* SwiftHash */,  
1151 - C9750678FE15F0A797938AEFBF11D3F7 /* Toast */,  
1152 - 946F1690639E5FEB44FCAE735384E88F /* XRCarouselView */, 1322 + 1465651EBBC44AD3276DDE2476CDA450 /* HandyJSON */,
  1323 + 89B82C8C6E32CEBE5ACCD75CDFBECBB1 /* Pods-ParentAssistant */,
  1324 + AAC4087A5A57F5566AB9B54FEBADBC36 /* Reachability */,
  1325 + 8FA4EA707F3B6CFDACB1C85C722D2E73 /* SDWebImage */,
  1326 + E55BDEBC8F73D6B7936791D0822F70D6 /* SVProgressHUD */,
  1327 + 6376DC419EEA98495631602218A4F31B /* SwiftHash */,
  1328 + 9A9DDC64623B3F5E6DC7009C16752B95 /* Toast */,
  1329 + 27189F0EDBCA8831C460D0166F6F37A1 /* XRCarouselView */,
1153 ); 1330 );
1154 }; 1331 };
1155 /* End PBXProject section */ 1332 /* End PBXProject section */
1156 1333
1157 /* Begin PBXResourcesBuildPhase section */ 1334 /* Begin PBXResourcesBuildPhase section */
1158 - 2A04638C17007059FAD1C5B5D34F0BD0 /* Resources */ = { 1335 + B5487BE37E5D2B17C0D915B89665B3F5 /* Resources */ = {
1159 isa = PBXResourcesBuildPhase; 1336 isa = PBXResourcesBuildPhase;
1160 buildActionMask = 2147483647; 1337 buildActionMask = 2147483647;
1161 files = ( 1338 files = (
1162 - ED8D1958E550537B70551F3306C749A2 /* SVProgressHUD.bundle in Resources */, 1339 + B575E905525EDD3311A9872A0C4307AD /* SVProgressHUD.bundle in Resources */,
1163 ); 1340 );
1164 runOnlyForDeploymentPostprocessing = 0; 1341 runOnlyForDeploymentPostprocessing = 0;
1165 }; 1342 };
1166 - 57E2A75A39D14B066D6F8F0AB3B7E081 /* Resources */ = { 1343 + F5D5D2A3D9EE0A5E1C3E82E64D42CDD6 /* Resources */ = {
1167 isa = PBXResourcesBuildPhase; 1344 isa = PBXResourcesBuildPhase;
1168 buildActionMask = 2147483647; 1345 buildActionMask = 2147483647;
1169 files = ( 1346 files = (
1170 - 59139EE33C29D86F8D3342C0AA6277DF /* XRPlaceholder.png in Resources */, 1347 + 603F9D0686CE005205D389C1E4C6072A /* XRPlaceholder.png in Resources */,
1171 ); 1348 );
1172 runOnlyForDeploymentPostprocessing = 0; 1349 runOnlyForDeploymentPostprocessing = 0;
1173 }; 1350 };
1174 /* End PBXResourcesBuildPhase section */ 1351 /* End PBXResourcesBuildPhase section */
1175 1352
1176 /* Begin PBXSourcesBuildPhase section */ 1353 /* Begin PBXSourcesBuildPhase section */
1177 - 1527B4A88DA3657071213681D03A1DCD /* Sources */ = { 1354 + 1965A36474F1989545B82D09EC945BE8 /* Sources */ = {
  1355 + isa = PBXSourcesBuildPhase;
  1356 + buildActionMask = 2147483647;
  1357 + files = (
  1358 + E990A247D80417D4555735E8A8DBD76C /* SVIndefiniteAnimatedView.m in Sources */,
  1359 + 0C4EA35F79172E81D6BF56A2FC856ED8 /* SVProgressAnimatedView.m in Sources */,
  1360 + AB6A5752C4586385EE13F1E6E2E9F40E /* SVProgressHUD-dummy.m in Sources */,
  1361 + F79EC3C3CF96DFC885E8DD247FEF08EB /* SVProgressHUD.m in Sources */,
  1362 + 86930F980FA87FB0CA5E197FEAA7A90C /* SVRadialGradientLayer.m in Sources */,
  1363 + );
  1364 + runOnlyForDeploymentPostprocessing = 0;
  1365 + };
  1366 + 1B8C7048A91070CF34162BF979720918 /* Sources */ = {
  1367 + isa = PBXSourcesBuildPhase;
  1368 + buildActionMask = 2147483647;
  1369 + files = (
  1370 + 794B16FD139EB13BA49AE711C49135BB /* MD5.swift in Sources */,
  1371 + 90B1C77BB42755C3E9AC821A09526E53 /* SHA1.swift in Sources */,
  1372 + D603EC0AAE41B1733F0A4A2FA4381910 /* SwiftHash-dummy.m in Sources */,
  1373 + );
  1374 + runOnlyForDeploymentPostprocessing = 0;
  1375 + };
  1376 + 2A36054EE1FDECDCC35954B655C4C237 /* Sources */ = {
1178 isa = PBXSourcesBuildPhase; 1377 isa = PBXSourcesBuildPhase;
1179 buildActionMask = 2147483647; 1378 buildActionMask = 2147483647;
1180 files = ( 1379 files = (
1181 - 53EF76E5E2101DC10FC9D3CFA3F51289 /* MD5.swift in Sources */,  
1182 - 45F5792627465D97FBC16B584112B1E5 /* SHA1.swift in Sources */,  
1183 - 474CCE9E8E5BAFB27CB9D60794E77308 /* SwiftHash-dummy.m in Sources */, 1380 + 6694F9A05D6A58C5C27935913BF8AE56 /* Pods-ParentAssistant-dummy.m in Sources */,
1184 ); 1381 );
1185 runOnlyForDeploymentPostprocessing = 0; 1382 runOnlyForDeploymentPostprocessing = 0;
1186 }; 1383 };
@@ -1209,141 +1406,167 @@ @@ -1209,141 +1406,167 @@
1209 ); 1406 );
1210 runOnlyForDeploymentPostprocessing = 0; 1407 runOnlyForDeploymentPostprocessing = 0;
1211 }; 1408 };
1212 - 82133C5570CF5246210CB90DB6D6558B /* Sources */ = {  
1213 - isa = PBXSourcesBuildPhase;  
1214 - buildActionMask = 2147483647;  
1215 - files = (  
1216 - 7C3888324281E325ABBDDB3888D52125 /* DZNEmptyDataSet-dummy.m in Sources */,  
1217 - D1341DA6F9B384B99BAB4C367DAD6BEC /* UIScrollView+EmptyDataSet.m in Sources */,  
1218 - );  
1219 - runOnlyForDeploymentPostprocessing = 0;  
1220 - };  
1221 - DCC2E7425A0E2804398334F74855AD61 /* Sources */ = { 1409 + 583C8401A8273215767A6E78D9832675 /* Sources */ = {
1222 isa = PBXSourcesBuildPhase; 1410 isa = PBXSourcesBuildPhase;
1223 buildActionMask = 2147483647; 1411 buildActionMask = 2147483647;
1224 files = ( 1412 files = (
1225 - 7DC32EEA0391D5808441FC26B0756C20 /* Toast-dummy.m in Sources */,  
1226 - 5976E603A5B7D1E8C18EC9F8BE172E2F /* UIView+Toast.m in Sources */, 1413 + A8D327620CE1909AD98F6B239AA60018 /* XRCarouselView-dummy.m in Sources */,
  1414 + 3DD10D4C59666719E941A5D0EB5D9582 /* XRCarouselView.m in Sources */,
1227 ); 1415 );
1228 runOnlyForDeploymentPostprocessing = 0; 1416 runOnlyForDeploymentPostprocessing = 0;
1229 }; 1417 };
1230 - E0E9DB776E725C612436B0BF1513DBC6 /* Sources */ = { 1418 + 6A550F80A385350F20B576B15B31547E /* Sources */ = {
1231 isa = PBXSourcesBuildPhase; 1419 isa = PBXSourcesBuildPhase;
1232 buildActionMask = 2147483647; 1420 buildActionMask = 2147483647;
1233 files = ( 1421 files = (
1234 - 09EB729363E87B22D55BB6340CC41637 /* XRCarouselView-dummy.m in Sources */,  
1235 - D85265953240035D8C14B6B808DBD242 /* XRCarouselView.m in Sources */, 1422 + 17F8D48B0736FD13AC59D9311C074E9D /* NSData+ImageContentType.m in Sources */,
  1423 + BF901FE99C862B2093FF8E2F71B80F93 /* SDImageCache.m in Sources */,
  1424 + 27813DC0914AD972436022C87454185F /* SDWebImage-dummy.m in Sources */,
  1425 + 7AC13BF7B3C538D94DE7B9D836786514 /* SDWebImageCompat.m in Sources */,
  1426 + D1D5D64268DDC619511D3942F434D7DD /* SDWebImageDecoder.m in Sources */,
  1427 + 1C39565C535B7D534368C5DFB46659B5 /* SDWebImageDownloader.m in Sources */,
  1428 + F1A921225B642E15ED24FB4734240F8F /* SDWebImageDownloaderOperation.m in Sources */,
  1429 + 38BC499B109AEBC02AD6C88AB2ED057D /* SDWebImageManager.m in Sources */,
  1430 + 6C3C226E0B46AFC4FD756BA6C5D9414E /* SDWebImagePrefetcher.m in Sources */,
  1431 + 170AB456D9F3C346DCF407E42D84B5D5 /* UIButton+WebCache.m in Sources */,
  1432 + C633AE7C1F16ADA3AFEE968396B73A4B /* UIImage+GIF.m in Sources */,
  1433 + BD2E6B5D9C3C38D8C1BDCFE0CD6E489D /* UIImage+MultiFormat.m in Sources */,
  1434 + C8D2BE872D244EB549F2EC97069CC4D0 /* UIImageView+HighlightedWebCache.m in Sources */,
  1435 + A7B5C0EE248855B3357C98A489F835D9 /* UIImageView+WebCache.m in Sources */,
  1436 + BA3AB9E7766B254534C357EB523687B6 /* UIView+WebCacheOperation.m in Sources */,
1236 ); 1437 );
1237 runOnlyForDeploymentPostprocessing = 0; 1438 runOnlyForDeploymentPostprocessing = 0;
1238 }; 1439 };
1239 - E2D3F7B596F2AFC638635F909CADA2EA /* Sources */ = { 1440 + 82133C5570CF5246210CB90DB6D6558B /* Sources */ = {
1240 isa = PBXSourcesBuildPhase; 1441 isa = PBXSourcesBuildPhase;
1241 buildActionMask = 2147483647; 1442 buildActionMask = 2147483647;
1242 files = ( 1443 files = (
1243 - 06FC1AF6668EDC7A83382E6646F64F1F /* Reachability-dummy.m in Sources */,  
1244 - B61BAFC1B1815C7270395B7350001E60 /* Reachability.m in Sources */, 1444 + 7C3888324281E325ABBDDB3888D52125 /* DZNEmptyDataSet-dummy.m in Sources */,
  1445 + D1341DA6F9B384B99BAB4C367DAD6BEC /* UIScrollView+EmptyDataSet.m in Sources */,
1245 ); 1446 );
1246 runOnlyForDeploymentPostprocessing = 0; 1447 runOnlyForDeploymentPostprocessing = 0;
1247 }; 1448 };
1248 - EBFA786FC1331ED0A0ABF818FCE9A7D2 /* Sources */ = { 1449 + EE0067F8658DBC2B557D26C46C0796CA /* Sources */ = {
1249 isa = PBXSourcesBuildPhase; 1450 isa = PBXSourcesBuildPhase;
1250 buildActionMask = 2147483647; 1451 buildActionMask = 2147483647;
1251 files = ( 1452 files = (
1252 - AA113E700658EFC0E6FE3C1F3421A94D /* Pods-ParentAssistant-dummy.m in Sources */, 1453 + EF57A4E0C40DA6E906B390C69902421F /* AnyExtensions.swift in Sources */,
  1454 + 8444B1FF566FC96D823C154BEE6A4A03 /* BuiltInBasicType.swift in Sources */,
  1455 + 95F6802FB7C748286D6E1D6876552E8C /* BuiltInBridgeType.swift in Sources */,
  1456 + 0369C812B817E442E9BF7B2F561E1AEF /* Configuration.swift in Sources */,
  1457 + 6F4160DEA9816F49351CCEF452CCF00C /* CustomDateFormatTransform.swift in Sources */,
  1458 + 5475A5933FABB5F9999E31020427B182 /* DataTransform.swift in Sources */,
  1459 + 5438E76D8DA2CB8E045DE40226F4A5AB /* DateFormatterTransform.swift in Sources */,
  1460 + 963D3083B43A304CE4A81FF8908C644C /* DateTransform.swift in Sources */,
  1461 + 0ABF85713B5ABC01E4121F8DBCBBD195 /* Deserializer.swift in Sources */,
  1462 + 4A961542DBC3F70E502B854EBB870694 /* EnumTransform.swift in Sources */,
  1463 + 143D0DFED5AF7708744EBDB443F9812D /* EnumType.swift in Sources */,
  1464 + 5C95D2513AAB007D33804F074AC4DD33 /* Export.swift in Sources */,
  1465 + 86EF282C771B9E7A12106ACBE6E820F5 /* ExtendCustomBasicType.swift in Sources */,
  1466 + 69735BB95E8E8111E0CEA96BBA19486A /* ExtendCustomModelType.swift in Sources */,
  1467 + C23D014A840F87E883B74ABEC475E608 /* HandyJSON-dummy.m in Sources */,
  1468 + 242367446F58A71823A8250396E775A3 /* HelpingMapper.swift in Sources */,
  1469 + 4F7B3FA3957DCA2A67546E72117904F9 /* HexColorTransform.swift in Sources */,
  1470 + D425D13A48689CCBEA1C0BE43928A682 /* ISO8601DateTransform.swift in Sources */,
  1471 + 12DE723E9DF6F13F3286874C3A95E30A /* Logger.swift in Sources */,
  1472 + 50424A0F4A3907712832B1FA56C9E2A2 /* Measuable.swift in Sources */,
  1473 + 2B5DF32B1906ED4F0088D37CE08CB2B9 /* Metadata.swift in Sources */,
  1474 + 71770C33C6DBF555B10D0A42E5C034F4 /* NominalType.swift in Sources */,
  1475 + 48F71FC920A4F562FF7ECFD25BD08F2E /* NSDecimalNumberTransform.swift in Sources */,
  1476 + AC2961AE064F12C1AA82F853AE6CF4DE /* OtherExtension.swift in Sources */,
  1477 + EF1B6B88FF4C6BC506B9C85BAEDF034E /* PointerType.swift in Sources */,
  1478 + 9EB13C869EF150828095C94F1FEFC517 /* Properties.swift in Sources */,
  1479 + C906E3F3B8CC5A9E003DB020DFAE7864 /* PropertyInfo.swift in Sources */,
  1480 + A43438F0B3A712FB5739EA173AB6F134 /* ReflectionHelper.swift in Sources */,
  1481 + F8FB51647A0925CDAF63C5DAA23D8B4D /* Serializer.swift in Sources */,
  1482 + 0C11C193B2F9FF679EB214C272C8A480 /* Transformable.swift in Sources */,
  1483 + 545C0FA9073D729E2E8C3EF9678C0DEA /* TransformOf.swift in Sources */,
  1484 + 7931BF35785763872BD11EB65164B1D5 /* TransformType.swift in Sources */,
  1485 + 807283562FFCAF1B2AC3B251ABF34B5A /* URLTransform.swift in Sources */,
1253 ); 1486 );
1254 runOnlyForDeploymentPostprocessing = 0; 1487 runOnlyForDeploymentPostprocessing = 0;
1255 }; 1488 };
1256 - EFE8C4DEBFC03C7AE9574EF2995073A5 /* Sources */ = { 1489 + F437D84355ADAD46DE352A42EFA6A50A /* Sources */ = {
1257 isa = PBXSourcesBuildPhase; 1490 isa = PBXSourcesBuildPhase;
1258 buildActionMask = 2147483647; 1491 buildActionMask = 2147483647;
1259 files = ( 1492 files = (
1260 - A6ED7D1E440FE1F9F71E68D78157C5A4 /* SVIndefiniteAnimatedView.m in Sources */,  
1261 - 3D7D09B3684687F1CB2C81486753DE7D /* SVProgressAnimatedView.m in Sources */,  
1262 - 7EFE471A7CD81911271A1DA42728F35A /* SVProgressHUD-dummy.m in Sources */,  
1263 - FC3E75853B92F3FD3AB8C18D107AEAE2 /* SVProgressHUD.m in Sources */,  
1264 - 688194DF445E1D90020742A68E0CAED6 /* SVRadialGradientLayer.m in Sources */, 1493 + CAD7174B4833082EAE9507FB4CDCB07B /* Toast-dummy.m in Sources */,
  1494 + 44E9442A5B676A7E4941C47EB6C49C9F /* UIView+Toast.m in Sources */,
1265 ); 1495 );
1266 runOnlyForDeploymentPostprocessing = 0; 1496 runOnlyForDeploymentPostprocessing = 0;
1267 }; 1497 };
1268 - F4EC5D34B4D73CBB124D853714730837 /* Sources */ = { 1498 + FA661C521ABA5EDB2937799E80C70EC2 /* Sources */ = {
1269 isa = PBXSourcesBuildPhase; 1499 isa = PBXSourcesBuildPhase;
1270 buildActionMask = 2147483647; 1500 buildActionMask = 2147483647;
1271 files = ( 1501 files = (
1272 - F3F5FF09765FEE3CFC273A26439E1284 /* NSData+ImageContentType.m in Sources */,  
1273 - BE33CE0CCA7C7BFD277EB1E9D4117BBA /* SDImageCache.m in Sources */,  
1274 - 381D238C10FFF0A4B0D216200E2AD3C0 /* SDWebImage-dummy.m in Sources */,  
1275 - C7A839D10605088C454C7291FB326FBC /* SDWebImageCompat.m in Sources */,  
1276 - 98180A7130BC044E70A6C7F0BF140749 /* SDWebImageDecoder.m in Sources */,  
1277 - F67226D02B4E38F924014FD70084A0BC /* SDWebImageDownloader.m in Sources */,  
1278 - 57C6F19B2C2E4628EF6356CC7F21DBEC /* SDWebImageDownloaderOperation.m in Sources */,  
1279 - A1AE1582C0837F6ACE34D1649DE2E355 /* SDWebImageManager.m in Sources */,  
1280 - D44B6932FB028CF0C747036478B2464B /* SDWebImagePrefetcher.m in Sources */,  
1281 - 23C5B91C7647AFA6B1DCC3C24E6706EA /* UIButton+WebCache.m in Sources */,  
1282 - 8455D8B62D30B18316003CAC9C3EB39C /* UIImage+GIF.m in Sources */,  
1283 - 34DD027A08EB61A1CB4BEBDF3DDF8AD7 /* UIImage+MultiFormat.m in Sources */,  
1284 - C3E716AC285C0E375076E032E3E3EB75 /* UIImageView+HighlightedWebCache.m in Sources */,  
1285 - 257E2206CD8D95F6BB1C4128CE0EA520 /* UIImageView+WebCache.m in Sources */,  
1286 - BD13ECAC77A5C5C8ABEC67EB5C40C374 /* UIView+WebCacheOperation.m in Sources */, 1502 + 8B937C355B5CAAEC40B80F24AFA26569 /* Reachability-dummy.m in Sources */,
  1503 + 0203C16E98AD37E5A0C596D1B39C5119 /* Reachability.m in Sources */,
1287 ); 1504 );
1288 runOnlyForDeploymentPostprocessing = 0; 1505 runOnlyForDeploymentPostprocessing = 0;
1289 }; 1506 };
1290 /* End PBXSourcesBuildPhase section */ 1507 /* End PBXSourcesBuildPhase section */
1291 1508
1292 /* Begin PBXTargetDependency section */ 1509 /* Begin PBXTargetDependency section */
1293 - 281C702B8A89E2DDAF2C15D1D4DD31F4 /* PBXTargetDependency */ = {  
1294 - isa = PBXTargetDependency;  
1295 - name = SVProgressHUD;  
1296 - target = C05436301E2CFEA58B8664CF237736FD /* SVProgressHUD */;  
1297 - targetProxy = 6156EA43090B479C8793207CA4E77756 /* PBXContainerItemProxy */;  
1298 - };  
1299 - 46A2F4F654983C7AA8B2CB52A6295B1C /* PBXTargetDependency */ = { 1510 + 02C0DEC84BDA70532ADA225A5A2A3304 /* PBXTargetDependency */ = {
1300 isa = PBXTargetDependency; 1511 isa = PBXTargetDependency;
1301 name = DZNEmptyDataSet; 1512 name = DZNEmptyDataSet;
1302 target = D386C75EFD4F03725E4EFB866B600B9A /* DZNEmptyDataSet */; 1513 target = D386C75EFD4F03725E4EFB866B600B9A /* DZNEmptyDataSet */;
1303 - targetProxy = 656151B6E948CAD2F2C92575A816A9DD /* PBXContainerItemProxy */; 1514 + targetProxy = 40A6BB26078AD6CC3BFED24490AA679C /* PBXContainerItemProxy */;
1304 }; 1515 };
1305 - 6FDCE802951237B930F4F328FAF47795 /* PBXTargetDependency */ = {  
1306 - isa = PBXTargetDependency;  
1307 - name = Toast;  
1308 - target = C9750678FE15F0A797938AEFBF11D3F7 /* Toast */;  
1309 - targetProxy = DDD0D71FA6F264724CD1E76877CCA238 /* PBXContainerItemProxy */;  
1310 - };  
1311 - 811A0A9815842E45A68B26809B111EAF /* PBXTargetDependency */ = { 1516 + 59040B7DE59B45C468C5A827B43DF38A /* PBXTargetDependency */ = {
1312 isa = PBXTargetDependency; 1517 isa = PBXTargetDependency;
1313 name = SwiftHash; 1518 name = SwiftHash;
1314 - target = 85C8F626848DDF730664D24F35CB4BFD /* SwiftHash */;  
1315 - targetProxy = 422B2D815B43329490CF50C572D7A42B /* PBXContainerItemProxy */; 1519 + target = 6376DC419EEA98495631602218A4F31B /* SwiftHash */;
  1520 + targetProxy = 14508FFAEE6EBD1C2386229671393CCD /* PBXContainerItemProxy */;
1316 }; 1521 };
1317 - 95BD295C769AAD5D62AF24FE3EC77B62 /* PBXTargetDependency */ = { 1522 + 65D67D71AAC210DB47EAC622F7FA69B9 /* PBXTargetDependency */ = {
1318 isa = PBXTargetDependency; 1523 isa = PBXTargetDependency;
1319 name = Reachability; 1524 name = Reachability;
1320 - target = EE01DAC248A3AF6D1FE730A61FEC4A75 /* Reachability */;  
1321 - targetProxy = A551BE9DFBB8BC081F9403D9547E440B /* PBXContainerItemProxy */; 1525 + target = AAC4087A5A57F5566AB9B54FEBADBC36 /* Reachability */;
  1526 + targetProxy = 82A515E1EF9A2DA9422FDE7D829F0650 /* PBXContainerItemProxy */;
  1527 + };
  1528 + 91447221DA6C2FBBF7167A4B974044D2 /* PBXTargetDependency */ = {
  1529 + isa = PBXTargetDependency;
  1530 + name = SDWebImage;
  1531 + target = 8FA4EA707F3B6CFDACB1C85C722D2E73 /* SDWebImage */;
  1532 + targetProxy = 1F4310C891A7C6531B2EC2F44755F5D2 /* PBXContainerItemProxy */;
1322 }; 1533 };
1323 - BDABFEF6F8059F458C7CCFD8F0CF632A /* PBXTargetDependency */ = { 1534 + 954A722A2C8F32AE6348DAD3CFC2DFE4 /* PBXTargetDependency */ = {
1324 isa = PBXTargetDependency; 1535 isa = PBXTargetDependency;
1325 name = Alamofire; 1536 name = Alamofire;
1326 target = 88E9EC28B8B46C3631E6B242B50F4442 /* Alamofire */; 1537 target = 88E9EC28B8B46C3631E6B242B50F4442 /* Alamofire */;
1327 - targetProxy = CA0BE3D8D2515655B40335392420B681 /* PBXContainerItemProxy */; 1538 + targetProxy = A81D9D0AD4D99710674892A4C13CE7C4 /* PBXContainerItemProxy */;
  1539 + };
  1540 + 9D4E5F870098A82524B3E139E921E49C /* PBXTargetDependency */ = {
  1541 + isa = PBXTargetDependency;
  1542 + name = HandyJSON;
  1543 + target = 1465651EBBC44AD3276DDE2476CDA450 /* HandyJSON */;
  1544 + targetProxy = EE8B3E8B9AA89EC765C0E539B4E7EDC7 /* PBXContainerItemProxy */;
  1545 + };
  1546 + BBA7098DD5EA0680F81007C50C09B686 /* PBXTargetDependency */ = {
  1547 + isa = PBXTargetDependency;
  1548 + name = SVProgressHUD;
  1549 + target = E55BDEBC8F73D6B7936791D0822F70D6 /* SVProgressHUD */;
  1550 + targetProxy = 8EE514F180AE8F72FA2CB958642AC2D2 /* PBXContainerItemProxy */;
1328 }; 1551 };
1329 - BF38DAD5A80AFD692DE63998B96B8A5D /* PBXTargetDependency */ = { 1552 + E82DBF544557B801D7515E53ABBE9C31 /* PBXTargetDependency */ = {
1330 isa = PBXTargetDependency; 1553 isa = PBXTargetDependency;
1331 name = XRCarouselView; 1554 name = XRCarouselView;
1332 - target = 946F1690639E5FEB44FCAE735384E88F /* XRCarouselView */;  
1333 - targetProxy = 063C49D9C95F79A20503A9A1424E691E /* PBXContainerItemProxy */; 1555 + target = 27189F0EDBCA8831C460D0166F6F37A1 /* XRCarouselView */;
  1556 + targetProxy = 594A8718DA74EC137A691ED506FE6CCB /* PBXContainerItemProxy */;
1334 }; 1557 };
1335 - CFE84F843B9FE44F08A11A77A22BD8B0 /* PBXTargetDependency */ = { 1558 + F54C3AB44B6273AFC143292EBABDE7C4 /* PBXTargetDependency */ = {
1336 isa = PBXTargetDependency; 1559 isa = PBXTargetDependency;
1337 - name = SDWebImage;  
1338 - target = C0796C4BD50C4D76FBACB035BB862F5E /* SDWebImage */;  
1339 - targetProxy = B62CFB9ED89BE7F383DFD4DA30E09CE3 /* PBXContainerItemProxy */; 1560 + name = Toast;
  1561 + target = 9A9DDC64623B3F5E6DC7009C16752B95 /* Toast */;
  1562 + targetProxy = 8E7E6D806A10070D238FC81F6BAB4860 /* PBXContainerItemProxy */;
1340 }; 1563 };
1341 /* End PBXTargetDependency section */ 1564 /* End PBXTargetDependency section */
1342 1565
1343 /* Begin XCBuildConfiguration section */ 1566 /* Begin XCBuildConfiguration section */
1344 - 119B03EBA7FDF534587EE293428E68E9 /* Release */ = { 1567 + 1456973998A5F20B4501A680D3794F6A /* Release */ = {
1345 isa = XCBuildConfiguration; 1568 isa = XCBuildConfiguration;
1346 - baseConfigurationReference = 0DDBEBC88C2ECDDC1F9FEEDD60597135 /* XRCarouselView.xcconfig */; 1569 + baseConfigurationReference = 328C2C3F0CBE7948196AEE1B0FA7B3F4 /* DZNEmptyDataSet.xcconfig */;
1347 buildSettings = { 1570 buildSettings = {
1348 CODE_SIGN_IDENTITY = ""; 1571 CODE_SIGN_IDENTITY = "";
1349 "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; 1572 "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
@@ -1354,13 +1577,13 @@ @@ -1354,13 +1577,13 @@
1354 DYLIB_COMPATIBILITY_VERSION = 1; 1577 DYLIB_COMPATIBILITY_VERSION = 1;
1355 DYLIB_CURRENT_VERSION = 1; 1578 DYLIB_CURRENT_VERSION = 1;
1356 DYLIB_INSTALL_NAME_BASE = "@rpath"; 1579 DYLIB_INSTALL_NAME_BASE = "@rpath";
1357 - GCC_PREFIX_HEADER = "Target Support Files/XRCarouselView/XRCarouselView-prefix.pch";  
1358 - INFOPLIST_FILE = "Target Support Files/XRCarouselView/Info.plist"; 1580 + GCC_PREFIX_HEADER = "Target Support Files/DZNEmptyDataSet/DZNEmptyDataSet-prefix.pch";
  1581 + INFOPLIST_FILE = "Target Support Files/DZNEmptyDataSet/Info.plist";
1359 INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; 1582 INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
1360 IPHONEOS_DEPLOYMENT_TARGET = 8.0; 1583 IPHONEOS_DEPLOYMENT_TARGET = 8.0;
1361 LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 1584 LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
1362 - MODULEMAP_FILE = "Target Support Files/XRCarouselView/XRCarouselView.modulemap";  
1363 - PRODUCT_NAME = XRCarouselView; 1585 + MODULEMAP_FILE = "Target Support Files/DZNEmptyDataSet/DZNEmptyDataSet.modulemap";
  1586 + PRODUCT_NAME = DZNEmptyDataSet;
1364 SDKROOT = iphoneos; 1587 SDKROOT = iphoneos;
1365 SKIP_INSTALL = YES; 1588 SKIP_INSTALL = YES;
1366 SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; 1589 SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
@@ -1372,9 +1595,9 @@ @@ -1372,9 +1595,9 @@
1372 }; 1595 };
1373 name = Release; 1596 name = Release;
1374 }; 1597 };
1375 - 1456973998A5F20B4501A680D3794F6A /* Release */ = { 1598 + 205040859FD37102CD356142F35D96D4 /* Debug */ = {
1376 isa = XCBuildConfiguration; 1599 isa = XCBuildConfiguration;
1377 - baseConfigurationReference = 832F8842DD7AD56024ADF50860D248DD /* DZNEmptyDataSet.xcconfig */; 1600 + baseConfigurationReference = 6EB59F100C77215BCBB4FAD12F0FF358 /* Pods-ParentAssistant.debug.xcconfig */;
1378 buildSettings = { 1601 buildSettings = {
1379 CODE_SIGN_IDENTITY = ""; 1602 CODE_SIGN_IDENTITY = "";
1380 "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; 1603 "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
@@ -1385,27 +1608,30 @@ @@ -1385,27 +1608,30 @@
1385 DYLIB_COMPATIBILITY_VERSION = 1; 1608 DYLIB_COMPATIBILITY_VERSION = 1;
1386 DYLIB_CURRENT_VERSION = 1; 1609 DYLIB_CURRENT_VERSION = 1;
1387 DYLIB_INSTALL_NAME_BASE = "@rpath"; 1610 DYLIB_INSTALL_NAME_BASE = "@rpath";
1388 - GCC_PREFIX_HEADER = "Target Support Files/DZNEmptyDataSet/DZNEmptyDataSet-prefix.pch";  
1389 - INFOPLIST_FILE = "Target Support Files/DZNEmptyDataSet/Info.plist"; 1611 + INFOPLIST_FILE = "Target Support Files/Pods-ParentAssistant/Info.plist";
1390 INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; 1612 INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
1391 - IPHONEOS_DEPLOYMENT_TARGET = 8.0; 1613 + IPHONEOS_DEPLOYMENT_TARGET = 9.0;
1392 LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 1614 LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
1393 - MODULEMAP_FILE = "Target Support Files/DZNEmptyDataSet/DZNEmptyDataSet.modulemap";  
1394 - PRODUCT_NAME = DZNEmptyDataSet; 1615 + MACH_O_TYPE = staticlib;
  1616 + MODULEMAP_FILE = "Target Support Files/Pods-ParentAssistant/Pods-ParentAssistant.modulemap";
  1617 + OTHER_LDFLAGS = "";
  1618 + OTHER_LIBTOOLFLAGS = "";
  1619 + PODS_ROOT = "$(SRCROOT)";
  1620 + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
  1621 + PRODUCT_NAME = Pods_ParentAssistant;
1395 SDKROOT = iphoneos; 1622 SDKROOT = iphoneos;
1396 SKIP_INSTALL = YES; 1623 SKIP_INSTALL = YES;
1397 - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";  
1398 - SWIFT_VERSION = 4.0; 1624 + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
  1625 + SWIFT_OPTIMIZATION_LEVEL = "-Onone";
1399 TARGETED_DEVICE_FAMILY = "1,2"; 1626 TARGETED_DEVICE_FAMILY = "1,2";
1400 - VALIDATE_PRODUCT = YES;  
1401 VERSIONING_SYSTEM = "apple-generic"; 1627 VERSIONING_SYSTEM = "apple-generic";
1402 VERSION_INFO_PREFIX = ""; 1628 VERSION_INFO_PREFIX = "";
1403 }; 1629 };
1404 - name = Release; 1630 + name = Debug;
1405 }; 1631 };
1406 - 17F5C718DB216A6DC180FBCC46408D74 /* Release */ = { 1632 + 20A33051E49990EF2F5D75016374151E /* Release */ = {
1407 isa = XCBuildConfiguration; 1633 isa = XCBuildConfiguration;
1408 - baseConfigurationReference = 014C7FE920EF761F412D3A3DEF529642 /* Toast.xcconfig */; 1634 + baseConfigurationReference = 4357F76011180D7A84AB5281135FBC76 /* Reachability.xcconfig */;
1409 buildSettings = { 1635 buildSettings = {
1410 CODE_SIGN_IDENTITY = ""; 1636 CODE_SIGN_IDENTITY = "";
1411 "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; 1637 "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
@@ -1416,13 +1642,13 @@ @@ -1416,13 +1642,13 @@
1416 DYLIB_COMPATIBILITY_VERSION = 1; 1642 DYLIB_COMPATIBILITY_VERSION = 1;
1417 DYLIB_CURRENT_VERSION = 1; 1643 DYLIB_CURRENT_VERSION = 1;
1418 DYLIB_INSTALL_NAME_BASE = "@rpath"; 1644 DYLIB_INSTALL_NAME_BASE = "@rpath";
1419 - GCC_PREFIX_HEADER = "Target Support Files/Toast/Toast-prefix.pch";  
1420 - INFOPLIST_FILE = "Target Support Files/Toast/Info.plist"; 1645 + GCC_PREFIX_HEADER = "Target Support Files/Reachability/Reachability-prefix.pch";
  1646 + INFOPLIST_FILE = "Target Support Files/Reachability/Info.plist";
1421 INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; 1647 INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
1422 IPHONEOS_DEPLOYMENT_TARGET = 8.0; 1648 IPHONEOS_DEPLOYMENT_TARGET = 8.0;
1423 LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 1649 LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
1424 - MODULEMAP_FILE = "Target Support Files/Toast/Toast.modulemap";  
1425 - PRODUCT_NAME = Toast; 1650 + MODULEMAP_FILE = "Target Support Files/Reachability/Reachability.modulemap";
  1651 + PRODUCT_NAME = Reachability;
1426 SDKROOT = iphoneos; 1652 SDKROOT = iphoneos;
1427 SKIP_INSTALL = YES; 1653 SKIP_INSTALL = YES;
1428 SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; 1654 SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
@@ -1434,9 +1660,9 @@ @@ -1434,9 +1660,9 @@
1434 }; 1660 };
1435 name = Release; 1661 name = Release;
1436 }; 1662 };
1437 - 1B61C55D15B9275F78EF98CF41835A8C /* Release */ = { 1663 + 215A480FCE0C128FA2F4C2A2882BBE23 /* Debug */ = {
1438 isa = XCBuildConfiguration; 1664 isa = XCBuildConfiguration;
1439 - baseConfigurationReference = 2FC4CFE117A04773D45A722671264254 /* SwiftHash.xcconfig */; 1665 + baseConfigurationReference = 3813A00560E8E809CF107BA098D6A666 /* Toast.xcconfig */;
1440 buildSettings = { 1666 buildSettings = {
1441 CODE_SIGN_IDENTITY = ""; 1667 CODE_SIGN_IDENTITY = "";
1442 "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; 1668 "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
@@ -1447,28 +1673,26 @@ @@ -1447,28 +1673,26 @@
1447 DYLIB_COMPATIBILITY_VERSION = 1; 1673 DYLIB_COMPATIBILITY_VERSION = 1;
1448 DYLIB_CURRENT_VERSION = 1; 1674 DYLIB_CURRENT_VERSION = 1;
1449 DYLIB_INSTALL_NAME_BASE = "@rpath"; 1675 DYLIB_INSTALL_NAME_BASE = "@rpath";
1450 - GCC_PREFIX_HEADER = "Target Support Files/SwiftHash/SwiftHash-prefix.pch";  
1451 - INFOPLIST_FILE = "Target Support Files/SwiftHash/Info.plist"; 1676 + GCC_PREFIX_HEADER = "Target Support Files/Toast/Toast-prefix.pch";
  1677 + INFOPLIST_FILE = "Target Support Files/Toast/Info.plist";
1452 INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; 1678 INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
1453 IPHONEOS_DEPLOYMENT_TARGET = 8.0; 1679 IPHONEOS_DEPLOYMENT_TARGET = 8.0;
1454 LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 1680 LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
1455 - MODULEMAP_FILE = "Target Support Files/SwiftHash/SwiftHash.modulemap";  
1456 - PRODUCT_NAME = SwiftHash; 1681 + MODULEMAP_FILE = "Target Support Files/Toast/Toast.modulemap";
  1682 + PRODUCT_NAME = Toast;
1457 SDKROOT = iphoneos; 1683 SDKROOT = iphoneos;
1458 SKIP_INSTALL = YES; 1684 SKIP_INSTALL = YES;
1459 SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; 1685 SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
1460 - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";  
1461 SWIFT_VERSION = 4.0; 1686 SWIFT_VERSION = 4.0;
1462 TARGETED_DEVICE_FAMILY = "1,2"; 1687 TARGETED_DEVICE_FAMILY = "1,2";
1463 - VALIDATE_PRODUCT = YES;  
1464 VERSIONING_SYSTEM = "apple-generic"; 1688 VERSIONING_SYSTEM = "apple-generic";
1465 VERSION_INFO_PREFIX = ""; 1689 VERSION_INFO_PREFIX = "";
1466 }; 1690 };
1467 - name = Release; 1691 + name = Debug;
1468 }; 1692 };
1469 - 221A0B364FEF2A67B9ED8643E3C8B6C2 /* Debug */ = { 1693 + 2386F65ABDB52652A92CBEE14C73BA07 /* Debug */ = {
1470 isa = XCBuildConfiguration; 1694 isa = XCBuildConfiguration;
1471 - baseConfigurationReference = D74BA5E95BF76C0B32981308D5F456D2 /* Reachability.xcconfig */; 1695 + baseConfigurationReference = 87D16ABF7E5F8A01191A86657C5C16BA /* XRCarouselView.xcconfig */;
1472 buildSettings = { 1696 buildSettings = {
1473 CODE_SIGN_IDENTITY = ""; 1697 CODE_SIGN_IDENTITY = "";
1474 "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; 1698 "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
@@ -1479,13 +1703,13 @@ @@ -1479,13 +1703,13 @@
1479 DYLIB_COMPATIBILITY_VERSION = 1; 1703 DYLIB_COMPATIBILITY_VERSION = 1;
1480 DYLIB_CURRENT_VERSION = 1; 1704 DYLIB_CURRENT_VERSION = 1;
1481 DYLIB_INSTALL_NAME_BASE = "@rpath"; 1705 DYLIB_INSTALL_NAME_BASE = "@rpath";
1482 - GCC_PREFIX_HEADER = "Target Support Files/Reachability/Reachability-prefix.pch";  
1483 - INFOPLIST_FILE = "Target Support Files/Reachability/Info.plist"; 1706 + GCC_PREFIX_HEADER = "Target Support Files/XRCarouselView/XRCarouselView-prefix.pch";
  1707 + INFOPLIST_FILE = "Target Support Files/XRCarouselView/Info.plist";
1484 INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; 1708 INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
1485 IPHONEOS_DEPLOYMENT_TARGET = 8.0; 1709 IPHONEOS_DEPLOYMENT_TARGET = 8.0;
1486 LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 1710 LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
1487 - MODULEMAP_FILE = "Target Support Files/Reachability/Reachability.modulemap";  
1488 - PRODUCT_NAME = Reachability; 1711 + MODULEMAP_FILE = "Target Support Files/XRCarouselView/XRCarouselView.modulemap";
  1712 + PRODUCT_NAME = XRCarouselView;
1489 SDKROOT = iphoneos; 1713 SDKROOT = iphoneos;
1490 SKIP_INSTALL = YES; 1714 SKIP_INSTALL = YES;
1491 SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; 1715 SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
@@ -1496,9 +1720,9 @@ @@ -1496,9 +1720,9 @@
1496 }; 1720 };
1497 name = Debug; 1721 name = Debug;
1498 }; 1722 };
1499 - 3509F94219F8C0180F27F969FE4896C7 /* Release */ = { 1723 + 2399E3FF594AB08E0DAC9484992C0F91 /* Release */ = {
1500 isa = XCBuildConfiguration; 1724 isa = XCBuildConfiguration;
1501 - baseConfigurationReference = 84670A87CCA67437A39C22AA9283BD91 /* SDWebImage.xcconfig */; 1725 + baseConfigurationReference = BF1709B1277BE62B09381A0534563DE2 /* SwiftHash.xcconfig */;
1502 buildSettings = { 1726 buildSettings = {
1503 CODE_SIGN_IDENTITY = ""; 1727 CODE_SIGN_IDENTITY = "";
1504 "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; 1728 "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
@@ -1509,16 +1733,17 @@ @@ -1509,16 +1733,17 @@
1509 DYLIB_COMPATIBILITY_VERSION = 1; 1733 DYLIB_COMPATIBILITY_VERSION = 1;
1510 DYLIB_CURRENT_VERSION = 1; 1734 DYLIB_CURRENT_VERSION = 1;
1511 DYLIB_INSTALL_NAME_BASE = "@rpath"; 1735 DYLIB_INSTALL_NAME_BASE = "@rpath";
1512 - GCC_PREFIX_HEADER = "Target Support Files/SDWebImage/SDWebImage-prefix.pch";  
1513 - INFOPLIST_FILE = "Target Support Files/SDWebImage/Info.plist"; 1736 + GCC_PREFIX_HEADER = "Target Support Files/SwiftHash/SwiftHash-prefix.pch";
  1737 + INFOPLIST_FILE = "Target Support Files/SwiftHash/Info.plist";
1514 INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; 1738 INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
1515 IPHONEOS_DEPLOYMENT_TARGET = 8.0; 1739 IPHONEOS_DEPLOYMENT_TARGET = 8.0;
1516 LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 1740 LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
1517 - MODULEMAP_FILE = "Target Support Files/SDWebImage/SDWebImage.modulemap";  
1518 - PRODUCT_NAME = SDWebImage; 1741 + MODULEMAP_FILE = "Target Support Files/SwiftHash/SwiftHash.modulemap";
  1742 + PRODUCT_NAME = SwiftHash;
1519 SDKROOT = iphoneos; 1743 SDKROOT = iphoneos;
1520 SKIP_INSTALL = YES; 1744 SKIP_INSTALL = YES;
1521 SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; 1745 SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
  1746 + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
1522 SWIFT_VERSION = 4.0; 1747 SWIFT_VERSION = 4.0;
1523 TARGETED_DEVICE_FAMILY = "1,2"; 1748 TARGETED_DEVICE_FAMILY = "1,2";
1524 VALIDATE_PRODUCT = YES; 1749 VALIDATE_PRODUCT = YES;
@@ -1527,9 +1752,67 @@ @@ -1527,9 +1752,67 @@
1527 }; 1752 };
1528 name = Release; 1753 name = Release;
1529 }; 1754 };
1530 - 4765818A1328458B489A71A25C6DD2FD /* Release */ = { 1755 + 26F954BA177A9A46FFFD4E23ED11D67A /* Release */ = {
1531 isa = XCBuildConfiguration; 1756 isa = XCBuildConfiguration;
1532 - baseConfigurationReference = D74BA5E95BF76C0B32981308D5F456D2 /* Reachability.xcconfig */; 1757 + buildSettings = {
  1758 + ALWAYS_SEARCH_USER_PATHS = NO;
  1759 + CLANG_ANALYZER_NONNULL = YES;
  1760 + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
  1761 + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
  1762 + CLANG_CXX_LIBRARY = "libc++";
  1763 + CLANG_ENABLE_MODULES = YES;
  1764 + CLANG_ENABLE_OBJC_ARC = YES;
  1765 + CLANG_ENABLE_OBJC_WEAK = YES;
  1766 + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
  1767 + CLANG_WARN_BOOL_CONVERSION = YES;
  1768 + CLANG_WARN_COMMA = YES;
  1769 + CLANG_WARN_CONSTANT_CONVERSION = YES;
  1770 + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
  1771 + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
  1772 + CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
  1773 + CLANG_WARN_EMPTY_BODY = YES;
  1774 + CLANG_WARN_ENUM_CONVERSION = YES;
  1775 + CLANG_WARN_INFINITE_RECURSION = YES;
  1776 + CLANG_WARN_INT_CONVERSION = YES;
  1777 + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
  1778 + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
  1779 + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
  1780 + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
  1781 + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
  1782 + CLANG_WARN_STRICT_PROTOTYPES = YES;
  1783 + CLANG_WARN_SUSPICIOUS_MOVE = YES;
  1784 + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
  1785 + CLANG_WARN_UNREACHABLE_CODE = YES;
  1786 + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
  1787 + CODE_SIGNING_REQUIRED = NO;
  1788 + COPY_PHASE_STRIP = NO;
  1789 + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
  1790 + ENABLE_NS_ASSERTIONS = NO;
  1791 + ENABLE_STRICT_OBJC_MSGSEND = YES;
  1792 + GCC_C_LANGUAGE_STANDARD = gnu11;
  1793 + GCC_NO_COMMON_BLOCKS = YES;
  1794 + GCC_PREPROCESSOR_DEFINITIONS = (
  1795 + "POD_CONFIGURATION_RELEASE=1",
  1796 + "$(inherited)",
  1797 + );
  1798 + GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
  1799 + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
  1800 + GCC_WARN_UNDECLARED_SELECTOR = YES;
  1801 + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
  1802 + GCC_WARN_UNUSED_FUNCTION = YES;
  1803 + GCC_WARN_UNUSED_VARIABLE = YES;
  1804 + IPHONEOS_DEPLOYMENT_TARGET = 9.0;
  1805 + MTL_ENABLE_DEBUG_INFO = NO;
  1806 + PRODUCT_NAME = "$(TARGET_NAME)";
  1807 + PROVISIONING_PROFILE_SPECIFIER = NO_SIGNING/;
  1808 + STRIP_INSTALLED_PRODUCT = NO;
  1809 + SYMROOT = "${SRCROOT}/../build";
  1810 + };
  1811 + name = Release;
  1812 + };
  1813 + 3D9BEB881A70984931EB7B52EB42D89C /* Debug */ = {
  1814 + isa = XCBuildConfiguration;
  1815 + baseConfigurationReference = 43766E6C5ADEB0502C1E3C6049C5D9AC /* SVProgressHUD.xcconfig */;
1533 buildSettings = { 1816 buildSettings = {
1534 CODE_SIGN_IDENTITY = ""; 1817 CODE_SIGN_IDENTITY = "";
1535 "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; 1818 "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
@@ -1540,27 +1823,26 @@ @@ -1540,27 +1823,26 @@
1540 DYLIB_COMPATIBILITY_VERSION = 1; 1823 DYLIB_COMPATIBILITY_VERSION = 1;
1541 DYLIB_CURRENT_VERSION = 1; 1824 DYLIB_CURRENT_VERSION = 1;
1542 DYLIB_INSTALL_NAME_BASE = "@rpath"; 1825 DYLIB_INSTALL_NAME_BASE = "@rpath";
1543 - GCC_PREFIX_HEADER = "Target Support Files/Reachability/Reachability-prefix.pch";  
1544 - INFOPLIST_FILE = "Target Support Files/Reachability/Info.plist"; 1826 + GCC_PREFIX_HEADER = "Target Support Files/SVProgressHUD/SVProgressHUD-prefix.pch";
  1827 + INFOPLIST_FILE = "Target Support Files/SVProgressHUD/Info.plist";
1545 INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; 1828 INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
1546 IPHONEOS_DEPLOYMENT_TARGET = 8.0; 1829 IPHONEOS_DEPLOYMENT_TARGET = 8.0;
1547 LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 1830 LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
1548 - MODULEMAP_FILE = "Target Support Files/Reachability/Reachability.modulemap";  
1549 - PRODUCT_NAME = Reachability; 1831 + MODULEMAP_FILE = "Target Support Files/SVProgressHUD/SVProgressHUD.modulemap";
  1832 + PRODUCT_NAME = SVProgressHUD;
1550 SDKROOT = iphoneos; 1833 SDKROOT = iphoneos;
1551 SKIP_INSTALL = YES; 1834 SKIP_INSTALL = YES;
1552 SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; 1835 SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
1553 SWIFT_VERSION = 4.0; 1836 SWIFT_VERSION = 4.0;
1554 TARGETED_DEVICE_FAMILY = "1,2"; 1837 TARGETED_DEVICE_FAMILY = "1,2";
1555 - VALIDATE_PRODUCT = YES;  
1556 VERSIONING_SYSTEM = "apple-generic"; 1838 VERSIONING_SYSTEM = "apple-generic";
1557 VERSION_INFO_PREFIX = ""; 1839 VERSION_INFO_PREFIX = "";
1558 }; 1840 };
1559 - name = Release; 1841 + name = Debug;
1560 }; 1842 };
1561 - 5639E296250E6E2ACB29FD06E52425B5 /* Debug */ = { 1843 + 51211605D5BBC568B59C86BC410917A5 /* Release */ = {
1562 isa = XCBuildConfiguration; 1844 isa = XCBuildConfiguration;
1563 - baseConfigurationReference = 6B21942FBE159527EB1D0AF00F186213 /* SVProgressHUD.xcconfig */; 1845 + baseConfigurationReference = 43766E6C5ADEB0502C1E3C6049C5D9AC /* SVProgressHUD.xcconfig */;
1564 buildSettings = { 1846 buildSettings = {
1565 CODE_SIGN_IDENTITY = ""; 1847 CODE_SIGN_IDENTITY = "";
1566 "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; 1848 "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
@@ -1583,14 +1865,15 @@ @@ -1583,14 +1865,15 @@
1583 SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; 1865 SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
1584 SWIFT_VERSION = 4.0; 1866 SWIFT_VERSION = 4.0;
1585 TARGETED_DEVICE_FAMILY = "1,2"; 1867 TARGETED_DEVICE_FAMILY = "1,2";
  1868 + VALIDATE_PRODUCT = YES;
1586 VERSIONING_SYSTEM = "apple-generic"; 1869 VERSIONING_SYSTEM = "apple-generic";
1587 VERSION_INFO_PREFIX = ""; 1870 VERSION_INFO_PREFIX = "";
1588 }; 1871 };
1589 - name = Debug; 1872 + name = Release;
1590 }; 1873 };
1591 - 678C04D92DAB53DB9148EF9D86B284F6 /* Release */ = { 1874 + 601BFB40515FF6C016B5850C2D905027 /* Release */ = {
1592 isa = XCBuildConfiguration; 1875 isa = XCBuildConfiguration;
1593 - baseConfigurationReference = 696AD0A2FD8EAD1C1AD0CBCE4FAF2CFE /* Pods-ParentAssistant.release.xcconfig */; 1876 + baseConfigurationReference = 77EFE064376F26AEED2B1971235A88EF /* Pods-ParentAssistant.release.xcconfig */;
1594 buildSettings = { 1877 buildSettings = {
1595 CODE_SIGN_IDENTITY = ""; 1878 CODE_SIGN_IDENTITY = "";
1596 "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; 1879 "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
@@ -1624,7 +1907,7 @@ @@ -1624,7 +1907,7 @@
1624 }; 1907 };
1625 68EC31FD5ED5128B6144732DB7C7AEAA /* Release */ = { 1908 68EC31FD5ED5128B6144732DB7C7AEAA /* Release */ = {
1626 isa = XCBuildConfiguration; 1909 isa = XCBuildConfiguration;
1627 - baseConfigurationReference = 2ADCD0ECDFD3DA272B8B40DC1449DEA8 /* Alamofire.xcconfig */; 1910 + baseConfigurationReference = EA6D07581B965169F4C036A600CF86BB /* Alamofire.xcconfig */;
1628 buildSettings = { 1911 buildSettings = {
1629 CODE_SIGN_IDENTITY = ""; 1912 CODE_SIGN_IDENTITY = "";
1630 "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; 1913 "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
@@ -1654,64 +1937,39 @@ @@ -1654,64 +1937,39 @@
1654 }; 1937 };
1655 name = Release; 1938 name = Release;
1656 }; 1939 };
1657 - 6F9224530522DD3C735EC96CF142642E /* Release */ = { 1940 + 793948A7CE88FCA234DA7EFD60D4178E /* Debug */ = {
1658 isa = XCBuildConfiguration; 1941 isa = XCBuildConfiguration;
  1942 + baseConfigurationReference = 328C2C3F0CBE7948196AEE1B0FA7B3F4 /* DZNEmptyDataSet.xcconfig */;
1659 buildSettings = { 1943 buildSettings = {
1660 - ALWAYS_SEARCH_USER_PATHS = NO;  
1661 - CLANG_ANALYZER_NONNULL = YES;  
1662 - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;  
1663 - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";  
1664 - CLANG_CXX_LIBRARY = "libc++";  
1665 - CLANG_ENABLE_MODULES = YES;  
1666 - CLANG_ENABLE_OBJC_ARC = YES;  
1667 - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;  
1668 - CLANG_WARN_BOOL_CONVERSION = YES;  
1669 - CLANG_WARN_COMMA = YES;  
1670 - CLANG_WARN_CONSTANT_CONVERSION = YES;  
1671 - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;  
1672 - CLANG_WARN_DOCUMENTATION_COMMENTS = YES;  
1673 - CLANG_WARN_EMPTY_BODY = YES;  
1674 - CLANG_WARN_ENUM_CONVERSION = YES;  
1675 - CLANG_WARN_INFINITE_RECURSION = YES;  
1676 - CLANG_WARN_INT_CONVERSION = YES;  
1677 - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;  
1678 - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;  
1679 - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;  
1680 - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;  
1681 - CLANG_WARN_STRICT_PROTOTYPES = YES;  
1682 - CLANG_WARN_SUSPICIOUS_MOVE = YES;  
1683 - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;  
1684 - CLANG_WARN_UNREACHABLE_CODE = YES;  
1685 - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;  
1686 - CODE_SIGNING_REQUIRED = NO;  
1687 - COPY_PHASE_STRIP = NO;  
1688 - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";  
1689 - ENABLE_NS_ASSERTIONS = NO;  
1690 - ENABLE_STRICT_OBJC_MSGSEND = YES;  
1691 - GCC_C_LANGUAGE_STANDARD = gnu11;  
1692 - GCC_NO_COMMON_BLOCKS = YES;  
1693 - GCC_PREPROCESSOR_DEFINITIONS = (  
1694 - "POD_CONFIGURATION_RELEASE=1",  
1695 - "$(inherited)",  
1696 - );  
1697 - GCC_WARN_64_TO_32_BIT_CONVERSION = YES;  
1698 - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;  
1699 - GCC_WARN_UNDECLARED_SELECTOR = YES;  
1700 - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;  
1701 - GCC_WARN_UNUSED_FUNCTION = YES;  
1702 - GCC_WARN_UNUSED_VARIABLE = YES;  
1703 - IPHONEOS_DEPLOYMENT_TARGET = 9.0;  
1704 - MTL_ENABLE_DEBUG_INFO = NO;  
1705 - PRODUCT_NAME = "$(TARGET_NAME)";  
1706 - PROVISIONING_PROFILE_SPECIFIER = NO_SIGNING/;  
1707 - STRIP_INSTALLED_PRODUCT = NO;  
1708 - SYMROOT = "${SRCROOT}/../build"; 1944 + CODE_SIGN_IDENTITY = "";
  1945 + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
  1946 + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
  1947 + "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
  1948 + CURRENT_PROJECT_VERSION = 1;
  1949 + DEFINES_MODULE = YES;
  1950 + DYLIB_COMPATIBILITY_VERSION = 1;
  1951 + DYLIB_CURRENT_VERSION = 1;
  1952 + DYLIB_INSTALL_NAME_BASE = "@rpath";
  1953 + GCC_PREFIX_HEADER = "Target Support Files/DZNEmptyDataSet/DZNEmptyDataSet-prefix.pch";
  1954 + INFOPLIST_FILE = "Target Support Files/DZNEmptyDataSet/Info.plist";
  1955 + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
  1956 + IPHONEOS_DEPLOYMENT_TARGET = 8.0;
  1957 + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
  1958 + MODULEMAP_FILE = "Target Support Files/DZNEmptyDataSet/DZNEmptyDataSet.modulemap";
  1959 + PRODUCT_NAME = DZNEmptyDataSet;
  1960 + SDKROOT = iphoneos;
  1961 + SKIP_INSTALL = YES;
  1962 + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
  1963 + SWIFT_VERSION = 4.0;
  1964 + TARGETED_DEVICE_FAMILY = "1,2";
  1965 + VERSIONING_SYSTEM = "apple-generic";
  1966 + VERSION_INFO_PREFIX = "";
1709 }; 1967 };
1710 - name = Release; 1968 + name = Debug;
1711 }; 1969 };
1712 - 70B017BA24763D88E2D321961592B543 /* Debug */ = { 1970 + 8056BF0CAA9260FAFEF0C71AA27ED129 /* Debug */ = {
1713 isa = XCBuildConfiguration; 1971 isa = XCBuildConfiguration;
1714 - baseConfigurationReference = 84670A87CCA67437A39C22AA9283BD91 /* SDWebImage.xcconfig */; 1972 + baseConfigurationReference = EA6D07581B965169F4C036A600CF86BB /* Alamofire.xcconfig */;
1715 buildSettings = { 1973 buildSettings = {
1716 CODE_SIGN_IDENTITY = ""; 1974 CODE_SIGN_IDENTITY = "";
1717 "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; 1975 "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
@@ -1722,16 +1980,17 @@ @@ -1722,16 +1980,17 @@
1722 DYLIB_COMPATIBILITY_VERSION = 1; 1980 DYLIB_COMPATIBILITY_VERSION = 1;
1723 DYLIB_CURRENT_VERSION = 1; 1981 DYLIB_CURRENT_VERSION = 1;
1724 DYLIB_INSTALL_NAME_BASE = "@rpath"; 1982 DYLIB_INSTALL_NAME_BASE = "@rpath";
1725 - GCC_PREFIX_HEADER = "Target Support Files/SDWebImage/SDWebImage-prefix.pch";  
1726 - INFOPLIST_FILE = "Target Support Files/SDWebImage/Info.plist"; 1983 + GCC_PREFIX_HEADER = "Target Support Files/Alamofire/Alamofire-prefix.pch";
  1984 + INFOPLIST_FILE = "Target Support Files/Alamofire/Info.plist";
1727 INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; 1985 INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
1728 - IPHONEOS_DEPLOYMENT_TARGET = 8.0; 1986 + IPHONEOS_DEPLOYMENT_TARGET = 9.0;
1729 LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 1987 LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
1730 - MODULEMAP_FILE = "Target Support Files/SDWebImage/SDWebImage.modulemap";  
1731 - PRODUCT_NAME = SDWebImage; 1988 + MODULEMAP_FILE = "Target Support Files/Alamofire/Alamofire.modulemap";
  1989 + PRODUCT_NAME = Alamofire;
1732 SDKROOT = iphoneos; 1990 SDKROOT = iphoneos;
1733 SKIP_INSTALL = YES; 1991 SKIP_INSTALL = YES;
1734 SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; 1992 SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
  1993 + SWIFT_OPTIMIZATION_LEVEL = "-Onone";
1735 SWIFT_VERSION = 4.0; 1994 SWIFT_VERSION = 4.0;
1736 TARGETED_DEVICE_FAMILY = "1,2"; 1995 TARGETED_DEVICE_FAMILY = "1,2";
1737 VERSIONING_SYSTEM = "apple-generic"; 1996 VERSIONING_SYSTEM = "apple-generic";
@@ -1739,9 +1998,9 @@ @@ -1739,9 +1998,9 @@
1739 }; 1998 };
1740 name = Debug; 1999 name = Debug;
1741 }; 2000 };
1742 - 793948A7CE88FCA234DA7EFD60D4178E /* Debug */ = { 2001 + 83018C328C9420EE22D60BC4FC7C261D /* Debug */ = {
1743 isa = XCBuildConfiguration; 2002 isa = XCBuildConfiguration;
1744 - baseConfigurationReference = 832F8842DD7AD56024ADF50860D248DD /* DZNEmptyDataSet.xcconfig */; 2003 + baseConfigurationReference = 4357F76011180D7A84AB5281135FBC76 /* Reachability.xcconfig */;
1745 buildSettings = { 2004 buildSettings = {
1746 CODE_SIGN_IDENTITY = ""; 2005 CODE_SIGN_IDENTITY = "";
1747 "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; 2006 "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
@@ -1752,13 +2011,13 @@ @@ -1752,13 +2011,13 @@
1752 DYLIB_COMPATIBILITY_VERSION = 1; 2011 DYLIB_COMPATIBILITY_VERSION = 1;
1753 DYLIB_CURRENT_VERSION = 1; 2012 DYLIB_CURRENT_VERSION = 1;
1754 DYLIB_INSTALL_NAME_BASE = "@rpath"; 2013 DYLIB_INSTALL_NAME_BASE = "@rpath";
1755 - GCC_PREFIX_HEADER = "Target Support Files/DZNEmptyDataSet/DZNEmptyDataSet-prefix.pch";  
1756 - INFOPLIST_FILE = "Target Support Files/DZNEmptyDataSet/Info.plist"; 2014 + GCC_PREFIX_HEADER = "Target Support Files/Reachability/Reachability-prefix.pch";
  2015 + INFOPLIST_FILE = "Target Support Files/Reachability/Info.plist";
1757 INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; 2016 INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
1758 IPHONEOS_DEPLOYMENT_TARGET = 8.0; 2017 IPHONEOS_DEPLOYMENT_TARGET = 8.0;
1759 LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 2018 LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
1760 - MODULEMAP_FILE = "Target Support Files/DZNEmptyDataSet/DZNEmptyDataSet.modulemap";  
1761 - PRODUCT_NAME = DZNEmptyDataSet; 2019 + MODULEMAP_FILE = "Target Support Files/Reachability/Reachability.modulemap";
  2020 + PRODUCT_NAME = Reachability;
1762 SDKROOT = iphoneos; 2021 SDKROOT = iphoneos;
1763 SKIP_INSTALL = YES; 2022 SKIP_INSTALL = YES;
1764 SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; 2023 SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
@@ -1769,9 +2028,9 @@ @@ -1769,9 +2028,9 @@
1769 }; 2028 };
1770 name = Debug; 2029 name = Debug;
1771 }; 2030 };
1772 - 7CD39388495620BAFBA6C3BF0F0911B1 /* Debug */ = { 2031 + 8C67AFC68147451E22867E04C2F78264 /* Debug */ = {
1773 isa = XCBuildConfiguration; 2032 isa = XCBuildConfiguration;
1774 - baseConfigurationReference = 2FC4CFE117A04773D45A722671264254 /* SwiftHash.xcconfig */; 2033 + baseConfigurationReference = AC7C53CF4231A641CE59A3CD5991C5C1 /* SDWebImage.xcconfig */;
1775 buildSettings = { 2034 buildSettings = {
1776 CODE_SIGN_IDENTITY = ""; 2035 CODE_SIGN_IDENTITY = "";
1777 "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; 2036 "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
@@ -1782,17 +2041,16 @@ @@ -1782,17 +2041,16 @@
1782 DYLIB_COMPATIBILITY_VERSION = 1; 2041 DYLIB_COMPATIBILITY_VERSION = 1;
1783 DYLIB_CURRENT_VERSION = 1; 2042 DYLIB_CURRENT_VERSION = 1;
1784 DYLIB_INSTALL_NAME_BASE = "@rpath"; 2043 DYLIB_INSTALL_NAME_BASE = "@rpath";
1785 - GCC_PREFIX_HEADER = "Target Support Files/SwiftHash/SwiftHash-prefix.pch";  
1786 - INFOPLIST_FILE = "Target Support Files/SwiftHash/Info.plist"; 2044 + GCC_PREFIX_HEADER = "Target Support Files/SDWebImage/SDWebImage-prefix.pch";
  2045 + INFOPLIST_FILE = "Target Support Files/SDWebImage/Info.plist";
1787 INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; 2046 INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
1788 IPHONEOS_DEPLOYMENT_TARGET = 8.0; 2047 IPHONEOS_DEPLOYMENT_TARGET = 8.0;
1789 LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 2048 LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
1790 - MODULEMAP_FILE = "Target Support Files/SwiftHash/SwiftHash.modulemap";  
1791 - PRODUCT_NAME = SwiftHash; 2049 + MODULEMAP_FILE = "Target Support Files/SDWebImage/SDWebImage.modulemap";
  2050 + PRODUCT_NAME = SDWebImage;
1792 SDKROOT = iphoneos; 2051 SDKROOT = iphoneos;
1793 SKIP_INSTALL = YES; 2052 SKIP_INSTALL = YES;
1794 SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; 2053 SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
1795 - SWIFT_OPTIMIZATION_LEVEL = "-Onone";  
1796 SWIFT_VERSION = 4.0; 2054 SWIFT_VERSION = 4.0;
1797 TARGETED_DEVICE_FAMILY = "1,2"; 2055 TARGETED_DEVICE_FAMILY = "1,2";
1798 VERSIONING_SYSTEM = "apple-generic"; 2056 VERSIONING_SYSTEM = "apple-generic";
@@ -1800,9 +2058,9 @@ @@ -1800,9 +2058,9 @@
1800 }; 2058 };
1801 name = Debug; 2059 name = Debug;
1802 }; 2060 };
1803 - 8056BF0CAA9260FAFEF0C71AA27ED129 /* Debug */ = { 2061 + A8F73C58AFDC02718271B7541ABA62EF /* Release */ = {
1804 isa = XCBuildConfiguration; 2062 isa = XCBuildConfiguration;
1805 - baseConfigurationReference = 2ADCD0ECDFD3DA272B8B40DC1449DEA8 /* Alamofire.xcconfig */; 2063 + baseConfigurationReference = 3813A00560E8E809CF107BA098D6A666 /* Toast.xcconfig */;
1806 buildSettings = { 2064 buildSettings = {
1807 CODE_SIGN_IDENTITY = ""; 2065 CODE_SIGN_IDENTITY = "";
1808 "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; 2066 "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
@@ -1813,27 +2071,27 @@ @@ -1813,27 +2071,27 @@
1813 DYLIB_COMPATIBILITY_VERSION = 1; 2071 DYLIB_COMPATIBILITY_VERSION = 1;
1814 DYLIB_CURRENT_VERSION = 1; 2072 DYLIB_CURRENT_VERSION = 1;
1815 DYLIB_INSTALL_NAME_BASE = "@rpath"; 2073 DYLIB_INSTALL_NAME_BASE = "@rpath";
1816 - GCC_PREFIX_HEADER = "Target Support Files/Alamofire/Alamofire-prefix.pch";  
1817 - INFOPLIST_FILE = "Target Support Files/Alamofire/Info.plist"; 2074 + GCC_PREFIX_HEADER = "Target Support Files/Toast/Toast-prefix.pch";
  2075 + INFOPLIST_FILE = "Target Support Files/Toast/Info.plist";
1818 INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; 2076 INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
1819 - IPHONEOS_DEPLOYMENT_TARGET = 9.0; 2077 + IPHONEOS_DEPLOYMENT_TARGET = 8.0;
1820 LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 2078 LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
1821 - MODULEMAP_FILE = "Target Support Files/Alamofire/Alamofire.modulemap";  
1822 - PRODUCT_NAME = Alamofire; 2079 + MODULEMAP_FILE = "Target Support Files/Toast/Toast.modulemap";
  2080 + PRODUCT_NAME = Toast;
1823 SDKROOT = iphoneos; 2081 SDKROOT = iphoneos;
1824 SKIP_INSTALL = YES; 2082 SKIP_INSTALL = YES;
1825 SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; 2083 SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
1826 - SWIFT_OPTIMIZATION_LEVEL = "-Onone";  
1827 SWIFT_VERSION = 4.0; 2084 SWIFT_VERSION = 4.0;
1828 TARGETED_DEVICE_FAMILY = "1,2"; 2085 TARGETED_DEVICE_FAMILY = "1,2";
  2086 + VALIDATE_PRODUCT = YES;
1829 VERSIONING_SYSTEM = "apple-generic"; 2087 VERSIONING_SYSTEM = "apple-generic";
1830 VERSION_INFO_PREFIX = ""; 2088 VERSION_INFO_PREFIX = "";
1831 }; 2089 };
1832 - name = Debug; 2090 + name = Release;
1833 }; 2091 };
1834 - 92283DF0957D7261B38B97C42B648912 /* Debug */ = { 2092 + C86EB4C0D42E7F340560C1573F6E52EF /* Release */ = {
1835 isa = XCBuildConfiguration; 2093 isa = XCBuildConfiguration;
1836 - baseConfigurationReference = BFD6362AE55791FAF76B6B3156C34632 /* Pods-ParentAssistant.debug.xcconfig */; 2094 + baseConfigurationReference = AC7C53CF4231A641CE59A3CD5991C5C1 /* SDWebImage.xcconfig */;
1837 buildSettings = { 2095 buildSettings = {
1838 CODE_SIGN_IDENTITY = ""; 2096 CODE_SIGN_IDENTITY = "";
1839 "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; 2097 "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
@@ -1844,30 +2102,27 @@ @@ -1844,30 +2102,27 @@
1844 DYLIB_COMPATIBILITY_VERSION = 1; 2102 DYLIB_COMPATIBILITY_VERSION = 1;
1845 DYLIB_CURRENT_VERSION = 1; 2103 DYLIB_CURRENT_VERSION = 1;
1846 DYLIB_INSTALL_NAME_BASE = "@rpath"; 2104 DYLIB_INSTALL_NAME_BASE = "@rpath";
1847 - INFOPLIST_FILE = "Target Support Files/Pods-ParentAssistant/Info.plist"; 2105 + GCC_PREFIX_HEADER = "Target Support Files/SDWebImage/SDWebImage-prefix.pch";
  2106 + INFOPLIST_FILE = "Target Support Files/SDWebImage/Info.plist";
1848 INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; 2107 INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
1849 - IPHONEOS_DEPLOYMENT_TARGET = 9.0; 2108 + IPHONEOS_DEPLOYMENT_TARGET = 8.0;
1850 LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 2109 LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
1851 - MACH_O_TYPE = staticlib;  
1852 - MODULEMAP_FILE = "Target Support Files/Pods-ParentAssistant/Pods-ParentAssistant.modulemap";  
1853 - OTHER_LDFLAGS = "";  
1854 - OTHER_LIBTOOLFLAGS = "";  
1855 - PODS_ROOT = "$(SRCROOT)";  
1856 - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";  
1857 - PRODUCT_NAME = Pods_ParentAssistant; 2110 + MODULEMAP_FILE = "Target Support Files/SDWebImage/SDWebImage.modulemap";
  2111 + PRODUCT_NAME = SDWebImage;
1858 SDKROOT = iphoneos; 2112 SDKROOT = iphoneos;
1859 SKIP_INSTALL = YES; 2113 SKIP_INSTALL = YES;
1860 - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;  
1861 - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; 2114 + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
  2115 + SWIFT_VERSION = 4.0;
1862 TARGETED_DEVICE_FAMILY = "1,2"; 2116 TARGETED_DEVICE_FAMILY = "1,2";
  2117 + VALIDATE_PRODUCT = YES;
1863 VERSIONING_SYSTEM = "apple-generic"; 2118 VERSIONING_SYSTEM = "apple-generic";
1864 VERSION_INFO_PREFIX = ""; 2119 VERSION_INFO_PREFIX = "";
1865 }; 2120 };
1866 - name = Debug; 2121 + name = Release;
1867 }; 2122 };
1868 - B4CAFAECC8ABEDE5FA3875262655C603 /* Debug */ = { 2123 + DAE72FF2FFE8166FA938EB388ABBC2B5 /* Debug */ = {
1869 isa = XCBuildConfiguration; 2124 isa = XCBuildConfiguration;
1870 - baseConfigurationReference = 014C7FE920EF761F412D3A3DEF529642 /* Toast.xcconfig */; 2125 + baseConfigurationReference = 6F37849A9F05E24161217B664F776F12 /* HandyJSON.xcconfig */;
1871 buildSettings = { 2126 buildSettings = {
1872 CODE_SIGN_IDENTITY = ""; 2127 CODE_SIGN_IDENTITY = "";
1873 "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; 2128 "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
@@ -1878,16 +2133,17 @@ @@ -1878,16 +2133,17 @@
1878 DYLIB_COMPATIBILITY_VERSION = 1; 2133 DYLIB_COMPATIBILITY_VERSION = 1;
1879 DYLIB_CURRENT_VERSION = 1; 2134 DYLIB_CURRENT_VERSION = 1;
1880 DYLIB_INSTALL_NAME_BASE = "@rpath"; 2135 DYLIB_INSTALL_NAME_BASE = "@rpath";
1881 - GCC_PREFIX_HEADER = "Target Support Files/Toast/Toast-prefix.pch";  
1882 - INFOPLIST_FILE = "Target Support Files/Toast/Info.plist"; 2136 + GCC_PREFIX_HEADER = "Target Support Files/HandyJSON/HandyJSON-prefix.pch";
  2137 + INFOPLIST_FILE = "Target Support Files/HandyJSON/Info.plist";
1883 INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; 2138 INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
1884 IPHONEOS_DEPLOYMENT_TARGET = 8.0; 2139 IPHONEOS_DEPLOYMENT_TARGET = 8.0;
1885 LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 2140 LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
1886 - MODULEMAP_FILE = "Target Support Files/Toast/Toast.modulemap";  
1887 - PRODUCT_NAME = Toast; 2141 + MODULEMAP_FILE = "Target Support Files/HandyJSON/HandyJSON.modulemap";
  2142 + PRODUCT_NAME = HandyJSON;
1888 SDKROOT = iphoneos; 2143 SDKROOT = iphoneos;
1889 SKIP_INSTALL = YES; 2144 SKIP_INSTALL = YES;
1890 SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; 2145 SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
  2146 + SWIFT_OPTIMIZATION_LEVEL = "-Onone";
1891 SWIFT_VERSION = 4.0; 2147 SWIFT_VERSION = 4.0;
1892 TARGETED_DEVICE_FAMILY = "1,2"; 2148 TARGETED_DEVICE_FAMILY = "1,2";
1893 VERSIONING_SYSTEM = "apple-generic"; 2149 VERSIONING_SYSTEM = "apple-generic";
@@ -1895,7 +2151,7 @@ @@ -1895,7 +2151,7 @@
1895 }; 2151 };
1896 name = Debug; 2152 name = Debug;
1897 }; 2153 };
1898 - B57951D085A1B98A97F8A1062A5E5C5B /* Debug */ = { 2154 + E2BF6D6731C31DE69900B7B24E6F0445 /* Debug */ = {
1899 isa = XCBuildConfiguration; 2155 isa = XCBuildConfiguration;
1900 buildSettings = { 2156 buildSettings = {
1901 ALWAYS_SEARCH_USER_PATHS = NO; 2157 ALWAYS_SEARCH_USER_PATHS = NO;
@@ -1905,10 +2161,12 @@ @@ -1905,10 +2161,12 @@
1905 CLANG_CXX_LIBRARY = "libc++"; 2161 CLANG_CXX_LIBRARY = "libc++";
1906 CLANG_ENABLE_MODULES = YES; 2162 CLANG_ENABLE_MODULES = YES;
1907 CLANG_ENABLE_OBJC_ARC = YES; 2163 CLANG_ENABLE_OBJC_ARC = YES;
  2164 + CLANG_ENABLE_OBJC_WEAK = YES;
1908 CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 2165 CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
1909 CLANG_WARN_BOOL_CONVERSION = YES; 2166 CLANG_WARN_BOOL_CONVERSION = YES;
1910 CLANG_WARN_COMMA = YES; 2167 CLANG_WARN_COMMA = YES;
1911 CLANG_WARN_CONSTANT_CONVERSION = YES; 2168 CLANG_WARN_CONSTANT_CONVERSION = YES;
  2169 + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
1912 CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 2170 CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
1913 CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 2171 CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
1914 CLANG_WARN_EMPTY_BODY = YES; 2172 CLANG_WARN_EMPTY_BODY = YES;
@@ -1916,6 +2174,7 @@ @@ -1916,6 +2174,7 @@
1916 CLANG_WARN_INFINITE_RECURSION = YES; 2174 CLANG_WARN_INFINITE_RECURSION = YES;
1917 CLANG_WARN_INT_CONVERSION = YES; 2175 CLANG_WARN_INT_CONVERSION = YES;
1918 CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 2176 CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
  2177 + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
1919 CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 2178 CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
1920 CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 2179 CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
1921 CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 2180 CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
@@ -1955,9 +2214,9 @@ @@ -1955,9 +2214,9 @@
1955 }; 2214 };
1956 name = Debug; 2215 name = Debug;
1957 }; 2216 };
1958 - BE36C1A612B2B72D14853C0199AD1E78 /* Debug */ = { 2217 + ECB5142D4DABB45B92371C51B3EB61F8 /* Release */ = {
1959 isa = XCBuildConfiguration; 2218 isa = XCBuildConfiguration;
1960 - baseConfigurationReference = 0DDBEBC88C2ECDDC1F9FEEDD60597135 /* XRCarouselView.xcconfig */; 2219 + baseConfigurationReference = 6F37849A9F05E24161217B664F776F12 /* HandyJSON.xcconfig */;
1961 buildSettings = { 2220 buildSettings = {
1962 CODE_SIGN_IDENTITY = ""; 2221 CODE_SIGN_IDENTITY = "";
1963 "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; 2222 "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
@@ -1968,16 +2227,49 @@ @@ -1968,16 +2227,49 @@
1968 DYLIB_COMPATIBILITY_VERSION = 1; 2227 DYLIB_COMPATIBILITY_VERSION = 1;
1969 DYLIB_CURRENT_VERSION = 1; 2228 DYLIB_CURRENT_VERSION = 1;
1970 DYLIB_INSTALL_NAME_BASE = "@rpath"; 2229 DYLIB_INSTALL_NAME_BASE = "@rpath";
1971 - GCC_PREFIX_HEADER = "Target Support Files/XRCarouselView/XRCarouselView-prefix.pch";  
1972 - INFOPLIST_FILE = "Target Support Files/XRCarouselView/Info.plist"; 2230 + GCC_PREFIX_HEADER = "Target Support Files/HandyJSON/HandyJSON-prefix.pch";
  2231 + INFOPLIST_FILE = "Target Support Files/HandyJSON/Info.plist";
1973 INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; 2232 INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
1974 IPHONEOS_DEPLOYMENT_TARGET = 8.0; 2233 IPHONEOS_DEPLOYMENT_TARGET = 8.0;
1975 LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 2234 LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
1976 - MODULEMAP_FILE = "Target Support Files/XRCarouselView/XRCarouselView.modulemap";  
1977 - PRODUCT_NAME = XRCarouselView; 2235 + MODULEMAP_FILE = "Target Support Files/HandyJSON/HandyJSON.modulemap";
  2236 + PRODUCT_NAME = HandyJSON;
1978 SDKROOT = iphoneos; 2237 SDKROOT = iphoneos;
1979 SKIP_INSTALL = YES; 2238 SKIP_INSTALL = YES;
1980 SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; 2239 SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
  2240 + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
  2241 + SWIFT_VERSION = 4.0;
  2242 + TARGETED_DEVICE_FAMILY = "1,2";
  2243 + VALIDATE_PRODUCT = YES;
  2244 + VERSIONING_SYSTEM = "apple-generic";
  2245 + VERSION_INFO_PREFIX = "";
  2246 + };
  2247 + name = Release;
  2248 + };
  2249 + EF0EA84D551F1A4F1232F2684FE87AD0 /* Debug */ = {
  2250 + isa = XCBuildConfiguration;
  2251 + baseConfigurationReference = BF1709B1277BE62B09381A0534563DE2 /* SwiftHash.xcconfig */;
  2252 + buildSettings = {
  2253 + CODE_SIGN_IDENTITY = "";
  2254 + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
  2255 + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
  2256 + "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
  2257 + CURRENT_PROJECT_VERSION = 1;
  2258 + DEFINES_MODULE = YES;
  2259 + DYLIB_COMPATIBILITY_VERSION = 1;
  2260 + DYLIB_CURRENT_VERSION = 1;
  2261 + DYLIB_INSTALL_NAME_BASE = "@rpath";
  2262 + GCC_PREFIX_HEADER = "Target Support Files/SwiftHash/SwiftHash-prefix.pch";
  2263 + INFOPLIST_FILE = "Target Support Files/SwiftHash/Info.plist";
  2264 + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
  2265 + IPHONEOS_DEPLOYMENT_TARGET = 8.0;
  2266 + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
  2267 + MODULEMAP_FILE = "Target Support Files/SwiftHash/SwiftHash.modulemap";
  2268 + PRODUCT_NAME = SwiftHash;
  2269 + SDKROOT = iphoneos;
  2270 + SKIP_INSTALL = YES;
  2271 + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
  2272 + SWIFT_OPTIMIZATION_LEVEL = "-Onone";
1981 SWIFT_VERSION = 4.0; 2273 SWIFT_VERSION = 4.0;
1982 TARGETED_DEVICE_FAMILY = "1,2"; 2274 TARGETED_DEVICE_FAMILY = "1,2";
1983 VERSIONING_SYSTEM = "apple-generic"; 2275 VERSIONING_SYSTEM = "apple-generic";
@@ -1985,9 +2277,9 @@ @@ -1985,9 +2277,9 @@
1985 }; 2277 };
1986 name = Debug; 2278 name = Debug;
1987 }; 2279 };
1988 - E904E666B743307368C6892CE2A626D1 /* Release */ = { 2280 + F9A4D3888E109251ADAC60180BC1B773 /* Release */ = {
1989 isa = XCBuildConfiguration; 2281 isa = XCBuildConfiguration;
1990 - baseConfigurationReference = 6B21942FBE159527EB1D0AF00F186213 /* SVProgressHUD.xcconfig */; 2282 + baseConfigurationReference = 87D16ABF7E5F8A01191A86657C5C16BA /* XRCarouselView.xcconfig */;
1991 buildSettings = { 2283 buildSettings = {
1992 CODE_SIGN_IDENTITY = ""; 2284 CODE_SIGN_IDENTITY = "";
1993 "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; 2285 "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
@@ -1998,13 +2290,13 @@ @@ -1998,13 +2290,13 @@
1998 DYLIB_COMPATIBILITY_VERSION = 1; 2290 DYLIB_COMPATIBILITY_VERSION = 1;
1999 DYLIB_CURRENT_VERSION = 1; 2291 DYLIB_CURRENT_VERSION = 1;
2000 DYLIB_INSTALL_NAME_BASE = "@rpath"; 2292 DYLIB_INSTALL_NAME_BASE = "@rpath";
2001 - GCC_PREFIX_HEADER = "Target Support Files/SVProgressHUD/SVProgressHUD-prefix.pch";  
2002 - INFOPLIST_FILE = "Target Support Files/SVProgressHUD/Info.plist"; 2293 + GCC_PREFIX_HEADER = "Target Support Files/XRCarouselView/XRCarouselView-prefix.pch";
  2294 + INFOPLIST_FILE = "Target Support Files/XRCarouselView/Info.plist";
2003 INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; 2295 INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
2004 IPHONEOS_DEPLOYMENT_TARGET = 8.0; 2296 IPHONEOS_DEPLOYMENT_TARGET = 8.0;
2005 LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 2297 LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
2006 - MODULEMAP_FILE = "Target Support Files/SVProgressHUD/SVProgressHUD.modulemap";  
2007 - PRODUCT_NAME = SVProgressHUD; 2298 + MODULEMAP_FILE = "Target Support Files/XRCarouselView/XRCarouselView.modulemap";
  2299 + PRODUCT_NAME = XRCarouselView;
2008 SDKROOT = iphoneos; 2300 SDKROOT = iphoneos;
2009 SKIP_INSTALL = YES; 2301 SKIP_INSTALL = YES;
2010 SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; 2302 SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
@@ -2019,11 +2311,11 @@ @@ -2019,11 +2311,11 @@
2019 /* End XCBuildConfiguration section */ 2311 /* End XCBuildConfiguration section */
2020 2312
2021 /* Begin XCConfigurationList section */ 2313 /* Begin XCConfigurationList section */
2022 - 17A21E32738F3835B84339E468B53827 /* Build configuration list for PBXNativeTarget "Reachability" */ = { 2314 + 184303B9B5FF90B2017E4D0073BC6423 /* Build configuration list for PBXNativeTarget "HandyJSON" */ = {
2023 isa = XCConfigurationList; 2315 isa = XCConfigurationList;
2024 buildConfigurations = ( 2316 buildConfigurations = (
2025 - 221A0B364FEF2A67B9ED8643E3C8B6C2 /* Debug */,  
2026 - 4765818A1328458B489A71A25C6DD2FD /* Release */, 2317 + DAE72FF2FFE8166FA938EB388ABBC2B5 /* Debug */,
  2318 + ECB5142D4DABB45B92371C51B3EB61F8 /* Release */,
2027 ); 2319 );
2028 defaultConfigurationIsVisible = 0; 2320 defaultConfigurationIsVisible = 0;
2029 defaultConfigurationName = Release; 2321 defaultConfigurationName = Release;
@@ -2031,8 +2323,17 @@ @@ -2031,8 +2323,17 @@
2031 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */ = { 2323 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */ = {
2032 isa = XCConfigurationList; 2324 isa = XCConfigurationList;
2033 buildConfigurations = ( 2325 buildConfigurations = (
2034 - B57951D085A1B98A97F8A1062A5E5C5B /* Debug */,  
2035 - 6F9224530522DD3C735EC96CF142642E /* Release */, 2326 + E2BF6D6731C31DE69900B7B24E6F0445 /* Debug */,
  2327 + 26F954BA177A9A46FFFD4E23ED11D67A /* Release */,
  2328 + );
  2329 + defaultConfigurationIsVisible = 0;
  2330 + defaultConfigurationName = Release;
  2331 + };
  2332 + 3EC2F42A94017DE0B0E897EBD57D8A00 /* Build configuration list for PBXNativeTarget "SwiftHash" */ = {
  2333 + isa = XCConfigurationList;
  2334 + buildConfigurations = (
  2335 + EF0EA84D551F1A4F1232F2684FE87AD0 /* Debug */,
  2336 + 2399E3FF594AB08E0DAC9484992C0F91 /* Release */,
2036 ); 2337 );
2037 defaultConfigurationIsVisible = 0; 2338 defaultConfigurationIsVisible = 0;
2038 defaultConfigurationName = Release; 2339 defaultConfigurationName = Release;
@@ -2046,65 +2347,65 @@ @@ -2046,65 +2347,65 @@
2046 defaultConfigurationIsVisible = 0; 2347 defaultConfigurationIsVisible = 0;
2047 defaultConfigurationName = Release; 2348 defaultConfigurationName = Release;
2048 }; 2349 };
2049 - 77898DB87F85C25503BBAD3CA03D0882 /* Build configuration list for PBXNativeTarget "XRCarouselView" */ = { 2350 + 4B18822C8ECAB5D855CCE64E74C621EB /* Build configuration list for PBXNativeTarget "SDWebImage" */ = {
2050 isa = XCConfigurationList; 2351 isa = XCConfigurationList;
2051 buildConfigurations = ( 2352 buildConfigurations = (
2052 - BE36C1A612B2B72D14853C0199AD1E78 /* Debug */,  
2053 - 119B03EBA7FDF534587EE293428E68E9 /* Release */, 2353 + 8C67AFC68147451E22867E04C2F78264 /* Debug */,
  2354 + C86EB4C0D42E7F340560C1573F6E52EF /* Release */,
2054 ); 2355 );
2055 defaultConfigurationIsVisible = 0; 2356 defaultConfigurationIsVisible = 0;
2056 defaultConfigurationName = Release; 2357 defaultConfigurationName = Release;
2057 }; 2358 };
2058 - 88497F1D92D54ED021B8F3746A720F0C /* Build configuration list for PBXNativeTarget "SwiftHash" */ = { 2359 + 5AD50E3B4812FC9FAE4961CBCA56B874 /* Build configuration list for PBXNativeTarget "Reachability" */ = {
2059 isa = XCConfigurationList; 2360 isa = XCConfigurationList;
2060 buildConfigurations = ( 2361 buildConfigurations = (
2061 - 7CD39388495620BAFBA6C3BF0F0911B1 /* Debug */,  
2062 - 1B61C55D15B9275F78EF98CF41835A8C /* Release */, 2362 + 83018C328C9420EE22D60BC4FC7C261D /* Debug */,
  2363 + 20A33051E49990EF2F5D75016374151E /* Release */,
2063 ); 2364 );
2064 defaultConfigurationIsVisible = 0; 2365 defaultConfigurationIsVisible = 0;
2065 defaultConfigurationName = Release; 2366 defaultConfigurationName = Release;
2066 }; 2367 };
2067 - AC2CBCE24382919CB3DBFC8BB3CC6503 /* Build configuration list for PBXNativeTarget "DZNEmptyDataSet" */ = { 2368 + 7700DD54DACF55CC6BABF28FFCAB0179 /* Build configuration list for PBXNativeTarget "Pods-ParentAssistant" */ = {
2068 isa = XCConfigurationList; 2369 isa = XCConfigurationList;
2069 buildConfigurations = ( 2370 buildConfigurations = (
2070 - 793948A7CE88FCA234DA7EFD60D4178E /* Debug */,  
2071 - 1456973998A5F20B4501A680D3794F6A /* Release */, 2371 + 205040859FD37102CD356142F35D96D4 /* Debug */,
  2372 + 601BFB40515FF6C016B5850C2D905027 /* Release */,
2072 ); 2373 );
2073 defaultConfigurationIsVisible = 0; 2374 defaultConfigurationIsVisible = 0;
2074 defaultConfigurationName = Release; 2375 defaultConfigurationName = Release;
2075 }; 2376 };
2076 - ADC914ABFB3C05178072EE4B63D42904 /* Build configuration list for PBXNativeTarget "Toast" */ = { 2377 + A4FA017D8C4362BABA6CC461A244CB9D /* Build configuration list for PBXNativeTarget "XRCarouselView" */ = {
2077 isa = XCConfigurationList; 2378 isa = XCConfigurationList;
2078 buildConfigurations = ( 2379 buildConfigurations = (
2079 - B4CAFAECC8ABEDE5FA3875262655C603 /* Debug */,  
2080 - 17F5C718DB216A6DC180FBCC46408D74 /* Release */, 2380 + 2386F65ABDB52652A92CBEE14C73BA07 /* Debug */,
  2381 + F9A4D3888E109251ADAC60180BC1B773 /* Release */,
2081 ); 2382 );
2082 defaultConfigurationIsVisible = 0; 2383 defaultConfigurationIsVisible = 0;
2083 defaultConfigurationName = Release; 2384 defaultConfigurationName = Release;
2084 }; 2385 };
2085 - CB53EC040A49607724400A1AA7DC948E /* Build configuration list for PBXNativeTarget "Pods-ParentAssistant" */ = { 2386 + AC2CBCE24382919CB3DBFC8BB3CC6503 /* Build configuration list for PBXNativeTarget "DZNEmptyDataSet" */ = {
2086 isa = XCConfigurationList; 2387 isa = XCConfigurationList;
2087 buildConfigurations = ( 2388 buildConfigurations = (
2088 - 92283DF0957D7261B38B97C42B648912 /* Debug */,  
2089 - 678C04D92DAB53DB9148EF9D86B284F6 /* Release */, 2389 + 793948A7CE88FCA234DA7EFD60D4178E /* Debug */,
  2390 + 1456973998A5F20B4501A680D3794F6A /* Release */,
2090 ); 2391 );
2091 defaultConfigurationIsVisible = 0; 2392 defaultConfigurationIsVisible = 0;
2092 defaultConfigurationName = Release; 2393 defaultConfigurationName = Release;
2093 }; 2394 };
2094 - D656DFFD54B90A7C0D451CD06977C10D /* Build configuration list for PBXNativeTarget "SDWebImage" */ = { 2395 + EAC632F2AAB82F696A1E5C88D53A883E /* Build configuration list for PBXNativeTarget "SVProgressHUD" */ = {
2095 isa = XCConfigurationList; 2396 isa = XCConfigurationList;
2096 buildConfigurations = ( 2397 buildConfigurations = (
2097 - 70B017BA24763D88E2D321961592B543 /* Debug */,  
2098 - 3509F94219F8C0180F27F969FE4896C7 /* Release */, 2398 + 3D9BEB881A70984931EB7B52EB42D89C /* Debug */,
  2399 + 51211605D5BBC568B59C86BC410917A5 /* Release */,
2099 ); 2400 );
2100 defaultConfigurationIsVisible = 0; 2401 defaultConfigurationIsVisible = 0;
2101 defaultConfigurationName = Release; 2402 defaultConfigurationName = Release;
2102 }; 2403 };
2103 - F3EF627C7A0C3D0A7E911E9FA543A303 /* Build configuration list for PBXNativeTarget "SVProgressHUD" */ = { 2404 + F11A26D3E7766CBBD820DCD66B6FC321 /* Build configuration list for PBXNativeTarget "Toast" */ = {
2104 isa = XCConfigurationList; 2405 isa = XCConfigurationList;
2105 buildConfigurations = ( 2406 buildConfigurations = (
2106 - 5639E296250E6E2ACB29FD06E52425B5 /* Debug */,  
2107 - E904E666B743307368C6892CE2A626D1 /* Release */, 2407 + 215A480FCE0C128FA2F4C2A2882BBE23 /* Debug */,
  2408 + A8F73C58AFDC02718271B7541ABA62EF /* Release */,
2108 ); 2409 );
2109 defaultConfigurationIsVisible = 0; 2410 defaultConfigurationIsVisible = 0;
2110 defaultConfigurationName = Release; 2411 defaultConfigurationName = Release;
ParentAssistant/Pods/Pods.xcodeproj/xcuserdata/caoyang.xcuserdatad/xcschemes/Alamofire.xcscheme 0 → 100644
@@ -0,0 +1,60 @@ @@ -0,0 +1,60 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<Scheme
  3 + LastUpgradeVersion = "0930"
  4 + version = "1.3">
  5 + <BuildAction
  6 + parallelizeBuildables = "YES"
  7 + buildImplicitDependencies = "YES">
  8 + <BuildActionEntries>
  9 + <BuildActionEntry
  10 + buildForAnalyzing = "YES"
  11 + buildForTesting = "YES"
  12 + buildForRunning = "YES"
  13 + buildForProfiling = "YES"
  14 + buildForArchiving = "YES">
  15 + <BuildableReference
  16 + BuildableIdentifier = "primary"
  17 + BlueprintIdentifier = "88E9EC28B8B46C3631E6B242B50F4442"
  18 + BlueprintName = "Alamofire"
  19 + ReferencedContainer = "container:Pods.xcodeproj"
  20 + BuildableName = "Alamofire.framework">
  21 + </BuildableReference>
  22 + </BuildActionEntry>
  23 + </BuildActionEntries>
  24 + </BuildAction>
  25 + <TestAction
  26 + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
  27 + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
  28 + shouldUseLaunchSchemeArgsEnv = "YES"
  29 + buildConfiguration = "Debug">
  30 + <AdditionalOptions>
  31 + </AdditionalOptions>
  32 + </TestAction>
  33 + <LaunchAction
  34 + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
  35 + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
  36 + launchStyle = "0"
  37 + useCustomWorkingDirectory = "NO"
  38 + ignoresPersistentStateOnLaunch = "NO"
  39 + debugDocumentVersioning = "YES"
  40 + debugServiceExtension = "internal"
  41 + buildConfiguration = "Debug"
  42 + allowLocationSimulation = "YES">
  43 + <AdditionalOptions>
  44 + </AdditionalOptions>
  45 + </LaunchAction>
  46 + <ProfileAction
  47 + savedToolIdentifier = ""
  48 + useCustomWorkingDirectory = "NO"
  49 + debugDocumentVersioning = "YES"
  50 + buildConfiguration = "Release"
  51 + shouldUseLaunchSchemeArgsEnv = "YES">
  52 + </ProfileAction>
  53 + <AnalyzeAction
  54 + buildConfiguration = "Debug">
  55 + </AnalyzeAction>
  56 + <ArchiveAction
  57 + buildConfiguration = "Release"
  58 + revealArchiveInOrganizer = "YES">
  59 + </ArchiveAction>
  60 +</Scheme>
ParentAssistant/Pods/Pods.xcodeproj/xcuserdata/caoyang.xcuserdatad/xcschemes/DZNEmptyDataSet.xcscheme 0 → 100644
@@ -0,0 +1,60 @@ @@ -0,0 +1,60 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<Scheme
  3 + LastUpgradeVersion = "0930"
  4 + version = "1.3">
  5 + <BuildAction
  6 + parallelizeBuildables = "YES"
  7 + buildImplicitDependencies = "YES">
  8 + <BuildActionEntries>
  9 + <BuildActionEntry
  10 + buildForAnalyzing = "YES"
  11 + buildForTesting = "YES"
  12 + buildForRunning = "YES"
  13 + buildForProfiling = "YES"
  14 + buildForArchiving = "YES">
  15 + <BuildableReference
  16 + BuildableIdentifier = "primary"
  17 + BlueprintIdentifier = "D386C75EFD4F03725E4EFB866B600B9A"
  18 + BlueprintName = "DZNEmptyDataSet"
  19 + ReferencedContainer = "container:Pods.xcodeproj"
  20 + BuildableName = "DZNEmptyDataSet.framework">
  21 + </BuildableReference>
  22 + </BuildActionEntry>
  23 + </BuildActionEntries>
  24 + </BuildAction>
  25 + <TestAction
  26 + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
  27 + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
  28 + shouldUseLaunchSchemeArgsEnv = "YES"
  29 + buildConfiguration = "Debug">
  30 + <AdditionalOptions>
  31 + </AdditionalOptions>
  32 + </TestAction>
  33 + <LaunchAction
  34 + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
  35 + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
  36 + launchStyle = "0"
  37 + useCustomWorkingDirectory = "NO"
  38 + ignoresPersistentStateOnLaunch = "NO"
  39 + debugDocumentVersioning = "YES"
  40 + debugServiceExtension = "internal"
  41 + buildConfiguration = "Debug"
  42 + allowLocationSimulation = "YES">
  43 + <AdditionalOptions>
  44 + </AdditionalOptions>
  45 + </LaunchAction>
  46 + <ProfileAction
  47 + savedToolIdentifier = ""
  48 + useCustomWorkingDirectory = "NO"
  49 + debugDocumentVersioning = "YES"
  50 + buildConfiguration = "Release"
  51 + shouldUseLaunchSchemeArgsEnv = "YES">
  52 + </ProfileAction>
  53 + <AnalyzeAction
  54 + buildConfiguration = "Debug">
  55 + </AnalyzeAction>
  56 + <ArchiveAction
  57 + buildConfiguration = "Release"
  58 + revealArchiveInOrganizer = "YES">
  59 + </ArchiveAction>
  60 +</Scheme>
ParentAssistant/Pods/Pods.xcodeproj/xcuserdata/caoyang.xcuserdatad/xcschemes/HandyJSON.xcscheme 0 → 100644
@@ -0,0 +1,60 @@ @@ -0,0 +1,60 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<Scheme
  3 + LastUpgradeVersion = "0930"
  4 + version = "1.3">
  5 + <BuildAction
  6 + parallelizeBuildables = "YES"
  7 + buildImplicitDependencies = "YES">
  8 + <BuildActionEntries>
  9 + <BuildActionEntry
  10 + buildForAnalyzing = "YES"
  11 + buildForTesting = "YES"
  12 + buildForRunning = "YES"
  13 + buildForProfiling = "YES"
  14 + buildForArchiving = "YES">
  15 + <BuildableReference
  16 + BuildableIdentifier = "primary"
  17 + BlueprintIdentifier = "1465651EBBC44AD3276DDE2476CDA450"
  18 + BlueprintName = "HandyJSON"
  19 + ReferencedContainer = "container:Pods.xcodeproj"
  20 + BuildableName = "HandyJSON.framework">
  21 + </BuildableReference>
  22 + </BuildActionEntry>
  23 + </BuildActionEntries>
  24 + </BuildAction>
  25 + <TestAction
  26 + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
  27 + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
  28 + shouldUseLaunchSchemeArgsEnv = "YES"
  29 + buildConfiguration = "Debug">
  30 + <AdditionalOptions>
  31 + </AdditionalOptions>
  32 + </TestAction>
  33 + <LaunchAction
  34 + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
  35 + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
  36 + launchStyle = "0"
  37 + useCustomWorkingDirectory = "NO"
  38 + ignoresPersistentStateOnLaunch = "NO"
  39 + debugDocumentVersioning = "YES"
  40 + debugServiceExtension = "internal"
  41 + buildConfiguration = "Debug"
  42 + allowLocationSimulation = "YES">
  43 + <AdditionalOptions>
  44 + </AdditionalOptions>
  45 + </LaunchAction>
  46 + <ProfileAction
  47 + savedToolIdentifier = ""
  48 + useCustomWorkingDirectory = "NO"
  49 + debugDocumentVersioning = "YES"
  50 + buildConfiguration = "Release"
  51 + shouldUseLaunchSchemeArgsEnv = "YES">
  52 + </ProfileAction>
  53 + <AnalyzeAction
  54 + buildConfiguration = "Debug">
  55 + </AnalyzeAction>
  56 + <ArchiveAction
  57 + buildConfiguration = "Release"
  58 + revealArchiveInOrganizer = "YES">
  59 + </ArchiveAction>
  60 +</Scheme>
ParentAssistant/Pods/Pods.xcodeproj/xcuserdata/caoyang.xcuserdatad/xcschemes/Pods-ParentAssistant.xcscheme 0 → 100644
@@ -0,0 +1,71 @@ @@ -0,0 +1,71 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<Scheme
  3 + LastUpgradeVersion = "0930"
  4 + version = "1.3">
  5 + <BuildAction
  6 + parallelizeBuildables = "YES"
  7 + buildImplicitDependencies = "YES">
  8 + <BuildActionEntries>
  9 + <BuildActionEntry
  10 + buildForTesting = "YES"
  11 + buildForRunning = "YES"
  12 + buildForProfiling = "YES"
  13 + buildForArchiving = "YES"
  14 + buildForAnalyzing = "YES">
  15 + <BuildableReference
  16 + BuildableIdentifier = "primary"
  17 + BlueprintIdentifier = "89B82C8C6E32CEBE5ACCD75CDFBECBB1"
  18 + BuildableName = "Pods_ParentAssistant.framework"
  19 + BlueprintName = "Pods-ParentAssistant"
  20 + ReferencedContainer = "container:Pods.xcodeproj">
  21 + </BuildableReference>
  22 + </BuildActionEntry>
  23 + </BuildActionEntries>
  24 + </BuildAction>
  25 + <TestAction
  26 + buildConfiguration = "Debug"
  27 + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
  28 + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
  29 + shouldUseLaunchSchemeArgsEnv = "YES">
  30 + <Testables>
  31 + </Testables>
  32 + <AdditionalOptions>
  33 + </AdditionalOptions>
  34 + </TestAction>
  35 + <LaunchAction
  36 + buildConfiguration = "Debug"
  37 + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
  38 + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
  39 + launchStyle = "0"
  40 + useCustomWorkingDirectory = "NO"
  41 + ignoresPersistentStateOnLaunch = "NO"
  42 + debugDocumentVersioning = "YES"
  43 + debugServiceExtension = "internal"
  44 + allowLocationSimulation = "YES">
  45 + <MacroExpansion>
  46 + <BuildableReference
  47 + BuildableIdentifier = "primary"
  48 + BlueprintIdentifier = "89B82C8C6E32CEBE5ACCD75CDFBECBB1"
  49 + BuildableName = "Pods_ParentAssistant.framework"
  50 + BlueprintName = "Pods-ParentAssistant"
  51 + ReferencedContainer = "container:Pods.xcodeproj">
  52 + </BuildableReference>
  53 + </MacroExpansion>
  54 + <AdditionalOptions>
  55 + </AdditionalOptions>
  56 + </LaunchAction>
  57 + <ProfileAction
  58 + buildConfiguration = "Release"
  59 + shouldUseLaunchSchemeArgsEnv = "YES"
  60 + savedToolIdentifier = ""
  61 + useCustomWorkingDirectory = "NO"
  62 + debugDocumentVersioning = "YES">
  63 + </ProfileAction>
  64 + <AnalyzeAction
  65 + buildConfiguration = "Debug">
  66 + </AnalyzeAction>
  67 + <ArchiveAction
  68 + buildConfiguration = "Release"
  69 + revealArchiveInOrganizer = "YES">
  70 + </ArchiveAction>
  71 +</Scheme>
ParentAssistant/Pods/Pods.xcodeproj/xcuserdata/caoyang.xcuserdatad/xcschemes/Reachability.xcscheme 0 → 100644
@@ -0,0 +1,60 @@ @@ -0,0 +1,60 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<Scheme
  3 + LastUpgradeVersion = "0930"
  4 + version = "1.3">
  5 + <BuildAction
  6 + parallelizeBuildables = "YES"
  7 + buildImplicitDependencies = "YES">
  8 + <BuildActionEntries>
  9 + <BuildActionEntry
  10 + buildForAnalyzing = "YES"
  11 + buildForTesting = "YES"
  12 + buildForRunning = "YES"
  13 + buildForProfiling = "YES"
  14 + buildForArchiving = "YES">
  15 + <BuildableReference
  16 + BuildableIdentifier = "primary"
  17 + BlueprintIdentifier = "AAC4087A5A57F5566AB9B54FEBADBC36"
  18 + BlueprintName = "Reachability"
  19 + ReferencedContainer = "container:Pods.xcodeproj"
  20 + BuildableName = "Reachability.framework">
  21 + </BuildableReference>
  22 + </BuildActionEntry>
  23 + </BuildActionEntries>
  24 + </BuildAction>
  25 + <TestAction
  26 + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
  27 + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
  28 + shouldUseLaunchSchemeArgsEnv = "YES"
  29 + buildConfiguration = "Debug">
  30 + <AdditionalOptions>
  31 + </AdditionalOptions>
  32 + </TestAction>
  33 + <LaunchAction
  34 + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
  35 + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
  36 + launchStyle = "0"
  37 + useCustomWorkingDirectory = "NO"
  38 + ignoresPersistentStateOnLaunch = "NO"
  39 + debugDocumentVersioning = "YES"
  40 + debugServiceExtension = "internal"
  41 + buildConfiguration = "Debug"
  42 + allowLocationSimulation = "YES">
  43 + <AdditionalOptions>
  44 + </AdditionalOptions>
  45 + </LaunchAction>
  46 + <ProfileAction
  47 + savedToolIdentifier = ""
  48 + useCustomWorkingDirectory = "NO"
  49 + debugDocumentVersioning = "YES"
  50 + buildConfiguration = "Release"
  51 + shouldUseLaunchSchemeArgsEnv = "YES">
  52 + </ProfileAction>
  53 + <AnalyzeAction
  54 + buildConfiguration = "Debug">
  55 + </AnalyzeAction>
  56 + <ArchiveAction
  57 + buildConfiguration = "Release"
  58 + revealArchiveInOrganizer = "YES">
  59 + </ArchiveAction>
  60 +</Scheme>
ParentAssistant/Pods/Pods.xcodeproj/xcuserdata/caoyang.xcuserdatad/xcschemes/SDWebImage.xcscheme 0 → 100644
@@ -0,0 +1,60 @@ @@ -0,0 +1,60 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<Scheme
  3 + LastUpgradeVersion = "0930"
  4 + version = "1.3">
  5 + <BuildAction
  6 + parallelizeBuildables = "YES"
  7 + buildImplicitDependencies = "YES">
  8 + <BuildActionEntries>
  9 + <BuildActionEntry
  10 + buildForAnalyzing = "YES"
  11 + buildForTesting = "YES"
  12 + buildForRunning = "YES"
  13 + buildForProfiling = "YES"
  14 + buildForArchiving = "YES">
  15 + <BuildableReference
  16 + BuildableIdentifier = "primary"
  17 + BlueprintIdentifier = "8FA4EA707F3B6CFDACB1C85C722D2E73"
  18 + BlueprintName = "SDWebImage"
  19 + ReferencedContainer = "container:Pods.xcodeproj"
  20 + BuildableName = "SDWebImage.framework">
  21 + </BuildableReference>
  22 + </BuildActionEntry>
  23 + </BuildActionEntries>
  24 + </BuildAction>
  25 + <TestAction
  26 + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
  27 + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
  28 + shouldUseLaunchSchemeArgsEnv = "YES"
  29 + buildConfiguration = "Debug">
  30 + <AdditionalOptions>
  31 + </AdditionalOptions>
  32 + </TestAction>
  33 + <LaunchAction
  34 + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
  35 + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
  36 + launchStyle = "0"
  37 + useCustomWorkingDirectory = "NO"
  38 + ignoresPersistentStateOnLaunch = "NO"
  39 + debugDocumentVersioning = "YES"
  40 + debugServiceExtension = "internal"
  41 + buildConfiguration = "Debug"
  42 + allowLocationSimulation = "YES">
  43 + <AdditionalOptions>
  44 + </AdditionalOptions>
  45 + </LaunchAction>
  46 + <ProfileAction
  47 + savedToolIdentifier = ""
  48 + useCustomWorkingDirectory = "NO"
  49 + debugDocumentVersioning = "YES"
  50 + buildConfiguration = "Release"
  51 + shouldUseLaunchSchemeArgsEnv = "YES">
  52 + </ProfileAction>
  53 + <AnalyzeAction
  54 + buildConfiguration = "Debug">
  55 + </AnalyzeAction>
  56 + <ArchiveAction
  57 + buildConfiguration = "Release"
  58 + revealArchiveInOrganizer = "YES">
  59 + </ArchiveAction>
  60 +</Scheme>
ParentAssistant/Pods/Pods.xcodeproj/xcuserdata/caoyang.xcuserdatad/xcschemes/SVProgressHUD.xcscheme 0 → 100644
@@ -0,0 +1,60 @@ @@ -0,0 +1,60 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<Scheme
  3 + LastUpgradeVersion = "0930"
  4 + version = "1.3">
  5 + <BuildAction
  6 + parallelizeBuildables = "YES"
  7 + buildImplicitDependencies = "YES">
  8 + <BuildActionEntries>
  9 + <BuildActionEntry
  10 + buildForAnalyzing = "YES"
  11 + buildForTesting = "YES"
  12 + buildForRunning = "YES"
  13 + buildForProfiling = "YES"
  14 + buildForArchiving = "YES">
  15 + <BuildableReference
  16 + BuildableIdentifier = "primary"
  17 + BlueprintIdentifier = "E55BDEBC8F73D6B7936791D0822F70D6"
  18 + BlueprintName = "SVProgressHUD"
  19 + ReferencedContainer = "container:Pods.xcodeproj"
  20 + BuildableName = "SVProgressHUD.framework">
  21 + </BuildableReference>
  22 + </BuildActionEntry>
  23 + </BuildActionEntries>
  24 + </BuildAction>
  25 + <TestAction
  26 + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
  27 + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
  28 + shouldUseLaunchSchemeArgsEnv = "YES"
  29 + buildConfiguration = "Debug">
  30 + <AdditionalOptions>
  31 + </AdditionalOptions>
  32 + </TestAction>
  33 + <LaunchAction
  34 + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
  35 + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
  36 + launchStyle = "0"
  37 + useCustomWorkingDirectory = "NO"
  38 + ignoresPersistentStateOnLaunch = "NO"
  39 + debugDocumentVersioning = "YES"
  40 + debugServiceExtension = "internal"
  41 + buildConfiguration = "Debug"
  42 + allowLocationSimulation = "YES">
  43 + <AdditionalOptions>
  44 + </AdditionalOptions>
  45 + </LaunchAction>
  46 + <ProfileAction
  47 + savedToolIdentifier = ""
  48 + useCustomWorkingDirectory = "NO"
  49 + debugDocumentVersioning = "YES"
  50 + buildConfiguration = "Release"
  51 + shouldUseLaunchSchemeArgsEnv = "YES">
  52 + </ProfileAction>
  53 + <AnalyzeAction
  54 + buildConfiguration = "Debug">
  55 + </AnalyzeAction>
  56 + <ArchiveAction
  57 + buildConfiguration = "Release"
  58 + revealArchiveInOrganizer = "YES">
  59 + </ArchiveAction>
  60 +</Scheme>
ParentAssistant/Pods/Pods.xcodeproj/xcuserdata/caoyang.xcuserdatad/xcschemes/SwiftHash.xcscheme 0 → 100644
@@ -0,0 +1,60 @@ @@ -0,0 +1,60 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<Scheme
  3 + LastUpgradeVersion = "0930"
  4 + version = "1.3">
  5 + <BuildAction
  6 + parallelizeBuildables = "YES"
  7 + buildImplicitDependencies = "YES">
  8 + <BuildActionEntries>
  9 + <BuildActionEntry
  10 + buildForAnalyzing = "YES"
  11 + buildForTesting = "YES"
  12 + buildForRunning = "YES"
  13 + buildForProfiling = "YES"
  14 + buildForArchiving = "YES">
  15 + <BuildableReference
  16 + BuildableIdentifier = "primary"
  17 + BlueprintIdentifier = "6376DC419EEA98495631602218A4F31B"
  18 + BlueprintName = "SwiftHash"
  19 + ReferencedContainer = "container:Pods.xcodeproj"
  20 + BuildableName = "SwiftHash.framework">
  21 + </BuildableReference>
  22 + </BuildActionEntry>
  23 + </BuildActionEntries>
  24 + </BuildAction>
  25 + <TestAction
  26 + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
  27 + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
  28 + shouldUseLaunchSchemeArgsEnv = "YES"
  29 + buildConfiguration = "Debug">
  30 + <AdditionalOptions>
  31 + </AdditionalOptions>
  32 + </TestAction>
  33 + <LaunchAction
  34 + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
  35 + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
  36 + launchStyle = "0"
  37 + useCustomWorkingDirectory = "NO"
  38 + ignoresPersistentStateOnLaunch = "NO"
  39 + debugDocumentVersioning = "YES"
  40 + debugServiceExtension = "internal"
  41 + buildConfiguration = "Debug"
  42 + allowLocationSimulation = "YES">
  43 + <AdditionalOptions>
  44 + </AdditionalOptions>
  45 + </LaunchAction>
  46 + <ProfileAction
  47 + savedToolIdentifier = ""
  48 + useCustomWorkingDirectory = "NO"
  49 + debugDocumentVersioning = "YES"
  50 + buildConfiguration = "Release"
  51 + shouldUseLaunchSchemeArgsEnv = "YES">
  52 + </ProfileAction>
  53 + <AnalyzeAction
  54 + buildConfiguration = "Debug">
  55 + </AnalyzeAction>
  56 + <ArchiveAction
  57 + buildConfiguration = "Release"
  58 + revealArchiveInOrganizer = "YES">
  59 + </ArchiveAction>
  60 +</Scheme>
ParentAssistant/Pods/Pods.xcodeproj/xcuserdata/caoyang.xcuserdatad/xcschemes/Toast.xcscheme 0 → 100644
@@ -0,0 +1,60 @@ @@ -0,0 +1,60 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<Scheme
  3 + LastUpgradeVersion = "0930"
  4 + version = "1.3">
  5 + <BuildAction
  6 + parallelizeBuildables = "YES"
  7 + buildImplicitDependencies = "YES">
  8 + <BuildActionEntries>
  9 + <BuildActionEntry
  10 + buildForAnalyzing = "YES"
  11 + buildForTesting = "YES"
  12 + buildForRunning = "YES"
  13 + buildForProfiling = "YES"
  14 + buildForArchiving = "YES">
  15 + <BuildableReference
  16 + BuildableIdentifier = "primary"
  17 + BlueprintIdentifier = "9A9DDC64623B3F5E6DC7009C16752B95"
  18 + BlueprintName = "Toast"
  19 + ReferencedContainer = "container:Pods.xcodeproj"
  20 + BuildableName = "Toast.framework">
  21 + </BuildableReference>
  22 + </BuildActionEntry>
  23 + </BuildActionEntries>
  24 + </BuildAction>
  25 + <TestAction
  26 + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
  27 + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
  28 + shouldUseLaunchSchemeArgsEnv = "YES"
  29 + buildConfiguration = "Debug">
  30 + <AdditionalOptions>
  31 + </AdditionalOptions>
  32 + </TestAction>
  33 + <LaunchAction
  34 + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
  35 + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
  36 + launchStyle = "0"
  37 + useCustomWorkingDirectory = "NO"
  38 + ignoresPersistentStateOnLaunch = "NO"
  39 + debugDocumentVersioning = "YES"
  40 + debugServiceExtension = "internal"
  41 + buildConfiguration = "Debug"
  42 + allowLocationSimulation = "YES">
  43 + <AdditionalOptions>
  44 + </AdditionalOptions>
  45 + </LaunchAction>
  46 + <ProfileAction
  47 + savedToolIdentifier = ""
  48 + useCustomWorkingDirectory = "NO"
  49 + debugDocumentVersioning = "YES"
  50 + buildConfiguration = "Release"
  51 + shouldUseLaunchSchemeArgsEnv = "YES">
  52 + </ProfileAction>
  53 + <AnalyzeAction
  54 + buildConfiguration = "Debug">
  55 + </AnalyzeAction>
  56 + <ArchiveAction
  57 + buildConfiguration = "Release"
  58 + revealArchiveInOrganizer = "YES">
  59 + </ArchiveAction>
  60 +</Scheme>
ParentAssistant/Pods/Pods.xcodeproj/xcuserdata/caoyang.xcuserdatad/xcschemes/XRCarouselView.xcscheme 0 → 100644
@@ -0,0 +1,60 @@ @@ -0,0 +1,60 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<Scheme
  3 + LastUpgradeVersion = "0930"
  4 + version = "1.3">
  5 + <BuildAction
  6 + parallelizeBuildables = "YES"
  7 + buildImplicitDependencies = "YES">
  8 + <BuildActionEntries>
  9 + <BuildActionEntry
  10 + buildForAnalyzing = "YES"
  11 + buildForTesting = "YES"
  12 + buildForRunning = "YES"
  13 + buildForProfiling = "YES"
  14 + buildForArchiving = "YES">
  15 + <BuildableReference
  16 + BuildableIdentifier = "primary"
  17 + BlueprintIdentifier = "27189F0EDBCA8831C460D0166F6F37A1"
  18 + BlueprintName = "XRCarouselView"
  19 + ReferencedContainer = "container:Pods.xcodeproj"
  20 + BuildableName = "XRCarouselView.framework">
  21 + </BuildableReference>
  22 + </BuildActionEntry>
  23 + </BuildActionEntries>
  24 + </BuildAction>
  25 + <TestAction
  26 + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
  27 + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
  28 + shouldUseLaunchSchemeArgsEnv = "YES"
  29 + buildConfiguration = "Debug">
  30 + <AdditionalOptions>
  31 + </AdditionalOptions>
  32 + </TestAction>
  33 + <LaunchAction
  34 + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
  35 + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
  36 + launchStyle = "0"
  37 + useCustomWorkingDirectory = "NO"
  38 + ignoresPersistentStateOnLaunch = "NO"
  39 + debugDocumentVersioning = "YES"
  40 + debugServiceExtension = "internal"
  41 + buildConfiguration = "Debug"
  42 + allowLocationSimulation = "YES">
  43 + <AdditionalOptions>
  44 + </AdditionalOptions>
  45 + </LaunchAction>
  46 + <ProfileAction
  47 + savedToolIdentifier = ""
  48 + useCustomWorkingDirectory = "NO"
  49 + debugDocumentVersioning = "YES"
  50 + buildConfiguration = "Release"
  51 + shouldUseLaunchSchemeArgsEnv = "YES">
  52 + </ProfileAction>
  53 + <AnalyzeAction
  54 + buildConfiguration = "Debug">
  55 + </AnalyzeAction>
  56 + <ArchiveAction
  57 + buildConfiguration = "Release"
  58 + revealArchiveInOrganizer = "YES">
  59 + </ArchiveAction>
  60 +</Scheme>
ParentAssistant/Pods/Pods.xcodeproj/xcuserdata/caoyang.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -6,49 +6,76 @@ @@ -6,49 +6,76 @@
6 <dict> 6 <dict>
7 <key>Alamofire.xcscheme</key> 7 <key>Alamofire.xcscheme</key>
8 <dict> 8 <dict>
  9 + <key>isShown</key>
  10 + <false/>
9 <key>orderHint</key> 11 <key>orderHint</key>
10 <integer>0</integer> 12 <integer>0</integer>
11 </dict> 13 </dict>
12 <key>DZNEmptyDataSet.xcscheme</key> 14 <key>DZNEmptyDataSet.xcscheme</key>
13 <dict> 15 <dict>
  16 + <key>isShown</key>
  17 + <false/>
  18 + <key>orderHint</key>
  19 + <integer>1</integer>
  20 + </dict>
  21 + <key>HandyJSON.xcscheme</key>
  22 + <dict>
  23 + <key>isShown</key>
  24 + <false/>
14 <key>orderHint</key> 25 <key>orderHint</key>
15 <integer>2</integer> 26 <integer>2</integer>
16 </dict> 27 </dict>
17 <key>Pods-ParentAssistant.xcscheme</key> 28 <key>Pods-ParentAssistant.xcscheme</key>
18 <dict> 29 <dict>
  30 + <key>isShown</key>
  31 + <false/>
19 <key>orderHint</key> 32 <key>orderHint</key>
20 <integer>3</integer> 33 <integer>3</integer>
21 </dict> 34 </dict>
22 <key>Reachability.xcscheme</key> 35 <key>Reachability.xcscheme</key>
23 <dict> 36 <dict>
  37 + <key>isShown</key>
  38 + <false/>
24 <key>orderHint</key> 39 <key>orderHint</key>
25 <integer>4</integer> 40 <integer>4</integer>
26 </dict> 41 </dict>
27 <key>SDWebImage.xcscheme</key> 42 <key>SDWebImage.xcscheme</key>
28 <dict> 43 <dict>
  44 + <key>isShown</key>
  45 + <false/>
29 <key>orderHint</key> 46 <key>orderHint</key>
30 <integer>5</integer> 47 <integer>5</integer>
31 </dict> 48 </dict>
32 <key>SVProgressHUD.xcscheme</key> 49 <key>SVProgressHUD.xcscheme</key>
33 <dict> 50 <dict>
  51 + <key>isShown</key>
  52 + <false/>
34 <key>orderHint</key> 53 <key>orderHint</key>
35 <integer>6</integer> 54 <integer>6</integer>
36 </dict> 55 </dict>
37 <key>SwiftHash.xcscheme</key> 56 <key>SwiftHash.xcscheme</key>
38 <dict> 57 <dict>
  58 + <key>isShown</key>
  59 + <false/>
39 <key>orderHint</key> 60 <key>orderHint</key>
40 <integer>7</integer> 61 <integer>7</integer>
41 </dict> 62 </dict>
42 <key>Toast.xcscheme</key> 63 <key>Toast.xcscheme</key>
43 <dict> 64 <dict>
  65 + <key>isShown</key>
  66 + <false/>
44 <key>orderHint</key> 67 <key>orderHint</key>
45 <integer>8</integer> 68 <integer>8</integer>
46 </dict> 69 </dict>
47 <key>XRCarouselView.xcscheme</key> 70 <key>XRCarouselView.xcscheme</key>
48 <dict> 71 <dict>
  72 + <key>isShown</key>
  73 + <false/>
49 <key>orderHint</key> 74 <key>orderHint</key>
50 <integer>9</integer> 75 <integer>9</integer>
51 </dict> 76 </dict>
52 </dict> 77 </dict>
  78 + <key>SuppressBuildableAutocreation</key>
  79 + <dict/>
53 </dict> 80 </dict>
54 </plist> 81 </plist>
ParentAssistant/Pods/Target Support Files/HandyJSON/HandyJSON-dummy.m 0 → 100644
@@ -0,0 +1,5 @@ @@ -0,0 +1,5 @@
  1 +#import <Foundation/Foundation.h>
  2 +@interface PodsDummy_HandyJSON : NSObject
  3 +@end
  4 +@implementation PodsDummy_HandyJSON
  5 +@end
ParentAssistant/Pods/Target Support Files/HandyJSON/HandyJSON-prefix.pch 0 → 100644
@@ -0,0 +1,12 @@ @@ -0,0 +1,12 @@
  1 +#ifdef __OBJC__
  2 +#import <UIKit/UIKit.h>
  3 +#else
  4 +#ifndef FOUNDATION_EXPORT
  5 +#if defined(__cplusplus)
  6 +#define FOUNDATION_EXPORT extern "C"
  7 +#else
  8 +#define FOUNDATION_EXPORT extern
  9 +#endif
  10 +#endif
  11 +#endif
  12 +
ParentAssistant/Pods/Target Support Files/HandyJSON/HandyJSON-umbrella.h 0 → 100644
@@ -0,0 +1,17 @@ @@ -0,0 +1,17 @@
  1 +#ifdef __OBJC__
  2 +#import <UIKit/UIKit.h>
  3 +#else
  4 +#ifndef FOUNDATION_EXPORT
  5 +#if defined(__cplusplus)
  6 +#define FOUNDATION_EXPORT extern "C"
  7 +#else
  8 +#define FOUNDATION_EXPORT extern
  9 +#endif
  10 +#endif
  11 +#endif
  12 +
  13 +#import "HandyJSON.h"
  14 +
  15 +FOUNDATION_EXPORT double HandyJSONVersionNumber;
  16 +FOUNDATION_EXPORT const unsigned char HandyJSONVersionString[];
  17 +
ParentAssistant/Pods/Target Support Files/HandyJSON/HandyJSON.modulemap 0 → 100644
@@ -0,0 +1,6 @@ @@ -0,0 +1,6 @@
  1 +framework module HandyJSON {
  2 + umbrella header "HandyJSON-umbrella.h"
  3 +
  4 + export *
  5 + module * { export * }
  6 +}
ParentAssistant/Pods/Target Support Files/HandyJSON/HandyJSON.xcconfig 0 → 100644
@@ -0,0 +1,11 @@ @@ -0,0 +1,11 @@
  1 +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/HandyJSON
  2 +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
  3 +HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/NIMSDK_LITE" "${PODS_ROOT}/Headers/Public/UMCAnalytics" "${PODS_ROOT}/Headers/Public/UMCCommon" "${PODS_ROOT}/Headers/Public/UMCErrorCatch" "${PODS_ROOT}/Headers/Public/UMCSecurityPlugins"
  4 +OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" "-suppress-warnings"
  5 +PODS_BUILD_DIR = ${BUILD_DIR}
  6 +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
  7 +PODS_ROOT = ${SRCROOT}
  8 +PODS_TARGET_SRCROOT = ${PODS_ROOT}/HandyJSON
  9 +PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
  10 +SKIP_INSTALL = YES
  11 +SWIFT_SUPPRESS_WARNINGS = YES
ParentAssistant/Pods/Target Support Files/HandyJSON/Info.plist 0 → 100644
@@ -0,0 +1,26 @@ @@ -0,0 +1,26 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
  3 +<plist version="1.0">
  4 +<dict>
  5 + <key>CFBundleDevelopmentRegion</key>
  6 + <string>en</string>
  7 + <key>CFBundleExecutable</key>
  8 + <string>${EXECUTABLE_NAME}</string>
  9 + <key>CFBundleIdentifier</key>
  10 + <string>${PRODUCT_BUNDLE_IDENTIFIER}</string>
  11 + <key>CFBundleInfoDictionaryVersion</key>
  12 + <string>6.0</string>
  13 + <key>CFBundleName</key>
  14 + <string>${PRODUCT_NAME}</string>
  15 + <key>CFBundlePackageType</key>
  16 + <string>FMWK</string>
  17 + <key>CFBundleShortVersionString</key>
  18 + <string>4.1.1</string>
  19 + <key>CFBundleSignature</key>
  20 + <string>????</string>
  21 + <key>CFBundleVersion</key>
  22 + <string>${CURRENT_PROJECT_VERSION}</string>
  23 + <key>NSPrincipalClass</key>
  24 + <string></string>
  25 +</dict>
  26 +</plist>
ParentAssistant/Pods/Target Support Files/Pods-ParentAssistant/Pods-ParentAssistant-acknowledgements.markdown
@@ -37,6 +37,23 @@ The above copyright notice and this permission notice shall be included in all c @@ -37,6 +37,23 @@ The above copyright notice and this permission notice shall be included in all c
37 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. 37 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.
38 38
39 39
  40 +## HandyJSON
  41 +
  42 + Copyright 1999-2016 Alibaba Group Holding Ltd.
  43 +
  44 + Licensed under the Apache License, Version 2.0 (the "License");
  45 + you may not use this file except in compliance with the License.
  46 + You may obtain a copy of the License at
  47 +
  48 + http://www.apache.org/licenses/LICENSE-2.0
  49 +
  50 + Unless required by applicable law or agreed to in writing, software
  51 + distributed under the License is distributed on an "AS IS" BASIS,
  52 + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  53 + See the License for the specific language governing permissions and
  54 + limitations under the License.
  55 +
  56 +
40 ## NIMSDK_LITE 57 ## NIMSDK_LITE
41 58
42 Copyright 2017 Netease 59 Copyright 2017 Netease
ParentAssistant/Pods/Target Support Files/Pods-ParentAssistant/Pods-ParentAssistant-acknowledgements.plist
@@ -62,6 +62,29 @@ THE SOFTWARE IS PROVIDED &#39;AS IS&#39;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI @@ -62,6 +62,29 @@ THE SOFTWARE IS PROVIDED &#39;AS IS&#39;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
62 </dict> 62 </dict>
63 <dict> 63 <dict>
64 <key>FooterText</key> 64 <key>FooterText</key>
  65 + <string> Copyright 1999-2016 Alibaba Group Holding Ltd.
  66 +
  67 + Licensed under the Apache License, Version 2.0 (the "License");
  68 + you may not use this file except in compliance with the License.
  69 + You may obtain a copy of the License at
  70 +
  71 + http://www.apache.org/licenses/LICENSE-2.0
  72 +
  73 + Unless required by applicable law or agreed to in writing, software
  74 + distributed under the License is distributed on an "AS IS" BASIS,
  75 + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  76 + See the License for the specific language governing permissions and
  77 + limitations under the License.
  78 +</string>
  79 + <key>License</key>
  80 + <string>Apache License 2.0</string>
  81 + <key>Title</key>
  82 + <string>HandyJSON</string>
  83 + <key>Type</key>
  84 + <string>PSGroupSpecifier</string>
  85 + </dict>
  86 + <dict>
  87 + <key>FooterText</key>
65 <string>Copyright 2017 Netease </string> 88 <string>Copyright 2017 Netease </string>
66 <key>License</key> 89 <key>License</key>
67 <string>Copyright</string> 90 <string>Copyright</string>
ParentAssistant/Pods/Target Support Files/Pods-ParentAssistant/Pods-ParentAssistant-frameworks.sh
@@ -136,6 +136,7 @@ strip_invalid_archs() { @@ -136,6 +136,7 @@ strip_invalid_archs() {
136 if [[ "$CONFIGURATION" == "Debug" ]]; then 136 if [[ "$CONFIGURATION" == "Debug" ]]; then
137 install_framework "${BUILT_PRODUCTS_DIR}/Alamofire/Alamofire.framework" 137 install_framework "${BUILT_PRODUCTS_DIR}/Alamofire/Alamofire.framework"
138 install_framework "${BUILT_PRODUCTS_DIR}/DZNEmptyDataSet/DZNEmptyDataSet.framework" 138 install_framework "${BUILT_PRODUCTS_DIR}/DZNEmptyDataSet/DZNEmptyDataSet.framework"
  139 + install_framework "${BUILT_PRODUCTS_DIR}/HandyJSON/HandyJSON.framework"
139 install_framework "${BUILT_PRODUCTS_DIR}/Reachability/Reachability.framework" 140 install_framework "${BUILT_PRODUCTS_DIR}/Reachability/Reachability.framework"
140 install_framework "${BUILT_PRODUCTS_DIR}/SDWebImage/SDWebImage.framework" 141 install_framework "${BUILT_PRODUCTS_DIR}/SDWebImage/SDWebImage.framework"
141 install_framework "${BUILT_PRODUCTS_DIR}/SVProgressHUD/SVProgressHUD.framework" 142 install_framework "${BUILT_PRODUCTS_DIR}/SVProgressHUD/SVProgressHUD.framework"
@@ -146,6 +147,7 @@ fi @@ -146,6 +147,7 @@ fi
146 if [[ "$CONFIGURATION" == "Release" ]]; then 147 if [[ "$CONFIGURATION" == "Release" ]]; then
147 install_framework "${BUILT_PRODUCTS_DIR}/Alamofire/Alamofire.framework" 148 install_framework "${BUILT_PRODUCTS_DIR}/Alamofire/Alamofire.framework"
148 install_framework "${BUILT_PRODUCTS_DIR}/DZNEmptyDataSet/DZNEmptyDataSet.framework" 149 install_framework "${BUILT_PRODUCTS_DIR}/DZNEmptyDataSet/DZNEmptyDataSet.framework"
  150 + install_framework "${BUILT_PRODUCTS_DIR}/HandyJSON/HandyJSON.framework"
149 install_framework "${BUILT_PRODUCTS_DIR}/Reachability/Reachability.framework" 151 install_framework "${BUILT_PRODUCTS_DIR}/Reachability/Reachability.framework"
150 install_framework "${BUILT_PRODUCTS_DIR}/SDWebImage/SDWebImage.framework" 152 install_framework "${BUILT_PRODUCTS_DIR}/SDWebImage/SDWebImage.framework"
151 install_framework "${BUILT_PRODUCTS_DIR}/SVProgressHUD/SVProgressHUD.framework" 153 install_framework "${BUILT_PRODUCTS_DIR}/SVProgressHUD/SVProgressHUD.framework"
ParentAssistant/Pods/Target Support Files/Pods-ParentAssistant/Pods-ParentAssistant.debug.xcconfig
1 ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES 1 ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
2 -FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/DZNEmptyDataSet" "${PODS_CONFIGURATION_BUILD_DIR}/Reachability" "${PODS_CONFIGURATION_BUILD_DIR}/SDWebImage" "${PODS_CONFIGURATION_BUILD_DIR}/SVProgressHUD" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftHash" "${PODS_CONFIGURATION_BUILD_DIR}/Toast" "${PODS_CONFIGURATION_BUILD_DIR}/XRCarouselView" "${PODS_ROOT}/NIMSDK_LITE/NIMSDK" "${PODS_ROOT}/UMCAnalytics" "${PODS_ROOT}/UMCCommon" "${PODS_ROOT}/UMCErrorCatch" "${PODS_ROOT}/UMCSecurityPlugins/thirdparties" 2 +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/DZNEmptyDataSet" "${PODS_CONFIGURATION_BUILD_DIR}/HandyJSON" "${PODS_CONFIGURATION_BUILD_DIR}/Reachability" "${PODS_CONFIGURATION_BUILD_DIR}/SDWebImage" "${PODS_CONFIGURATION_BUILD_DIR}/SVProgressHUD" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftHash" "${PODS_CONFIGURATION_BUILD_DIR}/Toast" "${PODS_CONFIGURATION_BUILD_DIR}/XRCarouselView" "${PODS_ROOT}/NIMSDK_LITE/NIMSDK" "${PODS_ROOT}/UMCAnalytics" "${PODS_ROOT}/UMCCommon" "${PODS_ROOT}/UMCErrorCatch" "${PODS_ROOT}/UMCSecurityPlugins/thirdparties"
3 GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/NIMSDK_LITE" "${PODS_ROOT}/Headers/Public/UMCAnalytics" "${PODS_ROOT}/Headers/Public/UMCCommon" "${PODS_ROOT}/Headers/Public/UMCErrorCatch" "${PODS_ROOT}/Headers/Public/UMCSecurityPlugins" 4 HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/NIMSDK_LITE" "${PODS_ROOT}/Headers/Public/UMCAnalytics" "${PODS_ROOT}/Headers/Public/UMCCommon" "${PODS_ROOT}/Headers/Public/UMCErrorCatch" "${PODS_ROOT}/Headers/Public/UMCSecurityPlugins"
5 LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' 5 LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
6 LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/NIMSDK_LITE/NIMSDK/Libs" 6 LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/NIMSDK_LITE/NIMSDK/Libs"
7 -OTHER_CFLAGS = $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/DZNEmptyDataSet/DZNEmptyDataSet.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Reachability/Reachability.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SDWebImage/SDWebImage.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SVProgressHUD/SVProgressHUD.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SwiftHash/SwiftHash.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Toast/Toast.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/XRCarouselView/XRCarouselView.framework/Headers" -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/NIMSDK_LITE" -isystem "${PODS_ROOT}/Headers/Public/UMCAnalytics" -isystem "${PODS_ROOT}/Headers/Public/UMCCommon" -isystem "${PODS_ROOT}/Headers/Public/UMCErrorCatch" -isystem "${PODS_ROOT}/Headers/Public/UMCSecurityPlugins"  
8 -OTHER_LDFLAGS = $(inherited) -ObjC -l"aacplus" -l"c++" -l"crypto" -l"event" -l"sqlite3" -l"sqlite3.0" -l"ssl" -l"z" -framework "AVFoundation" -framework "Alamofire" -framework "AudioToolbox" -framework "CoreMedia" -framework "CoreTelephony" -framework "DZNEmptyDataSet" -framework "NIMSDK" -framework "Reachability" -framework "SDWebImage" -framework "SVProgressHUD" -framework "SecurityEnvSDK" -framework "SwiftHash" -framework "SystemConfiguration" -framework "Toast" -framework "UMAnalytics" -framework "UMCommon" -framework "UMErrorCatch" -framework "UTDID" -framework "VideoToolbox" -framework "XRCarouselView" 7 +OTHER_CFLAGS = $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/DZNEmptyDataSet/DZNEmptyDataSet.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/HandyJSON/HandyJSON.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Reachability/Reachability.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SDWebImage/SDWebImage.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SVProgressHUD/SVProgressHUD.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SwiftHash/SwiftHash.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Toast/Toast.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/XRCarouselView/XRCarouselView.framework/Headers" -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/NIMSDK_LITE" -isystem "${PODS_ROOT}/Headers/Public/UMCAnalytics" -isystem "${PODS_ROOT}/Headers/Public/UMCCommon" -isystem "${PODS_ROOT}/Headers/Public/UMCErrorCatch" -isystem "${PODS_ROOT}/Headers/Public/UMCSecurityPlugins"
  8 +OTHER_LDFLAGS = $(inherited) -ObjC -l"aacplus" -l"c++" -l"crypto" -l"event" -l"sqlite3" -l"sqlite3.0" -l"ssl" -l"z" -framework "AVFoundation" -framework "Alamofire" -framework "AudioToolbox" -framework "CoreMedia" -framework "CoreTelephony" -framework "DZNEmptyDataSet" -framework "HandyJSON" -framework "NIMSDK" -framework "Reachability" -framework "SDWebImage" -framework "SVProgressHUD" -framework "SecurityEnvSDK" -framework "SwiftHash" -framework "SystemConfiguration" -framework "Toast" -framework "UMAnalytics" -framework "UMCommon" -framework "UMErrorCatch" -framework "UTDID" -framework "VideoToolbox" -framework "XRCarouselView"
9 OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" 9 OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
10 PODS_BUILD_DIR = ${BUILD_DIR} 10 PODS_BUILD_DIR = ${BUILD_DIR}
11 PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 11 PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
ParentAssistant/Pods/Target Support Files/Pods-ParentAssistant/Pods-ParentAssistant.release.xcconfig
1 ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES 1 ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
2 -FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/DZNEmptyDataSet" "${PODS_CONFIGURATION_BUILD_DIR}/Reachability" "${PODS_CONFIGURATION_BUILD_DIR}/SDWebImage" "${PODS_CONFIGURATION_BUILD_DIR}/SVProgressHUD" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftHash" "${PODS_CONFIGURATION_BUILD_DIR}/Toast" "${PODS_CONFIGURATION_BUILD_DIR}/XRCarouselView" "${PODS_ROOT}/NIMSDK_LITE/NIMSDK" "${PODS_ROOT}/UMCAnalytics" "${PODS_ROOT}/UMCCommon" "${PODS_ROOT}/UMCErrorCatch" "${PODS_ROOT}/UMCSecurityPlugins/thirdparties" 2 +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/DZNEmptyDataSet" "${PODS_CONFIGURATION_BUILD_DIR}/HandyJSON" "${PODS_CONFIGURATION_BUILD_DIR}/Reachability" "${PODS_CONFIGURATION_BUILD_DIR}/SDWebImage" "${PODS_CONFIGURATION_BUILD_DIR}/SVProgressHUD" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftHash" "${PODS_CONFIGURATION_BUILD_DIR}/Toast" "${PODS_CONFIGURATION_BUILD_DIR}/XRCarouselView" "${PODS_ROOT}/NIMSDK_LITE/NIMSDK" "${PODS_ROOT}/UMCAnalytics" "${PODS_ROOT}/UMCCommon" "${PODS_ROOT}/UMCErrorCatch" "${PODS_ROOT}/UMCSecurityPlugins/thirdparties"
3 GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/NIMSDK_LITE" "${PODS_ROOT}/Headers/Public/UMCAnalytics" "${PODS_ROOT}/Headers/Public/UMCCommon" "${PODS_ROOT}/Headers/Public/UMCErrorCatch" "${PODS_ROOT}/Headers/Public/UMCSecurityPlugins" 4 HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/NIMSDK_LITE" "${PODS_ROOT}/Headers/Public/UMCAnalytics" "${PODS_ROOT}/Headers/Public/UMCCommon" "${PODS_ROOT}/Headers/Public/UMCErrorCatch" "${PODS_ROOT}/Headers/Public/UMCSecurityPlugins"
5 LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' 5 LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
6 LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/NIMSDK_LITE/NIMSDK/Libs" 6 LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/NIMSDK_LITE/NIMSDK/Libs"
7 -OTHER_CFLAGS = $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/DZNEmptyDataSet/DZNEmptyDataSet.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Reachability/Reachability.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SDWebImage/SDWebImage.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SVProgressHUD/SVProgressHUD.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SwiftHash/SwiftHash.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Toast/Toast.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/XRCarouselView/XRCarouselView.framework/Headers" -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/NIMSDK_LITE" -isystem "${PODS_ROOT}/Headers/Public/UMCAnalytics" -isystem "${PODS_ROOT}/Headers/Public/UMCCommon" -isystem "${PODS_ROOT}/Headers/Public/UMCErrorCatch" -isystem "${PODS_ROOT}/Headers/Public/UMCSecurityPlugins"  
8 -OTHER_LDFLAGS = $(inherited) -ObjC -l"aacplus" -l"c++" -l"crypto" -l"event" -l"sqlite3" -l"sqlite3.0" -l"ssl" -l"z" -framework "AVFoundation" -framework "Alamofire" -framework "AudioToolbox" -framework "CoreMedia" -framework "CoreTelephony" -framework "DZNEmptyDataSet" -framework "NIMSDK" -framework "Reachability" -framework "SDWebImage" -framework "SVProgressHUD" -framework "SecurityEnvSDK" -framework "SwiftHash" -framework "SystemConfiguration" -framework "Toast" -framework "UMAnalytics" -framework "UMCommon" -framework "UMErrorCatch" -framework "UTDID" -framework "VideoToolbox" -framework "XRCarouselView" 7 +OTHER_CFLAGS = $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/DZNEmptyDataSet/DZNEmptyDataSet.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/HandyJSON/HandyJSON.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Reachability/Reachability.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SDWebImage/SDWebImage.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SVProgressHUD/SVProgressHUD.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SwiftHash/SwiftHash.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Toast/Toast.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/XRCarouselView/XRCarouselView.framework/Headers" -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/NIMSDK_LITE" -isystem "${PODS_ROOT}/Headers/Public/UMCAnalytics" -isystem "${PODS_ROOT}/Headers/Public/UMCCommon" -isystem "${PODS_ROOT}/Headers/Public/UMCErrorCatch" -isystem "${PODS_ROOT}/Headers/Public/UMCSecurityPlugins"
  8 +OTHER_LDFLAGS = $(inherited) -ObjC -l"aacplus" -l"c++" -l"crypto" -l"event" -l"sqlite3" -l"sqlite3.0" -l"ssl" -l"z" -framework "AVFoundation" -framework "Alamofire" -framework "AudioToolbox" -framework "CoreMedia" -framework "CoreTelephony" -framework "DZNEmptyDataSet" -framework "HandyJSON" -framework "NIMSDK" -framework "Reachability" -framework "SDWebImage" -framework "SVProgressHUD" -framework "SecurityEnvSDK" -framework "SwiftHash" -framework "SystemConfiguration" -framework "Toast" -framework "UMAnalytics" -framework "UMCommon" -framework "UMErrorCatch" -framework "UTDID" -framework "VideoToolbox" -framework "XRCarouselView"
9 OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" 9 OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
10 PODS_BUILD_DIR = ${BUILD_DIR} 10 PODS_BUILD_DIR = ${BUILD_DIR}
11 PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 11 PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
ParentAssistant/Pods/Target Support Files/XRCarouselView/Info.plist
@@ -2,30 +2,25 @@ @@ -2,30 +2,25 @@
2 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 2 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3 <plist version="1.0"> 3 <plist version="1.0">
4 <dict> 4 <dict>
5 - <key>CFBundleDevelopmentRegion</key>  
6 - <string>en</string>  
7 - <key>NSAppTransportSecurity</key>  
8 - <dict>  
9 - <key>NSAllowsArbitraryLoads</key>  
10 - <true/>  
11 - </dict>  
12 - <key>CFBundleExecutable</key>  
13 - <string>${EXECUTABLE_NAME}</string>  
14 - <key>CFBundleIdentifier</key>  
15 - <string>${PRODUCT_BUNDLE_IDENTIFIER}</string>  
16 - <key>CFBundleInfoDictionaryVersion</key>  
17 - <string>6.0</string>  
18 - <key>CFBundleName</key>  
19 - <string>${PRODUCT_NAME}</string>  
20 - <key>CFBundlePackageType</key>  
21 - <string>FMWK</string>  
22 - <key>CFBundleShortVersionString</key>  
23 - <string>2.5.6</string>  
24 - <key>CFBundleSignature</key>  
25 - <string>????</string>  
26 - <key>CFBundleVersion</key>  
27 - <string>${CURRENT_PROJECT_VERSION}</string>  
28 - <key>NSPrincipalClass</key>  
29 - <string></string> 5 + <key>CFBundleDevelopmentRegion</key>
  6 + <string>en</string>
  7 + <key>CFBundleExecutable</key>
  8 + <string>${EXECUTABLE_NAME}</string>
  9 + <key>CFBundleIdentifier</key>
  10 + <string>${PRODUCT_BUNDLE_IDENTIFIER}</string>
  11 + <key>CFBundleInfoDictionaryVersion</key>
  12 + <string>6.0</string>
  13 + <key>CFBundleName</key>
  14 + <string>${PRODUCT_NAME}</string>
  15 + <key>CFBundlePackageType</key>
  16 + <string>FMWK</string>
  17 + <key>CFBundleShortVersionString</key>
  18 + <string>2.5.6</string>
  19 + <key>CFBundleSignature</key>
  20 + <string>????</string>
  21 + <key>CFBundleVersion</key>
  22 + <string>${CURRENT_PROJECT_VERSION}</string>
  23 + <key>NSPrincipalClass</key>
  24 + <string></string>
30 </dict> 25 </dict>
31 </plist> 26 </plist>
ParentAssistant/Pods/UMCAnalytics/UMAnalytics.framework/5.4.1_93441921a5_20171225154441
@@ -1 +0,0 @@ @@ -1 +0,0 @@
1 -5.4.1  
ParentAssistant/Pods/UMCAnalytics/UMAnalytics.framework/5.5.0_443a85fb47_20180402175324 0 → 100644
@@ -0,0 +1 @@ @@ -0,0 +1 @@
  1 +5.5.0
ParentAssistant/Pods/UMCAnalytics/UMAnalytics.framework/Versions/A/UMAnalytics
No preview for this file type
ParentAssistant/Pods/UMCCommon/UMCommon.framework/1.4.2_79702ebb53_20180227131045
@@ -1 +0,0 @@ @@ -1 +0,0 @@
1 -1.4.2  
ParentAssistant/Pods/UMCCommon/UMCommon.framework/1.5.0_a340324cb9_20180402175229 0 → 100644
@@ -0,0 +1 @@ @@ -0,0 +1 @@
  1 +1.5.0
ParentAssistant/Pods/UMCCommon/UMCommon.framework/Versions/A/Headers/UMConfigure.h
@@ -13,19 +13,16 @@ @@ -13,19 +13,16 @@
13 /** 初始化友盟所有组件产品 13 /** 初始化友盟所有组件产品
14 @param appKey 开发者在友盟官网申请的appkey. 14 @param appKey 开发者在友盟官网申请的appkey.
15 @param channel 渠道标识,可设置nil表示"App Store". 15 @param channel 渠道标识,可设置nil表示"App Store".
16 - @return;  
17 */ 16 */
18 + (void)initWithAppkey:(NSString *)appKey channel:(NSString *)channel; 17 + (void)initWithAppkey:(NSString *)appKey channel:(NSString *)channel;
19 18
20 /** 设置是否在console输出sdk的log信息. 19 /** 设置是否在console输出sdk的log信息.
21 @param bFlag 默认NO(不输出log); 设置为YES, 输出可供调试参考的log信息. 发布产品时必须设置为NO. 20 @param bFlag 默认NO(不输出log); 设置为YES, 输出可供调试参考的log信息. 发布产品时必须设置为NO.
22 - @return void.  
23 */ 21 */
24 + (void)setLogEnabled:(BOOL)bFlag; 22 + (void)setLogEnabled:(BOOL)bFlag;
25 23
26 /** 设置是否对日志信息进行加密, 默认NO(不加密). 24 /** 设置是否对日志信息进行加密, 默认NO(不加密).
27 @param value 设置为YES, umeng SDK 会将日志信息做加密处理 25 @param value 设置为YES, umeng SDK 会将日志信息做加密处理
28 - @return void.  
29 */ 26 */
30 + (void)setEncryptEnabled:(BOOL)value; 27 + (void)setEncryptEnabled:(BOOL)value;
31 28
ParentAssistant/Pods/UMCCommon/UMCommon.framework/Versions/A/UMCommon
No preview for this file type