[
  {
    "path": ".gitignore",
    "content": "# Created by .ignore support plugin (hsz.mobi)\n### Swift template\n# Xcode\n#\nbuild/\n*.pbxuser\n!default.pbxuser\n*.mode1v3\n!default.mode1v3\n*.mode2v3\n!default.mode2v3\n*.perspectivev3\n!default.perspectivev3\nxcuserdata\n*.xccheckout\n*.moved-aside\nDerivedData\n*.hmap\n*.ipa\n*.xcuserstate\n\n# CocoaPods\n#\n# We recommend against adding the Pods directory to your .gitignore. However\n# you should judge for yourself, the pros and cons are mentioned at:\n# http://guides.cocoapods.org/using/using-cocoapods.html#should-i-ignore-the-pods-directory-in-source-control\n#\n# Pods/\n\n# Carthage\n#\n# Add this line if you want to avoid checking in source code from Carthage dependencies.\n# Carthage/Checkouts\n\nCarthage/Build\n\n### macOS ###\n*.DS_Store\n.AppleDouble\n.LSOverride\n\n# Icon must end with two \\r\nIcon\n\n\n# Thumbnails\n._*\n\n# Files that might appear in the root of a volume\n.DocumentRevisions-V100\n.fseventsd\n.Spotlight-V100\n.TemporaryItems\n.Trashes\n.VolumeIcon.icns\n.com.apple.timemachine.donotpresent\n\n# Directories potentially created on remote AFP share\n.AppleDB\n.AppleDesktop\nNetwork Trash Folder\nTemporary Items\n.apdisk\n"
  },
  {
    "path": ".swift-version",
    "content": "3\n"
  },
  {
    "path": ".swiftlint.yml",
    "content": "disabled_rules:\n  - line_length\n  - type_name\n  - weak_delegate\n\nforce_cast: warning\n\nfunction_body_length:\n  - 108\n  - 108\n\ntype_body_length:\n  - 720\n  - 720\n\nfile_length:\n  - 800\n  - 800\n"
  },
  {
    "path": "LICENSE",
    "content": "Copyright (c) 2014-2015 Meng To (meng@designcode.io)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n"
  },
  {
    "path": "Pager/AppDelegate.swift",
    "content": "//\n//  AppDelegate.swift\n//  Pager\n//\n//  Created by Lucas Oceano on 12/03/2015.\n//  Copyright (c) 2015 Cheesecake. All rights reserved.\n//\n\nimport UIKit\n\n@UIApplicationMain\nclass AppDelegate: UIResponder, UIApplicationDelegate {\n\n\tvar window: UIWindow?\n\tvar navController: UINavigationController!\n\n\tfunc application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {\n\n\t\tself.window = UIWindow(frame: UIScreen.main.bounds)\n\t\tlet viewController = ViewController()\n\n\t\tlet barButtomItem = UIBarButtonItem(title: \"Purple Tab\", style: .plain, target: viewController, action: #selector(ViewController.changeTab))\n\n\t\t//NavigationController with title and button\n\t\tnavController = UINavigationController(rootViewController: viewController)\n\t\tnavController.navigationBar.topItem?.title = \"Pager\"\n\t\tnavController.navigationBar.topItem?.rightBarButtonItem = barButtomItem\n\t\tnavController.navigationBar.hideBottomHairline()\n\n\t\tself.window!.rootViewController = navController\n\t\tself.window?.makeKeyAndVisible()\n\n\t\t//NavigationBar customization\n\t\tUINavigationBar.appearance().titleTextAttributes = [NSAttributedStringKey.foregroundColor: UIColor.white]\n\t\tUINavigationBar.appearance().shadowImage = UIImage()\n\t\tUINavigationBar.appearance().barTintColor = UIColor(rgb: 0x00AA00)\n\t\tUINavigationBar.appearance().tintColor = UIColor.white\n\n\t\t//Setting Status Bar to be white instead of black\n\t\tUIApplication.shared.statusBarStyle = .lightContent\n\n\t\treturn true\n\t}\n\n}\n"
  },
  {
    "path": "Pager/Base.lproj/LaunchScreen.xib",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.XIB\" version=\"3.0\" toolsVersion=\"11198.2\" systemVersion=\"15G1004\" targetRuntime=\"iOS.CocoaTouch\" propertyAccessControl=\"none\" useAutolayout=\"YES\" launchScreen=\"YES\" useTraitCollections=\"YES\" colorMatched=\"YES\">\n    <dependencies>\n        <deployment identifier=\"iOS\"/>\n        <plugIn identifier=\"com.apple.InterfaceBuilder.IBCocoaTouchPlugin\" version=\"11161\"/>\n        <capability name=\"Constraints with non-1.0 multipliers\" minToolsVersion=\"5.1\"/>\n        <capability name=\"documents saved in the Xcode 8 format\" minToolsVersion=\"8.0\"/>\n    </dependencies>\n    <objects>\n        <placeholder placeholderIdentifier=\"IBFilesOwner\" id=\"-1\" userLabel=\"File's Owner\"/>\n        <placeholder placeholderIdentifier=\"IBFirstResponder\" id=\"-2\" customClass=\"UIResponder\"/>\n        <view contentMode=\"scaleToFill\" id=\"iN0-l3-epB\">\n            <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"480\" height=\"480\"/>\n            <autoresizingMask key=\"autoresizingMask\" widthSizable=\"YES\" heightSizable=\"YES\"/>\n            <subviews>\n                <label opaque=\"NO\" clipsSubviews=\"YES\" userInteractionEnabled=\"NO\" contentMode=\"left\" horizontalHuggingPriority=\"251\" verticalHuggingPriority=\"251\" text=\"Pager\" textAlignment=\"center\" lineBreakMode=\"middleTruncation\" baselineAdjustment=\"alignBaselines\" minimumFontSize=\"18\" translatesAutoresizingMaskIntoConstraints=\"NO\" id=\"kId-c2-rCX\">\n                    <fontDescription key=\"fontDescription\" type=\"boldSystem\" pointSize=\"36\"/>\n                    <color key=\"textColor\" cocoaTouchSystemColor=\"darkTextColor\"/>\n                    <nil key=\"highlightedColor\"/>\n                </label>\n            </subviews>\n            <color key=\"backgroundColor\" red=\"1\" green=\"1\" blue=\"1\" alpha=\"1\" colorSpace=\"custom\" customColorSpace=\"sRGB\"/>\n            <constraints>\n                <constraint firstItem=\"kId-c2-rCX\" firstAttribute=\"centerY\" secondItem=\"iN0-l3-epB\" secondAttribute=\"bottom\" multiplier=\"1/3\" constant=\"1\" id=\"5cJ-9S-tgC\"/>\n                <constraint firstAttribute=\"centerX\" secondItem=\"kId-c2-rCX\" secondAttribute=\"centerX\" id=\"Koa-jz-hwk\"/>\n                <constraint firstItem=\"kId-c2-rCX\" firstAttribute=\"leading\" secondItem=\"iN0-l3-epB\" secondAttribute=\"leading\" constant=\"20\" symbolic=\"YES\" id=\"fvb-Df-36g\"/>\n            </constraints>\n            <nil key=\"simulatedStatusBarMetrics\"/>\n            <freeformSimulatedSizeMetrics key=\"simulatedDestinationMetrics\"/>\n            <point key=\"canvasLocation\" x=\"548\" y=\"455\"/>\n        </view>\n    </objects>\n</document>\n"
  },
  {
    "path": "Pager/Base.lproj/Main.storyboard",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB\" version=\"3.0\" toolsVersion=\"11198.2\" systemVersion=\"15G1004\" targetRuntime=\"iOS.CocoaTouch\" propertyAccessControl=\"none\" useAutolayout=\"YES\" useTraitCollections=\"YES\" colorMatched=\"YES\" initialViewController=\"vXZ-lx-hvc\">\n    <dependencies>\n        <deployment identifier=\"iOS\"/>\n        <plugIn identifier=\"com.apple.InterfaceBuilder.IBCocoaTouchPlugin\" version=\"11161\"/>\n        <capability name=\"documents saved in the Xcode 8 format\" minToolsVersion=\"8.0\"/>\n    </dependencies>\n    <scenes>\n        <!--View Controller-->\n        <scene sceneID=\"ufC-wZ-h7g\">\n            <objects>\n                <viewController id=\"vXZ-lx-hvc\" customClass=\"ViewController\" customModule=\"Pager\" customModuleProvider=\"target\" sceneMemberID=\"viewController\">\n                    <layoutGuides>\n                        <viewControllerLayoutGuide type=\"top\" id=\"jyV-Pf-zRb\"/>\n                        <viewControllerLayoutGuide type=\"bottom\" id=\"2fi-mo-0CV\"/>\n                    </layoutGuides>\n                    <view key=\"view\" contentMode=\"scaleToFill\" id=\"kh9-bI-dsS\">\n                        <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"320\" height=\"568\"/>\n                        <autoresizingMask key=\"autoresizingMask\" flexibleMaxX=\"YES\" flexibleMaxY=\"YES\"/>\n                        <color key=\"backgroundColor\" red=\"1\" green=\"1\" blue=\"1\" alpha=\"1\" colorSpace=\"custom\" customColorSpace=\"sRGB\"/>\n                    </view>\n                </viewController>\n                <placeholder placeholderIdentifier=\"IBFirstResponder\" id=\"x5A-6p-PRh\" sceneMemberID=\"firstResponder\"/>\n            </objects>\n            <point key=\"canvasLocation\" x=\"368\" y=\"524\"/>\n        </scene>\n        <!--View Controller-->\n        <scene sceneID=\"gQc-Ea-SiI\">\n            <objects>\n                <viewController storyboardIdentifier=\"firstView\" useStoryboardIdentifierAsRestorationIdentifier=\"YES\" id=\"1zo-OV-UWc\" sceneMemberID=\"viewController\">\n                    <layoutGuides>\n                        <viewControllerLayoutGuide type=\"top\" id=\"OZ3-Ow-VRi\"/>\n                        <viewControllerLayoutGuide type=\"bottom\" id=\"3C2-7v-M31\"/>\n                    </layoutGuides>\n                    <view key=\"view\" contentMode=\"scaleToFill\" id=\"MgU-mq-XYz\">\n                        <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"320\" height=\"568\"/>\n                        <autoresizingMask key=\"autoresizingMask\" widthSizable=\"YES\" heightSizable=\"YES\"/>\n                        <color key=\"backgroundColor\" red=\"0.1529411765\" green=\"0.44705882349999998\" blue=\"0.85882352939999995\" alpha=\"1\" colorSpace=\"custom\" customColorSpace=\"sRGB\"/>\n                    </view>\n                </viewController>\n                <placeholder placeholderIdentifier=\"IBFirstResponder\" id=\"5py-S7-fGe\" userLabel=\"First Responder\" sceneMemberID=\"firstResponder\"/>\n            </objects>\n            <point key=\"canvasLocation\" x=\"331\" y=\"-970\"/>\n        </scene>\n        <!--View Controller-->\n        <scene sceneID=\"p3s-xC-Rds\">\n            <objects>\n                <viewController storyboardIdentifier=\"secondView\" useStoryboardIdentifierAsRestorationIdentifier=\"YES\" id=\"n4d-Z2-8ks\" sceneMemberID=\"viewController\">\n                    <layoutGuides>\n                        <viewControllerLayoutGuide type=\"top\" id=\"aM8-JA-6zy\"/>\n                        <viewControllerLayoutGuide type=\"bottom\" id=\"hzL-I0-bfJ\"/>\n                    </layoutGuides>\n                    <view key=\"view\" contentMode=\"scaleToFill\" id=\"c1O-bK-eye\">\n                        <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"320\" height=\"568\"/>\n                        <autoresizingMask key=\"autoresizingMask\" widthSizable=\"YES\" heightSizable=\"YES\"/>\n                        <color key=\"backgroundColor\" red=\"1\" green=\"0.4823529412\" blue=\"0.24313725489999999\" alpha=\"1\" colorSpace=\"custom\" customColorSpace=\"sRGB\"/>\n                    </view>\n                </viewController>\n                <placeholder placeholderIdentifier=\"IBFirstResponder\" id=\"NR5-mV-eKv\" userLabel=\"First Responder\" sceneMemberID=\"firstResponder\"/>\n            </objects>\n            <point key=\"canvasLocation\" x=\"331\" y=\"-286\"/>\n        </scene>\n        <!--View Controller-->\n        <scene sceneID=\"55S-xs-UAp\">\n            <objects>\n                <viewController storyboardIdentifier=\"thirdView\" useStoryboardIdentifierAsRestorationIdentifier=\"YES\" id=\"kyj-cI-Iw7\" sceneMemberID=\"viewController\">\n                    <layoutGuides>\n                        <viewControllerLayoutGuide type=\"top\" id=\"W2G-8Z-Ymx\"/>\n                        <viewControllerLayoutGuide type=\"bottom\" id=\"YMZ-Yh-eK8\"/>\n                    </layoutGuides>\n                    <view key=\"view\" contentMode=\"scaleToFill\" id=\"dr0-7C-kZQ\">\n                        <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"320\" height=\"568\"/>\n                        <autoresizingMask key=\"autoresizingMask\" widthSizable=\"YES\" heightSizable=\"YES\"/>\n                        <color key=\"backgroundColor\" red=\"0.0\" green=\"0.50196081400000003\" blue=\"1\" alpha=\"0.53767254600000003\" colorSpace=\"custom\" customColorSpace=\"sRGB\"/>\n                    </view>\n                </viewController>\n                <placeholder placeholderIdentifier=\"IBFirstResponder\" id=\"ILt-5x-skm\" userLabel=\"First Responder\" sceneMemberID=\"firstResponder\"/>\n            </objects>\n            <point key=\"canvasLocation\" x=\"1001\" y=\"-970\"/>\n        </scene>\n        <!--Grey View Controller-->\n        <scene sceneID=\"Xs7-Vc-2S9\">\n            <objects>\n                <viewController storyboardIdentifier=\"tableView\" useStoryboardIdentifierAsRestorationIdentifier=\"YES\" id=\"H57-mS-ztf\" customClass=\"GreyViewController\" customModule=\"Pager\" customModuleProvider=\"target\" sceneMemberID=\"viewController\">\n                    <layoutGuides>\n                        <viewControllerLayoutGuide type=\"top\" id=\"Ifj-Js-KiO\"/>\n                        <viewControllerLayoutGuide type=\"bottom\" id=\"hCi-BB-Gam\"/>\n                    </layoutGuides>\n                    <view key=\"view\" contentMode=\"scaleToFill\" id=\"FmI-oN-uga\">\n                        <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"320\" height=\"568\"/>\n                        <autoresizingMask key=\"autoresizingMask\" widthSizable=\"YES\" heightSizable=\"YES\"/>\n                        <subviews>\n                            <tableView clipsSubviews=\"YES\" contentMode=\"scaleToFill\" misplaced=\"YES\" alwaysBounceVertical=\"YES\" dataMode=\"prototypes\" style=\"plain\" separatorStyle=\"default\" rowHeight=\"44\" sectionHeaderHeight=\"28\" sectionFooterHeight=\"28\" translatesAutoresizingMaskIntoConstraints=\"NO\" id=\"51H-bR-xZD\">\n                                <frame key=\"frameInset\" minY=\"20\" width=\"600\" height=\"580\"/>\n                                <color key=\"backgroundColor\" red=\"1\" green=\"1\" blue=\"1\" alpha=\"1\" colorSpace=\"custom\" customColorSpace=\"sRGB\"/>\n                                <color key=\"sectionIndexBackgroundColor\" red=\"0.0\" green=\"0.0\" blue=\"0.0\" alpha=\"0.0\" colorSpace=\"custom\" customColorSpace=\"sRGB\"/>\n                                <prototypes>\n                                    <tableViewCell clipsSubviews=\"YES\" contentMode=\"scaleToFill\" selectionStyle=\"blue\" hidesAccessoryWhenEditing=\"NO\" indentationLevel=\"1\" indentationWidth=\"0.0\" reuseIdentifier=\"Cell\" id=\"eLg-Zg-8LV\">\n                                        <rect key=\"frame\" x=\"0.0\" y=\"28\" width=\"600\" height=\"44\"/>\n                                        <autoresizingMask key=\"autoresizingMask\"/>\n                                        <tableViewCellContentView key=\"contentView\" opaque=\"NO\" clipsSubviews=\"YES\" multipleTouchEnabled=\"YES\" contentMode=\"center\" tableViewCell=\"eLg-Zg-8LV\" id=\"kEE-Hw-NZe\">\n                                            <frame key=\"frameInset\" width=\"600\" height=\"44\"/>\n                                            <autoresizingMask key=\"autoresizingMask\"/>\n                                        </tableViewCellContentView>\n                                        <color key=\"backgroundColor\" red=\"0.0\" green=\"0.0\" blue=\"0.0\" alpha=\"0.0\" colorSpace=\"custom\" customColorSpace=\"sRGB\"/>\n                                    </tableViewCell>\n                                </prototypes>\n                                <connections>\n                                    <outlet property=\"dataSource\" destination=\"H57-mS-ztf\" id=\"THd-FS-qR6\"/>\n                                    <outlet property=\"delegate\" destination=\"H57-mS-ztf\" id=\"lfF-3P-zah\"/>\n                                </connections>\n                            </tableView>\n                        </subviews>\n                        <color key=\"backgroundColor\" red=\"0.66666666666666663\" green=\"0.66666666666666663\" blue=\"0.66666666666666663\" alpha=\"1\" colorSpace=\"custom\" customColorSpace=\"sRGB\"/>\n                        <constraints>\n                            <constraint firstItem=\"hCi-BB-Gam\" firstAttribute=\"top\" secondItem=\"51H-bR-xZD\" secondAttribute=\"bottom\" id=\"1VE-IV-OaG\"/>\n                            <constraint firstItem=\"51H-bR-xZD\" firstAttribute=\"leading\" secondItem=\"FmI-oN-uga\" secondAttribute=\"leading\" id=\"7TA-tP-68e\"/>\n                            <constraint firstItem=\"51H-bR-xZD\" firstAttribute=\"top\" secondItem=\"Ifj-Js-KiO\" secondAttribute=\"bottom\" id=\"eo4-OK-mXb\"/>\n                            <constraint firstAttribute=\"trailing\" secondItem=\"51H-bR-xZD\" secondAttribute=\"trailing\" id=\"kZf-Mh-ujg\"/>\n                        </constraints>\n                    </view>\n                    <navigationItem key=\"navigationItem\" id=\"VzX-0w-rBu\"/>\n                    <connections>\n                        <outlet property=\"tableView\" destination=\"51H-bR-xZD\" id=\"Hab-Em-2s1\"/>\n                    </connections>\n                </viewController>\n                <placeholder placeholderIdentifier=\"IBFirstResponder\" id=\"2wY-rf-DTh\" userLabel=\"First Responder\" sceneMemberID=\"firstResponder\"/>\n            </objects>\n            <point key=\"canvasLocation\" x=\"1647\" y=\"-300\"/>\n        </scene>\n        <!--View Controller-->\n        <scene sceneID=\"bbe-lW-Uf8\">\n            <objects>\n                <viewController storyboardIdentifier=\"fifthView\" useStoryboardIdentifierAsRestorationIdentifier=\"YES\" id=\"nfu-RX-qo8\" sceneMemberID=\"viewController\">\n                    <layoutGuides>\n                        <viewControllerLayoutGuide type=\"top\" id=\"uqJ-Fg-tHs\"/>\n                        <viewControllerLayoutGuide type=\"bottom\" id=\"IiA-jo-OE2\"/>\n                    </layoutGuides>\n                    <view key=\"view\" contentMode=\"scaleToFill\" id=\"LWP-HA-K7H\">\n                        <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"320\" height=\"568\"/>\n                        <autoresizingMask key=\"autoresizingMask\" widthSizable=\"YES\" heightSizable=\"YES\"/>\n                        <color key=\"backgroundColor\" red=\"0.36470588240000001\" green=\"0.29411764709999999\" blue=\"0.59999999999999998\" alpha=\"1\" colorSpace=\"custom\" customColorSpace=\"sRGB\"/>\n                    </view>\n                </viewController>\n                <placeholder placeholderIdentifier=\"IBFirstResponder\" id=\"8ph-uc-38n\" userLabel=\"First Responder\" sceneMemberID=\"firstResponder\"/>\n            </objects>\n            <point key=\"canvasLocation\" x=\"1647\" y=\"-970\"/>\n        </scene>\n        <!--View Controller-->\n        <scene sceneID=\"Hs7-6G-3RK\">\n            <objects>\n                <viewController storyboardIdentifier=\"sixthView\" useStoryboardIdentifierAsRestorationIdentifier=\"YES\" id=\"FMe-JW-F5b\" sceneMemberID=\"viewController\">\n                    <layoutGuides>\n                        <viewControllerLayoutGuide type=\"top\" id=\"gKv-d1-6Jd\"/>\n                        <viewControllerLayoutGuide type=\"bottom\" id=\"o6d-27-HyS\"/>\n                    </layoutGuides>\n                    <view key=\"view\" contentMode=\"scaleToFill\" id=\"9mv-Wn-QEk\">\n                        <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"320\" height=\"568\"/>\n                        <autoresizingMask key=\"autoresizingMask\" widthSizable=\"YES\" heightSizable=\"YES\"/>\n                        <color key=\"backgroundColor\" red=\"0.1137254902\" green=\"0.45098039220000002\" blue=\"0.023529411760000001\" alpha=\"1\" colorSpace=\"custom\" customColorSpace=\"sRGB\"/>\n                    </view>\n                </viewController>\n                <placeholder placeholderIdentifier=\"IBFirstResponder\" id=\"IPG-Oa-trF\" userLabel=\"First Responder\" sceneMemberID=\"firstResponder\"/>\n            </objects>\n            <point key=\"canvasLocation\" x=\"2459\" y=\"-286\"/>\n        </scene>\n        <!--Grey Detail View Controller-->\n        <scene sceneID=\"GQz-KI-zC5\">\n            <objects>\n                <viewController storyboardIdentifier=\"greyTableDetail\" id=\"B85-7i-ZVT\" customClass=\"GreyDetailViewController\" customModule=\"Pager\" customModuleProvider=\"target\" sceneMemberID=\"viewController\">\n                    <layoutGuides>\n                        <viewControllerLayoutGuide type=\"top\" id=\"bw5-4q-UcT\"/>\n                        <viewControllerLayoutGuide type=\"bottom\" id=\"eL3-g9-SQx\"/>\n                    </layoutGuides>\n                    <view key=\"view\" contentMode=\"scaleToFill\" id=\"Ptc-WH-4iP\">\n                        <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"320\" height=\"568\"/>\n                        <autoresizingMask key=\"autoresizingMask\" widthSizable=\"YES\" heightSizable=\"YES\"/>\n                        <subviews>\n                            <label opaque=\"NO\" userInteractionEnabled=\"NO\" contentMode=\"left\" horizontalHuggingPriority=\"251\" verticalHuggingPriority=\"251\" misplaced=\"YES\" text=\"Detail for index 3\" textAlignment=\"center\" lineBreakMode=\"tailTruncation\" baselineAdjustment=\"alignBaselines\" adjustsFontSizeToFit=\"NO\" translatesAutoresizingMaskIntoConstraints=\"NO\" id=\"5vr-gj-1f0\">\n                                <frame key=\"frameInset\" minX=\"235.5\" minY=\"289\" width=\"129.5\" height=\"21\"/>\n                                <fontDescription key=\"fontDescription\" type=\"system\" pointSize=\"17\"/>\n                                <color key=\"textColor\" cocoaTouchSystemColor=\"darkTextColor\"/>\n                                <nil key=\"highlightedColor\"/>\n                            </label>\n                        </subviews>\n                        <color key=\"backgroundColor\" red=\"1\" green=\"1\" blue=\"1\" alpha=\"1\" colorSpace=\"custom\" customColorSpace=\"sRGB\"/>\n                        <constraints>\n                            <constraint firstItem=\"5vr-gj-1f0\" firstAttribute=\"centerY\" secondItem=\"Ptc-WH-4iP\" secondAttribute=\"centerY\" id=\"BZX-xV-xcQ\"/>\n                            <constraint firstItem=\"5vr-gj-1f0\" firstAttribute=\"centerX\" secondItem=\"Ptc-WH-4iP\" secondAttribute=\"centerX\" id=\"Gv2-UY-otv\"/>\n                        </constraints>\n                    </view>\n                    <navigationItem key=\"navigationItem\" id=\"UAS-DR-xop\"/>\n                    <connections>\n                        <outlet property=\"detailText\" destination=\"5vr-gj-1f0\" id=\"azd-wE-YGA\"/>\n                    </connections>\n                </viewController>\n                <placeholder placeholderIdentifier=\"IBFirstResponder\" id=\"boJ-RP-lcC\" userLabel=\"First Responder\" sceneMemberID=\"firstResponder\"/>\n            </objects>\n            <point key=\"canvasLocation\" x=\"3721\" y=\"-334\"/>\n        </scene>\n    </scenes>\n</document>\n"
  },
  {
    "path": "Pager/Extensions.swift",
    "content": "//\n//  Extensions.swift\n//  Pager\n//\n//  Created by Lucas Farah on 3/20/16.\n//  Copyright © 2016 Cheesecake. All rights reserved.\n//\n\nimport UIKit\n\nextension UIColor {\n  convenience init(rgb: UInt) {\n    self.init(\n      red: CGFloat((rgb & 0xFF0000) >> 16) / 255.0,\n      green: CGFloat((rgb & 0x00FF00) >> 8) / 255.0,\n      blue: CGFloat(rgb & 0x0000FF) / 255.0,\n      alpha: CGFloat(1.0)\n    )\n  }\n}\n\nextension UINavigationBar {\n\n  func hideBottomHairline() {\n    let navigationBarImageView = hairlineImageViewInNavigationBar(self)\n    navigationBarImageView!.isHidden = true\n  }\n\n  func showBottomHairline() {\n    let navigationBarImageView = hairlineImageViewInNavigationBar(self)\n    navigationBarImageView!.isHidden = false\n  }\n\n  fileprivate func hairlineImageViewInNavigationBar(_ view: UIView) -> UIImageView? {\n\tif let view  = view as? UIImageView, view.bounds.size.height <= 1.0 {\n\t\t\treturn view\n\t}\n\n    let subviews = (view.subviews as [UIView])\n    for subview: UIView in subviews {\n      if let imageView: UIImageView = hairlineImageViewInNavigationBar(subview) {\n        return imageView\n      }\n    }\n\n    return nil\n  }\n}\n"
  },
  {
    "path": "Pager/GreyDetailViewController.swift",
    "content": "//\n//  GreyDetailViewController.swift\n//  Pager\n//\n//  Created by Antonio Alves on 8/16/16.\n//  Copyright © 2016 Cheesecake. All rights reserved.\n//\n\nimport UIKit\n\nclass GreyDetailViewController: UIViewController {\n\n    @IBOutlet weak var detailText: UILabel! {\n        didSet {\n            detailText.text = text\n        }\n    }\n\n    var text: String?\n\n}\n"
  },
  {
    "path": "Pager/GreyViewController.swift",
    "content": "//\n//  GreyViewController.swift\n//  Pager\n//\n//  Created by Antonio Alves on 8/16/16.\n//  Copyright © 2016 Cheesecake. All rights reserved.\n//\n\nimport UIKit\n\nclass GreyViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {\n\n    @IBOutlet weak var tableView: UITableView!\n\tvar didSelectRow: ((String) -> Void)?\n\n    override func viewDidLoad() {\n        super.viewDidLoad()\n        automaticallyAdjustsScrollViewInsets = false\n    }\n\n    // MARK: - Table view data source\n\n    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {\n        // #warning Incomplete implementation, return the number of rows\n        return 10\n    }\n\n\tpublic func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {\n\t\tlet cell = tableView.dequeueReusableCell(withIdentifier: \"Cell\", for: indexPath as IndexPath)\n\t\tcell.textLabel?.text = \"Example at index \\(indexPath.row + 1)\"\n\n\t\treturn cell\n\t}\n\n\tfunc tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {\n\t\tdidSelectRow?(\"Detail for index \\(indexPath.row + 1)\")\n\t\ttableView.deselectRow(at: indexPath as IndexPath, animated: true)\n\t}\n\n}\n"
  },
  {
    "path": "Pager/Images.xcassets/AppIcon.appiconset/Contents.json",
    "content": "{\n  \"images\" : [\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"29x29\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"29x29\",\n      \"scale\" : \"3x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"40x40\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"40x40\",\n      \"scale\" : \"3x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"60x60\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"60x60\",\n      \"scale\" : \"3x\"\n    }\n  ],\n  \"info\" : {\n    \"version\" : 1,\n    \"author\" : \"xcode\"\n  }\n}"
  },
  {
    "path": "Pager/Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleDisplayName</key>\n\t<string>Pager</string>\n\t<key>CFBundleExecutable</key>\n\t<string>$(EXECUTABLE_NAME)</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>$(PRODUCT_NAME)</string>\n\t<key>CFBundlePackageType</key>\n\t<string>APPL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.1.1</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n\t<key>LSRequiresIPhoneOS</key>\n\t<true/>\n\t<key>UILaunchStoryboardName</key>\n\t<string>LaunchScreen</string>\n\t<key>UIRequiredDeviceCapabilities</key>\n\t<array>\n\t\t<string>armv7</string>\n\t</array>\n\t<key>UIStatusBarStyle</key>\n\t<string>UIStatusBarStyleLightContent</string>\n\t<key>UISupportedInterfaceOrientations</key>\n\t<array>\n\t\t<string>UIInterfaceOrientationPortrait</string>\n\t\t<string>UIInterfaceOrientationLandscapeLeft</string>\n\t\t<string>UIInterfaceOrientationLandscapeRight</string>\n\t</array>\n\t<key>UIViewControllerBasedStatusBarAppearance</key>\n\t<false/>\n</dict>\n</plist>\n"
  },
  {
    "path": "Pager/ViewController.swift",
    "content": "//\n//  ViewController.swift\n//  Pager\n//\n//  Created by Lucas Oceano on 12/03/2015.\n//  Copyright (c) 2015 Cheesecake. All rights reserved.\n//\n\nimport UIKit\n\nclass ViewController: PagerController, PagerDataSource {\n\n\tvar titles: [String] = []\n\n\toverride func viewDidLoad() {\n\t\tsuper.viewDidLoad()\n\t\tself.dataSource = self\n\n\t\t// Instantiating Storyboard ViewControllers\n\t\tlet storyboard = UIStoryboard(name: \"Main\", bundle: nil)\n\t\tlet controller1 = storyboard.instantiateViewController(withIdentifier: \"firstView\")\n\t\tlet controller2 = storyboard.instantiateViewController(withIdentifier: \"secondView\")\n\t\tlet controller3 = storyboard.instantiateViewController(withIdentifier: \"thirdView\")\n\t\tlet controller4 = storyboard.instantiateViewController(withIdentifier: \"tableView\")\n\t\tlet controller5 = storyboard.instantiateViewController(withIdentifier: \"fifthView\")\n\t\tlet controller6 = storyboard.instantiateViewController(withIdentifier: \"sixthView\")\n\n\t\t// Setting up the PagerController with Name of the Tabs and their respective ViewControllers\n\t\tself.setupPager(\n\t\t\ttabNames: [\"Blue\", \"Orange\", \"Light Blue\", \"Grey\", \"Purple\", \"Green\"],\n\t\t\ttabControllers: [controller1, controller2, controller3, controller4, controller5, controller6])\n\n\t\tcustomizeTab()\n\n\t\tif let controller = controller4 as? GreyViewController {\n\t\t\tcontroller.didSelectRow = { [weak self] (text: String) in\n\t\t\t\tlet storyboard = UIStoryboard(name: \"Main\", bundle: nil)\n\t\t\t\tif let detail = storyboard.instantiateViewController(withIdentifier: \"greyTableDetail\") as? GreyDetailViewController {\n\t\t\t\t\tdetail.text = text\n\t\t\t\t\tself?.navigationController?.pushViewController(detail, animated: true)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Customising the Tab's View\n\tfunc customizeTab() {\n\t\tindicatorColor = UIColor.white\n\t\ttabsViewBackgroundColor = UIColor(rgb: 0x00AA00)\n\t\tcontentViewBackgroundColor = UIColor.gray.withAlphaComponent(0.32)\n\n\t\tstartFromSecondTab = false\n\t\tcenterCurrentTab = true\n\t\ttabLocation = PagerTabLocation.top\n\t\ttabHeight = 49\n\t\ttabOffset = 36\n\t\ttabWidth = 96.0\n\t\tfixFormerTabsPositions = false\n\t\tfixLaterTabsPosition = false\n        animation = PagerAnimation.during\n        selectedTabTextColor = .blue\n        tabsTextFont = UIFont(name: \"HelveticaNeue-Bold\", size: 20)!\n        // tabTopOffset = 10.0\n        // tabsTextColor = .purpleColor()\n\n\t}\n\n\t// Programatically selecting a tab. This function is getting called on AppDelegate\n\t@objc func changeTab() {\n\t\tself.selectTabAtIndex(4)\n\t}\n\n}\n"
  },
  {
    "path": "Pager/library/PagerController.swift",
    "content": "//\n//  ViewPager.swift\n//  Pager\n//\n//  Created by Lucas Oceano on 12/03/2015.\n//  Copyright (c) 2015 Cheesecake. All rights reserved.\n//\n\nimport Foundation\nimport UIKit.UITableView\n\n// MARK: - Pager Enums\n//Enum for the location of the tab bar\npublic enum PagerTabLocation: Int {\n\tcase none = 0 // None will go to the bottom\n\tcase top = 1\n\tcase bottom = 2\n}\n\n//Enum for the animation of the tab indicator\npublic enum PagerAnimation: Int {\n\tcase none = 0 // No animation\n\tcase end = 1 // pager indicator will animate after the VC changes\n\tcase during = 2 // pager indicator will animate as the VC changes\n}\n\n// MARK: - Protocols\n@objc public protocol PagerDelegate: NSObjectProtocol {\n\t@objc optional func didChangeTabToIndex(_ pager: PagerController, index: Int)\n\t@objc optional func didChangeTabToIndex(_ pager: PagerController, index: Int, previousIndex: Int)\n\t@objc optional func didChangeTabToIndex(_ pager: PagerController, index: Int, previousIndex: Int, swipe: Bool)\n}\n\n@objc public protocol PagerDataSource: NSObjectProtocol {\n\t@objc optional func numberOfTabs(_ pager: PagerController) -> Int\n\t@objc optional func tabViewForIndex(_ index: Int, pager: PagerController) -> UIView\n\t@objc optional func viewForTabAtIndex(_ index: Int, pager: PagerController) -> UIView\n\t@objc optional func controllerForTabAtIndex(_ index: Int, pager: PagerController) -> UIViewController\n}\n\nopen class PagerController: UIViewController, UIPageViewControllerDataSource, UIPageViewControllerDelegate, UIScrollViewDelegate {\n\n\t// MARK: - public properties\n\topen var contentViewBackgroundColor: UIColor = UIColor.white\n\topen var indicatorColor: UIColor = UIColor.red\n\topen var tabsViewBackgroundColor: UIColor = UIColor.gray\n\topen var tabsTextColor: UIColor = UIColor.white\n\topen var selectedTabTextColor = UIColor.white\n\topen var tabsImageViewContentMode = UIViewContentMode.scaleAspectFit\n\topen weak var dataSource: PagerDataSource?\n\topen weak var delegate: PagerDelegate?\n\topen var tabHeight: CGFloat = 44.0\n\topen var tabTopOffset: CGFloat = 0.0\n\topen var tabOffset: CGFloat = 56.0\n\topen var tabWidth: CGFloat = 128.0\n\topen var tabsTextFont: UIFont = UIFont.boldSystemFont(ofSize: 16.0)\n\topen var indicatorHeight: CGFloat = 5.0\n\topen var tabLocation: PagerTabLocation = PagerTabLocation.top\n\topen var animation: PagerAnimation = PagerAnimation.during\n\topen var startFromSecondTab: Bool = false\n\topen var centerCurrentTab: Bool = false\n\topen var fixFormerTabsPositions: Bool = false\n\topen var fixLaterTabsPosition: Bool = false\n\topen var ignoreTopBarHeight: Bool = false\n\topen var ignoreBottomBarHeight: Bool = false\n\tfileprivate var tabViews: [UIView] = []\n\tfileprivate var tabControllers: [UIViewController] = []\n\n\t// MARK: - Tab and content stuff\n\tinternal var tabsView: UIScrollView?\n\tinternal var pageViewController: UIPageViewController = UIPageViewController(transitionStyle: .scroll, navigationOrientation: .horizontal, options: nil)\n\tinternal var actualDelegate: UIScrollViewDelegate?\n\tinternal var contentView: UIView {\n\t\tlet contentView = self.pageViewController.view\n\t\tcontentView!.autoresizingMask = [.flexibleHeight, .flexibleWidth]\n\t\tcontentView!.backgroundColor = self.contentViewBackgroundColor\n\t\tcontentView!.bounds = self.view.bounds\n\t\tcontentView!.tag = 34\n\n\t\treturn contentView!\n\t}\n\n\t// MARK: - Tab and content cache\n\tinternal var underlineStroke: UIView = UIView()\n\tinternal var tabs: [UIView?] = []\n\tinternal var contents: [UIViewController?] = []\n\tinternal var tabCount: Int = 0\n\tinternal var activeTabIndex: Int = 0\n\tinternal var activeContentIndex: Int = 0\n\tinternal var animatingToTab: Bool = false\n\tinternal var defaultSetupDone: Bool = false\n\tinternal var didTapOnTabView: Bool = false\n\n\t// MARK: - Important Methods\n\t// Initializing PagerController with Name of the Tabs and their respective ViewControllers\n\topen func setupPager(tabNames: [String], tabControllers: [UIViewController]) {\n\t\tlet tabViews = tabNames.map { title -> UILabel in\n\t\t\tlet label = UILabel()\n\t\t\tlabel.text = title\n\t\t\tlabel.textColor = tabsTextColor\n\t\t\tlabel.font = tabsTextFont\n\t\t\tlabel.backgroundColor = .clear\n\t\t\tlabel.sizeToFit()\n\t\t\treturn label\n\t\t}\n\t\tsetupPager(views: tabViews, tabControllers: tabControllers)\n\t}\n\n\topen func setupPager(tabImages: [UIImage], tabControllers: [UIViewController]) {\n\t\tlet tabViews = tabImages.map { image -> UIImageView in\n\t\t\tlet imageView = UIImageView(image: image)\n\t\t\timageView.contentMode = tabsImageViewContentMode\n\t\t\timageView.backgroundColor = .clear\n\t\t\treturn imageView\n\t\t}\n\t\tsetupPager(views: tabViews, tabControllers: tabControllers)\n\t}\n\n\topen func setupPager(views: [UIView], tabControllers: [UIViewController]) {\n\t\tself.tabViews = views\n\t\tself.tabControllers = tabControllers\n\t}\n\n\topen func reloadData() {\n\t\tself.defaultSetup()\n\t\tself.view.setNeedsDisplay()\n\t}\n\n\topen func selectTabAtIndex(_ index: Int) {\n\t\tself.selectTabAtIndex(index, swipe: false)\n\t}\n\n\t// MARK: - Other Methods\n\toverride open func viewDidLoad() {\n\t\tsuper.viewDidLoad()\n\t\tself.defaultSettings()\n\t}\n\n\toverride open func viewWillAppear(_ animated: Bool) {\n\t\tsuper.viewWillAppear(animated)\n\t\tif !self.defaultSetupDone {\n\t\t\tself.defaultSetup()\n\t\t}\n\t}\n\n\toverride open func viewWillLayoutSubviews() {\n\t\tsuper.viewWillLayoutSubviews()\n\t\tself.layoutSubViews()\n\t}\n\n\topen override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) {\n\t\tsuper.viewWillTransition(to: size, with: coordinator)\n\t\tself.layoutSubViews()\n\t\tself.changeActiveTabIndex(self.activeTabIndex)\n\t}\n\n\toverride open func didReceiveMemoryWarning() {\n\t\tsuper.didReceiveMemoryWarning()\n\t\t// Dispose of any resources that can be recreated.\n\t}\n\n\t// MARK: - Private Methods\n\tfunc defaultSettings() {\n\t\tfor (view): (UIView) in self.pageViewController.view!.subviews as [UIView] {\n\t\t\tif let view = view as? UIScrollView {\n\t\t\t\tself.actualDelegate = view.delegate\n\t\t\t\tview.delegate = self\n\t\t\t}\n\t\t}\n\n\t\tself.pageViewController.dataSource = self\n\t\tself.pageViewController.delegate = self\n\t}\n\n\tfunc defaultSetup() {\n\t\t// Empty tabs and contents\n\t\tself.tabs.forEach { (tabView) in\n\t\t\ttabView?.removeFromSuperview()\n\t\t}\n\n\t\tself.tabs.removeAll(keepingCapacity: true)\n\t\tself.contents.removeAll(keepingCapacity: true)\n\t\tself.underlineStroke.removeFromSuperview()\n\n\t\t// Get tabCount from dataSource\n\t\tif let dataSource = self.dataSource,\n\t\t\tlet num = dataSource.numberOfTabs?(self) {\n\t\t\tself.tabCount = num\n\t\t} else {\n\t\t\tself.tabCount = tabControllers.count\n\t\t}\n\n\t\t// Populate arrays with nil\n\t\tself.tabs = Array(repeating: nil, count: self.tabCount)\n\t\tfor _ in 0 ..< self.tabCount {\n\t\t\tself.tabs.append(nil)\n\t\t}\n\n\t\tself.contents = Array(repeating: nil, count: self.tabCount)\n\t\tfor _ in 0 ..< self.tabCount {\n\t\t\tself.contents.append(nil)\n\t\t}\n\n\t\t// Add tabsView\n\t\tif self.tabsView == nil {\n\n\t\t\tself.tabsView = UIScrollView(frame: CGRect(x: 0.0, y: 0.0, width: self.view.frame.width, height: self.tabHeight))\n\t\t\tself.tabsView!.autoresizingMask = .flexibleWidth\n\t\t\tself.tabsView!.backgroundColor = self.tabsViewBackgroundColor\n\t\t\tself.tabsView!.scrollsToTop = false\n\t\t\tself.tabsView?.bounces = false\n\t\t\tself.tabsView!.showsHorizontalScrollIndicator = false\n\t\t\tself.tabsView!.showsVerticalScrollIndicator = false\n\t\t\tself.tabsView?.isScrollEnabled = true\n\t\t\tself.tabsView!.tag = 38\n\n\t\t\tself.view.insertSubview(self.tabsView!, at: 0)\n\t\t} else {\n\t\t\tself.tabsView = self.view.viewWithTag(38) as? UIScrollView\n\t\t}\n\n\t\t// Add tab views to _tabsView\n\t\tvar contentSizeWidth: CGFloat = 0.0\n\n\t\t// Give the standard offset if fixFormerTabsPositions is provided as YES\n\t\tif self.fixFormerTabsPositions {\n\t\t\t// And if the centerCurrentTab is provided as YES fine tune the offset according to it\n\t\t\tif self.centerCurrentTab {\n\t\t\t\tcontentSizeWidth = (self.tabsView!.frame.width - self.tabWidth) / 2.0\n\t\t\t} else {\n\t\t\t\tcontentSizeWidth = self.tabOffset\n\t\t\t}\n\t\t}\n\n\t\tfor i in 0 ..< self.tabCount {\n\t\t\tlet tabView: UIView? = self.tabViewAtIndex(i) as UIView?\n\t\t\tvar frame: CGRect = tabView!.frame\n\t\t\tframe.origin.x = contentSizeWidth\n\t\t\tframe.size.width = self.tabWidth\n\t\t\ttabView!.frame = frame\n\n\t\t\tself.tabsView!.addSubview(tabView!)\n\n\t\t\tcontentSizeWidth += tabView!.frame.width\n\n\t\t\t// To capture tap events\n\t\t\tlet tapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(PagerController.handleTapGesture(_:)))\n\t\t\ttabView!.addGestureRecognizer(tapGestureRecognizer)\n\t\t}\n\n\t\t// Extend contentSizeWidth if fixLatterTabsPositions is provided YES\n\t\tif self.fixLaterTabsPosition {\n\t\t\t// And if the centerCurrentTab is provided as YES fine tune the content size according to it\n\t\t\tif self.centerCurrentTab {\n\t\t\t\tcontentSizeWidth += (self.tabsView!.frame.width - self.tabWidth) / 2.0\n\t\t\t} else {\n\t\t\t\tcontentSizeWidth += self.tabsView!.frame.width - self.tabWidth - self.tabOffset\n\t\t\t}\n\t\t}\n\n\t\tself.tabsView!.contentSize = CGSize(width: contentSizeWidth, height: self.tabHeight)\n\n\t\tself.view.insertSubview(self.contentView, at: 0)\n\n\t\t// Select starting tab\n\t\tlet index: Int = self.startFromSecondTab ? 1 : 0\n\t\tself.selectTabAtIndex(index, swipe: true)\n\n\t\tif self.tabCount > 0 {\n\t\t\t// creates the indicator\n\t\t\tvar rect: CGRect = self.tabViewAtIndex(self.activeContentIndex)!.frame\n\t\t\trect.origin.y = rect.size.height - self.indicatorHeight\n\t\t\trect.size.height = self.indicatorHeight\n\n\t\t\tself.underlineStroke = UIView(frame: rect)\n\t\t\tself.underlineStroke.backgroundColor = self.indicatorColor\n\t\t\tself.tabsView!.addSubview(self.underlineStroke)\n\t\t}\n\n\t\t// Set setup done\n\t\tself.defaultSetupDone = true\n\t}\n\n\tfunc layoutSubViews() {\n\t\tvar topLayoutGuide: CGFloat = 0.0\n\t\tif !ignoreTopBarHeight && self.navigationController?.navigationBar.isTranslucent != false {\n\t\t\ttopLayoutGuide = UIApplication.shared.isStatusBarHidden ? 0.0 : 20.0\n\n            if UIDevice.isIphoneX {\n                topLayoutGuide += 24.0\n            }\n\n\t\t\tif let nav = self.navigationController {\n\t\t\t\ttopLayoutGuide += nav.navigationBar.frame.size.height\n\t\t\t}\n\t\t}\n\n\t\tvar frame: CGRect = self.tabsView!.frame\n\t\tframe.origin.x = 0.0\n\t\tframe.origin.y = (self.tabLocation == .top) ? topLayoutGuide + tabTopOffset: self.view.frame.height - self.tabHeight\n\t\tframe.size.width = self.view.frame.width\n\t\tframe.size.height = self.tabHeight\n\t\tself.tabsView!.frame = frame\n\n\t\tframe = self.contentView.frame\n\t\tframe.origin.x = 0.0\n\t\tframe.origin.y = (self.tabLocation == .top) ? topLayoutGuide + self.tabsView!.frame.height + tabTopOffset: topLayoutGuide\n\t\tframe.size.width = self.view.frame.width\n\n\t\tframe.size.height = self.view.frame.height - (topLayoutGuide + self.tabsView!.frame.height + tabTopOffset)\n\n\t\tif !ignoreBottomBarHeight && self.tabBarController != nil && self.tabBarController?.tabBar.isTranslucent == true {\n\t\t\tframe.size.height -= self.tabBarController!.tabBar.frame.height\n\t\t}\n\n\t\tself.contentView.frame = frame\n\t}\n\n\tfunc indexForViewController(_ viewController: UIViewController) -> Int {\n\t\tfor (index, element) in self.contents.enumerated() where element == viewController {\n            return index\n\t\t}\n\t\treturn 0\n\t}\n\n\tfunc selectTabAtIndex(_ index: Int, swipe: Bool) {\n\t\tif index >= self.tabCount {\n\t\t\treturn\n\t\t}\n\n\t\tself.didTapOnTabView = !swipe\n\t\tself.animatingToTab = true\n\n\t\tlet previousIndex: Int = self.activeTabIndex\n\n\t\tself.changeActiveTabIndex(index)\n\t\tself.setActiveContentIndex(index)\n\n\t\tif self.delegate != nil {\n\t\t\tif self.delegate!.responds(to: #selector(PagerDelegate.didChangeTabToIndex(_: index:))) {\n\t\t\t\tself.delegate!.didChangeTabToIndex!(self, index: index)\n\t\t\t} else if self.delegate!.responds(to: #selector(PagerDelegate.didChangeTabToIndex(_: index: previousIndex:))) {\n\t\t\t\tself.delegate!.didChangeTabToIndex!(self, index: index, previousIndex: previousIndex)\n\t\t\t} else if self.delegate!.responds(to: #selector(PagerDelegate.didChangeTabToIndex(_: index: previousIndex: swipe:))) {\n\t\t\t\tself.delegate!.didChangeTabToIndex!(self, index: index, previousIndex: previousIndex, swipe: swipe)\n\t\t\t}\n\n\t\t}\n\t\t// Updating selected tab color\n\t\tupdateSelectedTab(index)\n\t}\n\n\tfunc updateSelectedTab(_ index: Int) {\n\n\t\t// Resetting all tab colors to white\n\t\tfor tab in self.tabs {\n\n\t\t\tif let label = tab?.subviews.first as? UILabel {\n\t\t\t\tlabel.textColor = tabsTextColor\n\t\t\t}\n\t\t}\n\n\t\t// Setting current selected tab to red\n\t\tlet tab = self.tabViewAtIndex(index)\n\t\tif let label = tab?.subviews.first as? UILabel {\n\t\t\tlabel.textColor = selectedTabTextColor\n\t\t}\n\t}\n\n\tfunc changeActiveTabIndex(_ newIndex: Int) {\n\n\t\tself.activeTabIndex = newIndex\n\n\t\tlet tabView: UIView = self.tabViewAtIndex(self.activeTabIndex)!\n\t\tvar frame: CGRect = tabView.frame\n\n\t\tif self.centerCurrentTab {\n\n\t\t\tif (frame.origin.x + frame.width + (self.tabsView!.frame.width / 2)) >= self.tabsView!.contentSize.width {\n\t\t\t\tframe.origin.x = (self.tabsView!.contentSize.width - self.tabsView!.frame.width)\n\t\t\t} else {\n\n\t\t\t\tframe.origin.x += (frame.width / 2)\n\t\t\t\tframe.origin.x -= (self.tabsView!.frame.width / 2)\n\n\t\t\t\tif frame.origin.x < 0 {\n\t\t\t\t\tframe.origin.x = 0\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t} else {\n\t\t\tframe.origin.x -= self.tabOffset\n\t\t\tframe.size.width = self.tabsView!.frame.width\n\t\t}\n\n\t\tself.tabsView!.setContentOffset(frame.origin, animated: true)\n\t}\n\n\tfunc tabViewAtIndex(_ index: Int) -> TabView? {\n\t\tguard\n\t\t\tlet dataSource = self.dataSource,\n\t\t\tindex < self.tabCount\n\t\t\telse {\n\t\t\t\treturn nil\n\t\t}\n\n\t\tif (self.tabs[index] as UIView?) == nil {\n\n\t\t\tvar tabViewContent = UIView()\n\t\t\tif let tab = dataSource.tabViewForIndex?(index, pager: self) {\n\t\t\t\ttabViewContent = tab\n\t\t\t} else {\n\t\t\t\ttabViewContent = tabViews[index]\n\t\t\t}\n\t\t\ttabViewContent.autoresizingMask = [.flexibleHeight, .flexibleWidth]\n\n\t\t\tlet tabView: TabView = TabView(frame: CGRect(x: 0.0, y: 0.0, width: self.tabWidth, height: self.tabHeight))\n\t\t\ttabView.addSubview(tabViewContent)\n\t\t\ttabView.clipsToBounds = true\n\t\t\ttabViewContent.center = tabView.center\n\n\t\t\t// Replace the null object with tabView\n\t\t\tself.tabs[index] = tabView\n\t\t}\n\n\t\treturn self.tabs[index] as? TabView\n\t}\n\n\tfunc setNeedsReloadOptions() {\n\t\t// We should update contentSize property of our tabsView, so we should recalculate it with the new values\n\t\tvar contentSizeWidth: CGFloat = 0.0\n\n\t\t// Give the standard offset if fixFormerTabsPositions is provided as YES\n\t\tif self.fixFormerTabsPositions {\n\t\t\t// And if the centerCurrentTab is provided as YES fine tune the offset according to it\n\t\t\tif self.centerCurrentTab {\n\t\t\t\tcontentSizeWidth = (self.tabsView!.frame.width - self.tabWidth) / 2.0\n\t\t\t} else {\n\t\t\t\tcontentSizeWidth = self.tabOffset\n\t\t\t}\n\t\t}\n\n\t\t// Update every tab's frame\n\t\tfor i in 0 ..< self.tabCount {\n\t\t\tlet tabView = self.tabViewAtIndex(i)\n\t\t\tvar frame: CGRect = tabView!.frame\n\t\t\tframe.origin.x = contentSizeWidth\n\t\t\tframe.size.width = self.tabWidth\n\t\t\ttabView?.frame = frame\n\t\t\tcontentSizeWidth += tabView!.frame.width\n\t\t}\n\n\t\t// Extend contentSizeWidth if fixLatterTabsPositions is provided YES\n\t\tif self.fixLaterTabsPosition {\n\n\t\t\t// And if the centerCurrentTab is provided as YES fine tune the content size according to it\n\t\t\tif self.centerCurrentTab {\n\t\t\t\tcontentSizeWidth += (self.tabsView!.frame.width - self.tabWidth) / 2.0\n\t\t\t} else {\n\t\t\t\tcontentSizeWidth += self.tabsView!.frame.width - self.tabWidth - self.tabOffset\n\t\t\t}\n\t\t}\n\t\t// Update tabsView's contentSize with the new width\n\t\tself.tabsView!.contentSize = CGSize(width: contentSizeWidth, height: self.tabHeight)\n\t}\n\n\tfunc viewControllerAtIndex(_ index: Int) -> UIViewController? {\n\t\tguard\n\t\t\tlet dataSource = self.dataSource,\n\t\t\tindex < self.tabCount && index >= 0\n\t\t\telse {\n\t\t\t\treturn nil\n\t\t}\n\n\t\tif (self.contents[index] as UIViewController?) == nil {\n\t\t\tvar viewController: UIViewController\n\n\t\t\tif dataSource.responds(to: #selector(PagerDataSource.controllerForTabAtIndex(_: pager:))) {\n\t\t\t\tviewController = dataSource.controllerForTabAtIndex!(index, pager: self)\n\t\t\t} else if dataSource.responds(to: #selector(PagerDataSource.viewForTabAtIndex(_: pager:))) {\n\n\t\t\t\tlet view: UIView = dataSource.viewForTabAtIndex!(index, pager: self)\n\n\t\t\t\t// Adjust view's bounds to match the pageView's bounds\n\t\t\t\tlet pageView: UIView = self.view.viewWithTag(34)!\n\t\t\t\tview.frame = pageView.bounds\n\n\t\t\t\tviewController = UIViewController()\n\t\t\t\tviewController.view = view\n\t\t\t} else {\n\t\t\t\tviewController = self.tabControllers[index]\n\t\t\t}\n\t\t\tself.contents[index] = viewController\n\t\t\tself.pageViewController.addChildViewController(viewController)\n\t\t}\n\t\treturn self.contents[index]\n\t}\n\n\t// MARK: - Gestures\n\t@IBAction func handleTapGesture(_ sender: UITapGestureRecognizer) {\n\t\tlet tabView: UIView = sender.view!\n\n\t\tlet index: Int = self.tabs.find {\n\t\t\t$0 as UIView? == tabView\n\t\t}!\n\n\t\tif self.activeTabIndex != index {\n\t\t\tself.selectTabAtIndex(index)\n\t\t}\n\t}\n\n\t// MARK: - Page DataSource\n\topen func pageViewController(_ pageViewController: UIPageViewController, viewControllerBefore viewController: UIViewController) -> UIViewController? {\n\t\tvar index: Int = self.indexForViewController(viewController)\n\t\tindex -= 1\n\t\treturn self.viewControllerAtIndex(index)\n\t}\n\n\topen func pageViewController(_ pageViewController: UIPageViewController, viewControllerAfter viewController: UIViewController) -> UIViewController? {\n\t\tvar index: Int = self.indexForViewController(viewController)\n\t\tindex += 1\n\t\treturn self.viewControllerAtIndex(index)\n\t}\n\n\t// MARK: - Page Delegate\n\topen func pageViewController(_ pageViewController: UIPageViewController, didFinishAnimating finished: Bool, previousViewControllers: [UIViewController], transitionCompleted completed: Bool) {\n\t\tlet viewController: UIViewController = self.pageViewController.viewControllers![0] as UIViewController\n\t\tlet index: Int = self.indexForViewController(viewController)\n\t\tself.selectTabAtIndex(index, swipe: true)\n\t}\n\n\t@nonobjc func setActiveContentIndex(_ activeContentIndex: Int) {\n\t\t// Get the desired viewController\n\t\tvar viewController: UIViewController? = self.viewControllerAtIndex(activeContentIndex)!\n\t\tif viewController == nil {\n\t\t\tviewController = UIViewController()\n\t\t\tviewController!.view = UIView()\n\t\t\tviewController!.view.backgroundColor = UIColor.clear\n\t\t}\n\n\t\tweak var wPageViewController: UIPageViewController? = self.pageViewController\n\t\tweak var wSelf: PagerController? = self\n\n\t\tif activeContentIndex == self.activeContentIndex {\n\t\t\tDispatchQueue.main.async(execute: {\n\t\t\t\tself.pageViewController.setViewControllers([viewController!], direction: .forward, animated: false, completion: { _ -> Void in\n\t\t\t\t\twSelf!.animatingToTab = false\n\t\t\t\t})\n\t\t\t})\n\t\t} else if !(activeContentIndex + 1 == self.activeContentIndex || activeContentIndex - 1 == self.activeContentIndex) {\n\n\t\t\tlet direction: UIPageViewControllerNavigationDirection = (activeContentIndex < self.activeContentIndex) ? .reverse : .forward\n\t\t\tDispatchQueue.main.async(execute: {\n\t\t\t\tself.pageViewController.setViewControllers([viewController!], direction: direction, animated: true, completion: { completed in\n\t\t\t\t\twSelf?.animatingToTab = false\n\n                    if completed {\n                        DispatchQueue.main.async(execute: {\n                            () -> Void in\n                            wPageViewController!.setViewControllers([viewController!], direction: direction, animated: false, completion: nil)\n                        })\n                    }\n\t\t\t\t})\n\t\t\t})\n\t\t} else {\n\t\t\tlet direction: UIPageViewControllerNavigationDirection = (activeContentIndex < self.activeContentIndex) ? .reverse : .forward\n\t\t\tDispatchQueue.main.async(execute: {\n\t\t\t\tself.pageViewController.setViewControllers([viewController!], direction: direction, animated: true, completion: { _ -> Void in\n\t\t\t\t\twSelf!.animatingToTab = true\n\t\t\t\t})\n\t\t\t})\n\t\t}\n\n\t\t// Clean out of sight contents\n\t\tvar index: Int = self.activeContentIndex - 1\n\t\tif index >= 0 && index != activeContentIndex && index != activeContentIndex - 1 {\n\t\t\tself.contents[index] = nil\n\t\t}\n\t\tindex = self.activeContentIndex\n\t\tif index != activeContentIndex - 1 && index != activeContentIndex && index != activeContentIndex + 1 {\n\t\t\tself.contents[index] = nil\n\t\t}\n\t\tindex = self.activeContentIndex + 1\n\t\tif index < self.contents.count && index != activeContentIndex && index != activeContentIndex + 1 {\n\t\t\tself.contents[index] = nil\n\t\t}\n\t\tself.activeContentIndex = activeContentIndex\n\t}\n\n\t// MARK: - UIScrollViewDelegate\n\t// MARK: Responding to Scrolling and Dragging\n\topen func scrollViewDidScroll(_ scrollView: UIScrollView) {\n        if self.actualDelegate?.responds(to: #selector(UIScrollViewDelegate.scrollViewDidScroll(_:))) ?? false {\n            self.actualDelegate?.scrollViewDidScroll?(scrollView)\n        }\n\n\t\tlet tabView: UIView = self.tabViewAtIndex(self.activeTabIndex)!\n\n\t\tif !self.animatingToTab {\n\n\t\t\t// Get the related tab view position\n\t\t\tvar frame: CGRect = tabView.frame\n\t\t\tlet movedRatio: CGFloat = (scrollView.contentOffset.x / scrollView.frame.width) - 1\n\t\t\tframe.origin.x += movedRatio * frame.width\n\n\t\t\tif self.centerCurrentTab {\n\n\t\t\t\tframe.origin.x += (frame.size.width / 2)\n\t\t\t\tframe.origin.x -= self.tabsView!.frame.width / 2\n\t\t\t\tframe.size.width = self.tabsView!.frame.width\n\n\t\t\t\tif frame.origin.x < 0 {\n\t\t\t\t\tframe.origin.x = 0\n\t\t\t\t}\n\n\t\t\t\tif (frame.origin.x + frame.size.width) > self.tabsView!.contentSize.width {\n\t\t\t\t\tframe.origin.x = (self.tabsView!.contentSize.width - self.tabsView!.frame.width)\n\t\t\t\t}\n\t\t\t} else {\n\n\t\t\t\tframe.origin.x -= self.tabOffset\n\t\t\t\tframe.size.width = self.tabsView!.frame.width\n\t\t\t}\n\n\t\t\tself.tabsView!.scrollRectToVisible(frame, animated: false)\n\t\t}\n\n\t\tvar rect: CGRect = tabView.frame\n\n\t\tlet updateIndicator = {\n\t\t\t(newX: CGFloat) -> Void in\n\t\t\trect.origin.x = newX\n\t\t\trect.origin.y = self.underlineStroke.frame.origin.y\n\t\t\trect.size.height = self.underlineStroke.frame.size.height\n\t\t\tself.underlineStroke.frame = rect\n\t\t}\n\n\t\tvar newX: CGFloat\n\t\tlet width: CGFloat = self.view.frame.width\n\t\tlet distance: CGFloat = tabView.frame.size.width\n\n\t\tif self.animation == PagerAnimation.during && !self.didTapOnTabView {\n\t\t\tif scrollView.panGestureRecognizer.translation(in: scrollView.superview!).x > 0 {\n\t\t\t\tlet mov: CGFloat = width - scrollView.contentOffset.x\n\t\t\t\tnewX = rect.origin.x - ((distance * mov) / width)\n\t\t\t} else {\n\t\t\t\tlet mov: CGFloat = scrollView.contentOffset.x - width\n\t\t\t\tnewX = rect.origin.x + ((distance * mov) / width)\n\t\t\t}\n\t\t\tupdateIndicator(newX)\n\t\t} else if self.animation == PagerAnimation.none {\n\t\t\tnewX = tabView.frame.origin.x\n\t\t\tupdateIndicator(newX)\n\t\t} else if self.animation == PagerAnimation.end || self.didTapOnTabView {\n\t\t\tnewX = tabView.frame.origin.x\n\t\t\tUIView.animate(withDuration: 0.35, animations: {\n\t\t\t\t() -> Void in\n\t\t\t\tupdateIndicator(newX)\n\t\t\t})\n\t\t}\n\t}\n\n\topen func scrollViewWillBeginDragging(_ scrollView: UIScrollView) {\n\t\tif self.actualDelegate != nil {\n\t\t\tif self.actualDelegate!.responds(to: #selector(UIScrollViewDelegate.scrollViewWillBeginDragging(_:))) {\n\t\t\t\tself.actualDelegate!.scrollViewWillBeginDragging!(scrollView)\n\t\t\t}\n\t\t}\n\t}\n\n\topen func scrollViewWillEndDragging(_ scrollView: UIScrollView, withVelocity velocity: CGPoint, targetContentOffset: UnsafeMutablePointer<CGPoint>) {\n\t\tif self.actualDelegate != nil {\n\t\t\tif self.actualDelegate!.responds(to: #selector(UIScrollViewDelegate.scrollViewWillEndDragging(_: withVelocity: targetContentOffset:))) {\n\t\t\t\tself.actualDelegate!.scrollViewWillEndDragging!(scrollView, withVelocity: velocity, targetContentOffset: targetContentOffset)\n\t\t\t}\n\t\t}\n\t}\n\n\topen func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) {\n\t\tif self.actualDelegate != nil {\n\t\t\tif self.actualDelegate!.responds(to: #selector(UIScrollViewDelegate.scrollViewDidEndDragging(_: willDecelerate:))) {\n\t\t\t\tself.actualDelegate!.scrollViewDidEndDragging!(scrollView, willDecelerate: decelerate)\n\t\t\t}\n\t\t}\n\t\tself.didTapOnTabView = false\n\t}\n\n\topen func scrollViewShouldScrollToTop(_ scrollView: UIScrollView) -> Bool {\n\t\tif self.actualDelegate != nil {\n\t\t\tif self.actualDelegate!.responds(to: #selector(UIScrollViewDelegate.scrollViewShouldScrollToTop(_:))) {\n\t\t\t\treturn self.actualDelegate!.scrollViewShouldScrollToTop!(scrollView)\n\t\t\t}\n\t\t}\n\t\treturn false\n\t}\n\n\topen func scrollViewDidScrollToTop(_ scrollView: UIScrollView) {\n\t\tif self.actualDelegate != nil {\n\t\t\tif self.actualDelegate!.responds(to: #selector(UIScrollViewDelegate.scrollViewDidScrollToTop(_:))) {\n\t\t\t\tself.actualDelegate!.scrollViewDidScrollToTop!(scrollView)\n\t\t\t}\n\t\t}\n\t}\n\n\topen func scrollViewWillBeginDecelerating(_ scrollView: UIScrollView) {\n\t\tif self.actualDelegate != nil {\n\t\t\tif self.actualDelegate!.responds(to: #selector(UIScrollViewDelegate.scrollViewWillBeginDecelerating(_:))) {\n\t\t\t\tself.actualDelegate!.scrollViewWillBeginDecelerating!(scrollView)\n\t\t\t}\n\t\t}\n\t}\n\n\topen func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {\n\t\tif self.actualDelegate != nil {\n\t\t\tif self.actualDelegate!.responds(to: #selector(UIScrollViewDelegate.scrollViewDidEndDecelerating(_:))) {\n\t\t\t\tself.actualDelegate!.scrollViewDidEndDecelerating!(scrollView)\n\t\t\t}\n\t\t}\n\t\tself.didTapOnTabView = false\n\t}\n\n\t// MARK: Managing Zooming\n\topen func viewForZooming(in scrollView: UIScrollView) -> UIView? {\n        if self.actualDelegate?.responds(to: #selector(UIScrollViewDelegate.viewForZooming(in:))) ?? false {\n            return self.actualDelegate?.viewForZooming!(in: scrollView)\n        }\n\n\t\treturn nil\n\t}\n\n\topen func scrollViewWillBeginZooming(_ scrollView: UIScrollView, with view: UIView?) {\n        if self.actualDelegate?.responds(to: #selector(UIScrollViewDelegate.scrollViewWillBeginZooming(_:with:))) ?? false {\n            self.actualDelegate?.scrollViewWillBeginZooming!(scrollView, with: view)\n        }\n\t}\n\n\topen func scrollViewDidEndZooming(_ scrollView: UIScrollView, with view: UIView?, atScale scale: CGFloat) {\n        if self.actualDelegate?.responds(to: #selector(UIScrollViewDelegate.scrollViewDidEndZooming(_:with:atScale:))) ?? false {\n            self.actualDelegate?.scrollViewDidEndZooming!(scrollView, with: view, atScale: scale)\n        }\n\t}\n\n\topen func scrollViewDidZoom(_ scrollView: UIScrollView) {\n        if self.actualDelegate?.responds(to: #selector(UIScrollViewDelegate.scrollViewDidZoom(_:))) ?? false {\n            self.actualDelegate?.scrollViewDidZoom!(scrollView)\n        }\n\t}\n\n\t// UIScrollViewDelegate, Responding to Scrolling Animations\n\topen func scrollViewDidEndScrollingAnimation(_ scrollView: UIScrollView) {\n        if self.actualDelegate?.responds(to: #selector(UIScrollViewDelegate.scrollViewDidEndScrollingAnimation(_:))) ?? false {\n            self.actualDelegate?.scrollViewDidEndScrollingAnimation!(scrollView)\n        }\n\t\tself.didTapOnTabView = false\n\t}\n}\n"
  },
  {
    "path": "Pager/library/TabView.swift",
    "content": "import UIKit\n\nclass TabView: UIView {\n\n    override init(frame: CGRect) {\n        super.init(frame: frame)\n        self.backgroundColor = UIColor.clear\n    }\n\n    required init?(coder aDecoder: NSCoder) {\n        super.init(coder: aDecoder)\n        self.backgroundColor = UIColor.clear\n    }\n}\n"
  },
  {
    "path": "Pager/library/Utils.swift",
    "content": "import UIKit\n\nextension Array {\n    func find(_ includedElement: (Element) -> Bool) -> Int? {\n        for (idx, element) in self.enumerated() {\n            if includedElement(element) {\n                return idx\n            }\n        }\n        return 0\n    }\n}\n\nextension UIDevice {\n    static var isIphoneX: Bool {\n        var modelIdentifier = \"\"\n        if isSimulator {\n            modelIdentifier = ProcessInfo.processInfo.environment[\"SIMULATOR_MODEL_IDENTIFIER\"] ?? \"\"\n        } else {\n            var size = 0\n            sysctlbyname(\"hw.machine\", nil, &size, nil, 0)\n            var machine = [CChar](repeating: 0, count: size)\n            sysctlbyname(\"hw.machine\", &machine, &size, nil, 0)\n            modelIdentifier = String(cString: machine)\n        }\n\n        return modelIdentifier == \"iPhone10,3\" || modelIdentifier == \"iPhone10,6\"\n    }\n\n    static var isSimulator: Bool = TARGET_OS_SIMULATOR != 0\n}\n"
  },
  {
    "path": "Pager.podspec",
    "content": "Pod::Spec.new do |s|\n  s.name = 'Pager'\n  s.version = '1.4.0'\n  s.license = 'MIT'\n  s.summary = 'Easily create sliding tabs with Pager.'\n  s.homepage = 'https://github.com/lucoceano/Pager'\n  s.authors = { 'Lucas Oceano' => 'lucoceano@ckl.io' }\n  s.source = { :git => 'https://github.com/lucoceano/Pager.git', :tag => s.version.to_s }\n  s.requires_arc = true\n  s.ios.deployment_target = '8.0'\n  s.source_files = 'Pager/library/*.swift'\nend\n"
  },
  {
    "path": "Pager.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\tC2652A591C9E894D00FE8F50 /* Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = C2652A581C9E894D00FE8F50 /* Extensions.swift */; };\n\t\tC876EF5F2042364400701C03 /* PagerController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C876EF5E2042364300701C03 /* PagerController.swift */; };\n\t\tC876EF612042366800701C03 /* Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = C876EF602042366800701C03 /* Utils.swift */; };\n\t\tC876EF63204236A500701C03 /* TabView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C876EF62204236A500701C03 /* TabView.swift */; };\n\t\tC8B7D13E1AB25F9300E9347C /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8B7D13D1AB25F9300E9347C /* AppDelegate.swift */; };\n\t\tC8B7D1401AB25F9300E9347C /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8B7D13F1AB25F9300E9347C /* ViewController.swift */; };\n\t\tC8B7D1431AB25F9300E9347C /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = C8B7D1411AB25F9300E9347C /* Main.storyboard */; };\n\t\tC8B7D1451AB25F9300E9347C /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = C8B7D1441AB25F9300E9347C /* Images.xcassets */; };\n\t\tC8B7D1481AB25F9300E9347C /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = C8B7D1461AB25F9300E9347C /* LaunchScreen.xib */; };\n\t\tC8E736D71D92CAD5001491E6 /* GreyDetailViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8E736D51D92CAD5001491E6 /* GreyDetailViewController.swift */; };\n\t\tC8E736D81D92CAD5001491E6 /* GreyViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8E736D61D92CAD5001491E6 /* GreyViewController.swift */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXFileReference section */\n\t\tC2652A581C9E894D00FE8F50 /* Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Extensions.swift; sourceTree = \"<group>\"; };\n\t\tC876EF5E2042364300701C03 /* PagerController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PagerController.swift; sourceTree = \"<group>\"; };\n\t\tC876EF602042366800701C03 /* Utils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Utils.swift; sourceTree = \"<group>\"; };\n\t\tC876EF62204236A500701C03 /* TabView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TabView.swift; sourceTree = \"<group>\"; };\n\t\tC8B7D1381AB25F9300E9347C /* Pager.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Pager.app; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tC8B7D13C1AB25F9300E9347C /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = \"<group>\"; };\n\t\tC8B7D13D1AB25F9300E9347C /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = \"<group>\"; };\n\t\tC8B7D13F1AB25F9300E9347C /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = \"<group>\"; };\n\t\tC8B7D1421AB25F9300E9347C /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = \"<group>\"; };\n\t\tC8B7D1441AB25F9300E9347C /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = \"<group>\"; };\n\t\tC8B7D1471AB25F9300E9347C /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = \"<group>\"; };\n\t\tC8B7D1521AB25F9300E9347C /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = \"<group>\"; };\n\t\tC8B7D1531AB25F9300E9347C /* PagerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PagerTests.swift; sourceTree = \"<group>\"; };\n\t\tC8E736D51D92CAD5001491E6 /* GreyDetailViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GreyDetailViewController.swift; sourceTree = \"<group>\"; };\n\t\tC8E736D61D92CAD5001491E6 /* GreyViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GreyViewController.swift; sourceTree = \"<group>\"; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\tC8B7D1351AB25F9300E9347C /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\tC876EF5D2042364300701C03 /* library */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tC876EF5E2042364300701C03 /* PagerController.swift */,\n\t\t\t\tC876EF602042366800701C03 /* Utils.swift */,\n\t\t\t\tC876EF62204236A500701C03 /* TabView.swift */,\n\t\t\t);\n\t\t\tpath = library;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tC8B7D12F1AB25F9300E9347C = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tC8B7D13A1AB25F9300E9347C /* Pager */,\n\t\t\t\tC8B7D1501AB25F9300E9347C /* PagerTests */,\n\t\t\t\tC8B7D1391AB25F9300E9347C /* Products */,\n\t\t\t);\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tC8B7D1391AB25F9300E9347C /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tC8B7D1381AB25F9300E9347C /* Pager.app */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tC8B7D13A1AB25F9300E9347C /* Pager */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tC8E736D51D92CAD5001491E6 /* GreyDetailViewController.swift */,\n\t\t\t\tC8E736D61D92CAD5001491E6 /* GreyViewController.swift */,\n\t\t\t\tC876EF5D2042364300701C03 /* library */,\n\t\t\t\tC8B7D13D1AB25F9300E9347C /* AppDelegate.swift */,\n\t\t\t\tC8B7D13F1AB25F9300E9347C /* ViewController.swift */,\n\t\t\t\tC2652A581C9E894D00FE8F50 /* Extensions.swift */,\n\t\t\t\tC8B7D1411AB25F9300E9347C /* Main.storyboard */,\n\t\t\t\tC8B7D1441AB25F9300E9347C /* Images.xcassets */,\n\t\t\t\tC8B7D1461AB25F9300E9347C /* LaunchScreen.xib */,\n\t\t\t\tC8B7D13B1AB25F9300E9347C /* Supporting Files */,\n\t\t\t);\n\t\t\tpath = Pager;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tC8B7D13B1AB25F9300E9347C /* Supporting Files */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tC8B7D13C1AB25F9300E9347C /* Info.plist */,\n\t\t\t);\n\t\t\tname = \"Supporting Files\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tC8B7D1501AB25F9300E9347C /* PagerTests */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tC8B7D1531AB25F9300E9347C /* PagerTests.swift */,\n\t\t\t\tC8B7D1511AB25F9300E9347C /* Supporting Files */,\n\t\t\t);\n\t\t\tpath = PagerTests;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tC8B7D1511AB25F9300E9347C /* Supporting Files */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tC8B7D1521AB25F9300E9347C /* Info.plist */,\n\t\t\t);\n\t\t\tname = \"Supporting Files\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXNativeTarget section */\n\t\tC8B7D1371AB25F9300E9347C /* Pager */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = C8B7D1571AB25F9300E9347C /* Build configuration list for PBXNativeTarget \"Pager\" */;\n\t\t\tbuildPhases = (\n\t\t\t\tC8B7D1341AB25F9300E9347C /* Sources */,\n\t\t\t\tC8B7D1351AB25F9300E9347C /* Frameworks */,\n\t\t\t\tC8B7D1361AB25F9300E9347C /* Resources */,\n\t\t\t\tC82DD78F1D95C0F200CF596E /* Swift lint */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = Pager;\n\t\t\tproductName = Pager;\n\t\t\tproductReference = C8B7D1381AB25F9300E9347C /* Pager.app */;\n\t\t\tproductType = \"com.apple.product-type.application\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\tC8B7D1301AB25F9300E9347C /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastSwiftMigration = 0720;\n\t\t\t\tLastSwiftUpdateCheck = 0720;\n\t\t\t\tLastUpgradeCheck = 0920;\n\t\t\t\tORGANIZATIONNAME = Cheesecake;\n\t\t\t\tTargetAttributes = {\n\t\t\t\t\tC8B7D1371AB25F9300E9347C = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 6.1.1;\n\t\t\t\t\t\tLastSwiftMigration = 0920;\n\t\t\t\t\t};\n\t\t\t\t};\n\t\t\t};\n\t\t\tbuildConfigurationList = C8B7D1331AB25F9300E9347C /* Build configuration list for PBXProject \"Pager\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = English;\n\t\t\thasScannedForEncodings = 0;\n\t\t\tknownRegions = (\n\t\t\t\ten,\n\t\t\t\tBase,\n\t\t\t);\n\t\t\tmainGroup = C8B7D12F1AB25F9300E9347C;\n\t\t\tproductRefGroup = C8B7D1391AB25F9300E9347C /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\tC8B7D1371AB25F9300E9347C /* Pager */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\tC8B7D1361AB25F9300E9347C /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tC8B7D1431AB25F9300E9347C /* Main.storyboard in Resources */,\n\t\t\t\tC8B7D1481AB25F9300E9347C /* LaunchScreen.xib in Resources */,\n\t\t\t\tC8B7D1451AB25F9300E9347C /* Images.xcassets in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXShellScriptBuildPhase section */\n\t\tC82DD78F1D95C0F200CF596E /* Swift lint */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\tname = \"Swift lint\";\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"if which swiftlint >/dev/null; then\\nswiftlint\\nelse\\necho \\\"warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint\\\"\\nfi\";\n\t\t};\n/* End PBXShellScriptBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\tC8B7D1341AB25F9300E9347C /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tC876EF5F2042364400701C03 /* PagerController.swift in Sources */,\n\t\t\t\tC8B7D1401AB25F9300E9347C /* ViewController.swift in Sources */,\n\t\t\t\tC876EF63204236A500701C03 /* TabView.swift in Sources */,\n\t\t\t\tC8B7D13E1AB25F9300E9347C /* AppDelegate.swift in Sources */,\n\t\t\t\tC876EF612042366800701C03 /* Utils.swift in Sources */,\n\t\t\t\tC2652A591C9E894D00FE8F50 /* Extensions.swift in Sources */,\n\t\t\t\tC8E736D71D92CAD5001491E6 /* GreyDetailViewController.swift in Sources */,\n\t\t\t\tC8E736D81D92CAD5001491E6 /* GreyViewController.swift in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin PBXVariantGroup section */\n\t\tC8B7D1411AB25F9300E9347C /* Main.storyboard */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tC8B7D1421AB25F9300E9347C /* Base */,\n\t\t\t);\n\t\t\tname = Main.storyboard;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tC8B7D1461AB25F9300E9347C /* LaunchScreen.xib */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tC8B7D1471AB25F9300E9347C /* Base */,\n\t\t\t);\n\t\t\tname = LaunchScreen.xib;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXVariantGroup section */\n\n/* Begin XCBuildConfiguration section */\n\t\tC8B7D1551AB25F9300E9347C /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tENABLE_TESTABILITY = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_SYMBOLS_PRIVATE_EXTERN = NO;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 8.1;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = YES;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tSWIFT_OPTIMIZATION_LEVEL = \"-Onone\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tC8B7D1561AB25F9300E9347C /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tCOPY_PHASE_STRIP = YES;\n\t\t\t\tENABLE_NS_ASSERTIONS = NO;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 8.1;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = NO;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tSWIFT_OPTIMIZATION_LEVEL = \"-Owholemodule\";\n\t\t\t\tVALIDATE_PRODUCT = YES;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tC8B7D1581AB25F9300E9347C /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;\n\t\t\t\tCODE_SIGN_IDENTITY = \"iPhone Developer\";\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tDEVELOPMENT_TEAM = \"\";\n\t\t\t\tINFOPLIST_FILE = Pager/Info.plist;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = io.ckl.pager;\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tPROVISIONING_PROFILE = \"\";\n\t\t\t\tSWIFT_SWIFT3_OBJC_INFERENCE = Default;\n\t\t\t\tSWIFT_VERSION = 4.0;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tC8B7D1591AB25F9300E9347C /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;\n\t\t\t\tCODE_SIGN_IDENTITY = \"iPhone Developer\";\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tDEVELOPMENT_TEAM = \"\";\n\t\t\t\tINFOPLIST_FILE = Pager/Info.plist;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = io.ckl.pager;\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tPROVISIONING_PROFILE = \"\";\n\t\t\t\tSWIFT_SWIFT3_OBJC_INFERENCE = Default;\n\t\t\t\tSWIFT_VERSION = 4.0;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\tC8B7D1331AB25F9300E9347C /* Build configuration list for PBXProject \"Pager\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tC8B7D1551AB25F9300E9347C /* Debug */,\n\t\t\t\tC8B7D1561AB25F9300E9347C /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tC8B7D1571AB25F9300E9347C /* Build configuration list for PBXNativeTarget \"Pager\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tC8B7D1581AB25F9300E9347C /* Debug */,\n\t\t\t\tC8B7D1591AB25F9300E9347C /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = C8B7D1301AB25F9300E9347C /* Project object */;\n}\n"
  },
  {
    "path": "Pager.xcodeproj/project.xcworkspace/contents.xcworkspacedata",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Workspace\n   version = \"1.0\">\n   <FileRef\n      location = \"self:Pager.xcodeproj\">\n   </FileRef>\n</Workspace>\n"
  },
  {
    "path": "PagerTests/Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>$(EXECUTABLE_NAME)</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>$(PRODUCT_NAME)</string>\n\t<key>CFBundlePackageType</key>\n\t<string>BNDL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "PagerTests/PagerTests.swift",
    "content": "//\n//  PagerTests.swift\n//  PagerTests\n//\n//  Created by Lucas Oceano on 12/03/2015.\n//  Copyright (c) 2015 Cheesecake. All rights reserved.\n//\n\nimport UIKit\nimport XCTest\n\nclass PagerTests: XCTestCase {\n\n    override func setUp() {\n        super.setUp()\n    }\n\n    override func tearDown() {\n        super.tearDown()\n    }\n\n    func testExample() {\n        // This is an example of a functional test case.\n        XCTAssert(true, \"Pass\")\n    }\n\n    func testPerformanceExample() {\n        // This is an example of a performance test case.\n    }\n\n}\n"
  },
  {
    "path": "README.md",
    "content": "\n[![Language](https://img.shields.io/badge/swift-4.0-green.svg)](http://swift.org)\n\nPager is the simplest and best way to implement sliding view controllers.\n\n## Installation\nDrop in the Spring folder to your Xcode project.\n\nOr via CocoaPods pre-release:\n```CocoaPods\nplatform :ios, '8.0'\npod 'Pager'\nuse_frameworks!\n```\n\n## Usage\n\nSubclass PagerController (as it's a `UIViewController` subclass) and implement data source methods in the subclass.\n\n#### Usage with Code\n\n```Swift\noverride func viewDidLoad() {\n\tsuper.viewDidLoad()\n\tself.dataSource = self\n}\n```\n## Data Source\n\n```Swift\nfunc numberOfTabs(pager: PagerController) -> Int\nfunc tabViewForIndex(index: Int, pager: PagerController) -> UIView\noptional func viewForTabAtIndex(index: Int, pager: PagerController) -> UIView\noptional func controllerForTabAtIndex(index: Int, pager: PagerController) -> UIViewController\n```\n\n## Delegate\n```Swift\noptional func didChangeTabToIndex(pager: PagerController, index: Int)\noptional func didChangeTabToIndex(pager: PagerController, index: Int, previousIndex: Int)\noptional func didChangeTabToIndex(pager: PagerController, index: Int, previousIndex: Int, swipe: Bool)\n```\n\n## Contact\n- [Lucas Farah](mailto:lucas.farah@me.com) - [@7farah7](http://twitter.com/7farah7)\n- [Lucas Martins](mailto:lucoceano@gmail.com) - [lucoceano.com](http://www.lucoceano.com)\n\nPager is a port from [CKViewPager](https://github.com/lucoceano/CKViewPager) to swift.\n\n## Licence\nPager is MIT licensed. See the LICENCE file for more info.\n"
  }
]