diff --git a/config.xml b/config.xml
index bff12e8..e5ff511 100644
--- a/config.xml
+++ b/config.xml
@@ -1,5 +1,5 @@
 <?xml version='1.0' encoding='utf-8'?>
-<widget id="com.techware.cmc" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
+<widget id="com.techware.cmc" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:cdv="http://cordova.apache.org/ns/1.0">
     <name>CMC</name>
     <description>An awesome Ionic/Cordova app.</description>
     <author email="hi@ionicframework" href="http://ionicframework.com/">Ionic Framework Team</author>
@@ -82,7 +82,6 @@
         <splash height="480" src="resources/ios/splash/Default~iphone.png" width="320" />
         <splash height="2732" src="resources/ios/splash/Default@2x~universal~anyany.png" width="2732" />
     </platform>
-    <engine name="android" spec="^7.1.0" />
     <plugin name="cordova-plugin-datepicker" spec="^0.9.3" />
     <plugin name="cordova-plugin-device" spec="^1.1.4" />
     <plugin name="cordova-plugin-facebook4" spec="^1.9.1">
@@ -103,4 +102,5 @@
     <plugin name="cordova-plugin-x-toast" spec="^2.6.2" />
     <plugin name="ionic-plugin-keyboard" spec="^2.2.1" />
     <plugin name="mx.ferreyra.callnumber" spec="~0.0.2" />
+    <engine name="android" spec="latest" />
 </widget>
diff --git a/google-services.json b/google-services.json
new file mode 100644
index 0000000..702948c
--- /dev/null
+++ b/google-services.json
@@ -0,0 +1,59 @@
+{
+  "project_info": {
+    "project_number": "151146703576",
+    "firebase_url": "https://callmycab-205809.firebaseio.com",
+    "project_id": "callmycab-205809",
+    "storage_bucket": "callmycab-205809.appspot.com"
+  },
+  "client": [
+    {
+      "client_info": {
+        "mobilesdk_app_id": "1:151146703576:android:9f9d46cae351b483",
+        "android_client_info": {
+          "package_name": "com.techware.cmc"
+        }
+      },
+      "oauth_client": [
+        {
+          "client_id": "151146703576-dr7il48km7elnm2f8cfj6ru8g0adpgi6.apps.googleusercontent.com",
+          "client_type": 1,
+          "android_info": {
+            "package_name": "com.techware.cmc",
+            "certificate_hash": "8a2d0dbcb9a25ca28f72bba94cc3e8228c704744"
+          }
+        },
+        {
+          "client_id": "151146703576-j57hrjmu7vr9tcrtkh7lccld8s7h27fv.apps.googleusercontent.com",
+          "client_type": 3
+        },
+        {
+          "client_id": "151146703576-j57hrjmu7vr9tcrtkh7lccld8s7h27fv.apps.googleusercontent.com",
+          "client_type": 3
+        }
+      ],
+      "api_key": [
+        {
+          "current_key": "AIzaSyCk1_NXO6fDntAzKEl7sO-z6Ut5evHLsKQ"
+        }
+      ],
+      "services": {
+        "analytics_service": {
+          "status": 1
+        },
+        "appinvite_service": {
+          "status": 2,
+          "other_platform_oauth_client": [
+            {
+              "client_id": "151146703576-j57hrjmu7vr9tcrtkh7lccld8s7h27fv.apps.googleusercontent.com",
+              "client_type": 3
+            }
+          ]
+        },
+        "ads_service": {
+          "status": 2
+        }
+      }
+    }
+  ],
+  "configuration_version": "1"
+}
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
index d51c68c..8651412 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -331,6 +331,11 @@
       "resolved": "https://registry.npmjs.org/@ionic-native/network/-/network-4.7.0.tgz",
       "integrity": "sha512-d3c5iuv22Mhd6HH5ZVsz3Y6jvE3iEO3AFGpOLUbDzqp+jFzqxnr6HShwCfD1rPbLusNnKvan3J10R39UsGEYLA=="
     },
+    "@ionic-native/onesignal": {
+      "version": "4.7.0",
+      "resolved": "https://registry.npmjs.org/@ionic-native/onesignal/-/onesignal-4.7.0.tgz",
+      "integrity": "sha512-HacmXDQLqh5Mfuzk6ntw+HReYjvqNBNDRIzzrA/keCAVZUuOdc1pbchjNtenxrv5L2WN1GeAVh3akbTReADkyA=="
+    },
     "@ionic-native/splash-screen": {
       "version": "3.12.1",
       "resolved": "https://registry.npmjs.org/@ionic-native/splash-screen/-/splash-screen-3.12.1.tgz",
@@ -399,11 +404,19 @@
       "resolved": "https://registry.npmjs.org/@types/localforage/-/localforage-0.0.30.tgz",
       "integrity": "sha1-PWCmv23aOOP4pGlhFZg3nx9klQk="
     },
+    "JSONStream": {
+      "version": "1.3.3",
+      "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.3.tgz",
+      "integrity": "sha512-3Sp6WZZ/lXl+nTDoGpGWHEpTnnC6X5fnkolYZR6nwIfzbxxvA8utPWe1gCt7i0m9uVGsSz2IS8K8mJ7HmlduMg==",
+      "requires": {
+        "jsonparse": "1.3.1",
+        "through": "2.3.8"
+      }
+    },
     "abbrev": {
       "version": "1.1.1",
       "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
-      "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
-      "dev": true
+      "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
     },
     "abstract-leveldown": {
       "version": "0.12.4",
@@ -426,7 +439,6 @@
       "version": "1.3.5",
       "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz",
       "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=",
-      "dev": true,
       "requires": {
         "mime-types": "2.1.18",
         "negotiator": "0.6.1"
@@ -454,11 +466,26 @@
         }
       }
     },
+    "acorn-node": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.3.0.tgz",
+      "integrity": "sha512-efP54n3d1aLfjL2UMdaXa6DsswwzJeI5rqhbFvXMrKiJ6eJFpf+7R0zN7t8IC+XKn2YOAFAv6xbBNgHUkoHWLw==",
+      "requires": {
+        "acorn": "5.6.2",
+        "xtend": "4.0.1"
+      },
+      "dependencies": {
+        "acorn": {
+          "version": "5.6.2",
+          "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.6.2.tgz",
+          "integrity": "sha512-zUzo1E5dI2Ey8+82egfnttyMlMZ2y0D8xOCO3PNPPlYXpl8NZvF6Qk9L9BEtJs+43FqEmfBViDqc5d1ckRDguw=="
+        }
+      }
+    },
     "ajv": {
       "version": "5.5.2",
       "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
       "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
-      "dev": true,
       "requires": {
         "co": "4.6.0",
         "fast-deep-equal": "1.1.0",
@@ -472,6 +499,14 @@
       "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=",
       "dev": true
     },
+    "aliasify": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/aliasify/-/aliasify-2.1.0.tgz",
+      "integrity": "sha1-fDCCW5RQueYYW6J1M+r24gZ9S0I=",
+      "requires": {
+        "browserify-transform-tools": "1.7.0"
+      }
+    },
     "align-text": {
       "version": "0.1.4",
       "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz",
@@ -493,6 +528,16 @@
       "resolved": "https://registry.npmjs.org/angularfire2/-/angularfire2-5.0.0-rc.10.tgz",
       "integrity": "sha512-DTEO9AlMPbic5lYvx5syQ/vUahPO6YmdA2dC6213Bj3My3+tvXsErUcNFH4YIH1wm8Joojus2ZeHDuyhjtPOYg=="
     },
+    "ansi": {
+      "version": "0.3.1",
+      "resolved": "https://registry.npmjs.org/ansi/-/ansi-0.3.1.tgz",
+      "integrity": "sha1-DELU+xcWDVqa8eSEus4cZpIsGyE="
+    },
+    "ansi-escapes": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz",
+      "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4="
+    },
     "ansi-regex": {
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
@@ -595,6 +640,11 @@
       "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
       "dev": true
     },
+    "array-filter": {
+      "version": "0.0.1",
+      "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz",
+      "integrity": "sha1-fajPLiZijtcygDWB/SH2fKzS7uw="
+    },
     "array-find-index": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",
@@ -604,8 +654,17 @@
     "array-flatten": {
       "version": "1.1.1",
       "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
-      "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=",
-      "dev": true
+      "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
+    },
+    "array-map": {
+      "version": "0.0.0",
+      "resolved": "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz",
+      "integrity": "sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI="
+    },
+    "array-reduce": {
+      "version": "0.0.0",
+      "resolved": "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz",
+      "integrity": "sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys="
     },
     "array-unique": {
       "version": "0.2.1",
@@ -625,14 +684,12 @@
     "asn1": {
       "version": "0.2.3",
       "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz",
-      "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=",
-      "dev": true
+      "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y="
     },
     "asn1.js": {
       "version": "4.10.1",
       "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz",
       "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==",
-      "dev": true,
       "requires": {
         "bn.js": "4.11.8",
         "inherits": "2.0.3",
@@ -643,7 +700,6 @@
       "version": "1.4.1",
       "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz",
       "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=",
-      "dev": true,
       "requires": {
         "util": "0.10.3"
       }
@@ -651,8 +707,7 @@
     "assert-plus": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
-      "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
-      "dev": true
+      "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
     },
     "assign-symbols": {
       "version": "1.0.0",
@@ -665,6 +720,21 @@
       "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.8.15.tgz",
       "integrity": "sha1-ju8IJ/BN/w7IhXupJavj/qYZTlI="
     },
+    "astw": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/astw/-/astw-2.2.0.tgz",
+      "integrity": "sha1-e9QXhNMkk5h66yOba04cV6hzuRc=",
+      "requires": {
+        "acorn": "4.0.13"
+      },
+      "dependencies": {
+        "acorn": {
+          "version": "4.0.13",
+          "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz",
+          "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c="
+        }
+      }
+    },
     "async": {
       "version": "2.6.1",
       "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz",
@@ -689,8 +759,7 @@
     "asynckit": {
       "version": "0.4.0",
       "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
-      "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
-      "dev": true
+      "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
     },
     "atob": {
       "version": "2.1.1",
@@ -745,14 +814,12 @@
     "aws-sign2": {
       "version": "0.7.0",
       "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
-      "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
-      "dev": true
+      "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg="
     },
     "aws4": {
       "version": "1.7.0",
       "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.7.0.tgz",
-      "integrity": "sha512-32NDda82rhwD9/JBCCkB+MRYDp0oSvlo2IL6rQWA10PQi7tDUM3eqMSltXmY+Oyl/7N3P3qNtAlv7X0d9bI28w==",
-      "dev": true
+      "integrity": "sha512-32NDda82rhwD9/JBCCkB+MRYDp0oSvlo2IL6rQWA10PQi7tDUM3eqMSltXmY+Oyl/7N3P3qNtAlv7X0d9bI28w=="
     },
     "babel-code-frame": {
       "version": "6.26.0",
@@ -845,19 +912,22 @@
     "base64-js": {
       "version": "1.3.0",
       "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz",
-      "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==",
-      "dev": true
+      "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw=="
     },
     "bcrypt-pbkdf": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz",
       "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=",
-      "dev": true,
       "optional": true,
       "requires": {
         "tweetnacl": "0.14.5"
       }
     },
+    "big-integer": {
+      "version": "1.6.31",
+      "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.31.tgz",
+      "integrity": "sha512-lDbZNHHwxDKnjP7LWg2leO+tjs4SyVs2Z83dsR1Idbe2urRnxZAUdeQ8YBhHaGaWK/4WM3mz+RlbZsgqck17CA=="
+    },
     "big.js": {
       "version": "3.2.0",
       "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz",
@@ -883,7 +953,6 @@
       "version": "0.0.9",
       "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz",
       "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=",
-      "dev": true,
       "requires": {
         "inherits": "2.0.3"
       }
@@ -891,8 +960,7 @@
     "bn.js": {
       "version": "4.11.8",
       "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz",
-      "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==",
-      "dev": true
+      "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA=="
     },
     "body": {
       "version": "5.1.0",
@@ -906,6 +974,30 @@
         "safe-json-parse": "1.0.1"
       }
     },
+    "boom": {
+      "version": "2.10.1",
+      "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
+      "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=",
+      "requires": {
+        "hoek": "2.16.3"
+      }
+    },
+    "bplist-creator": {
+      "version": "0.0.7",
+      "resolved": "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.0.7.tgz",
+      "integrity": "sha1-N98VNgkoJLh8QvlXsBNEEXNyrkU=",
+      "requires": {
+        "stream-buffers": "2.2.0"
+      }
+    },
+    "bplist-parser": {
+      "version": "0.1.1",
+      "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.1.1.tgz",
+      "integrity": "sha1-1g1dzCDLptx+HymbNdPh+V2vuuY=",
+      "requires": {
+        "big-integer": "1.6.31"
+      }
+    },
     "brace-expansion": {
       "version": "1.1.11",
       "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
@@ -929,14 +1021,63 @@
     "brorand": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
-      "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=",
-      "dev": true
+      "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8="
+    },
+    "browser-pack": {
+      "version": "6.1.0",
+      "resolved": "https://registry.npmjs.org/browser-pack/-/browser-pack-6.1.0.tgz",
+      "integrity": "sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==",
+      "requires": {
+        "JSONStream": "1.3.3",
+        "combine-source-map": "0.8.0",
+        "defined": "1.0.0",
+        "safe-buffer": "5.1.2",
+        "through2": "2.0.3",
+        "umd": "3.0.3"
+      },
+      "dependencies": {
+        "isarray": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
+        },
+        "readable-stream": {
+          "version": "2.3.6",
+          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+          "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+          "requires": {
+            "core-util-is": "1.0.2",
+            "inherits": "2.0.3",
+            "isarray": "1.0.0",
+            "process-nextick-args": "2.0.0",
+            "safe-buffer": "5.1.2",
+            "string_decoder": "1.1.1",
+            "util-deprecate": "1.0.2"
+          }
+        },
+        "string_decoder": {
+          "version": "1.1.1",
+          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+          "requires": {
+            "safe-buffer": "5.1.2"
+          }
+        },
+        "through2": {
+          "version": "2.0.3",
+          "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+          "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
+          "requires": {
+            "readable-stream": "2.3.6",
+            "xtend": "4.0.1"
+          }
+        }
+      }
     },
     "browser-resolve": {
       "version": "1.11.2",
       "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.2.tgz",
       "integrity": "sha1-j/CbCixCFxihBRwmCzLkj0QpOM4=",
-      "dev": true,
       "requires": {
         "resolve": "1.1.7"
       },
@@ -944,8 +1085,189 @@
         "resolve": {
           "version": "1.1.7",
           "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
-          "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
-          "dev": true
+          "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs="
+        }
+      }
+    },
+    "browserify": {
+      "version": "14.4.0",
+      "resolved": "https://registry.npmjs.org/browserify/-/browserify-14.4.0.tgz",
+      "integrity": "sha1-CJo0Y69Y0OSNjNQHCz90ZU1avKk=",
+      "requires": {
+        "JSONStream": "1.3.3",
+        "assert": "1.4.1",
+        "browser-pack": "6.1.0",
+        "browser-resolve": "1.11.2",
+        "browserify-zlib": "0.1.4",
+        "buffer": "5.1.0",
+        "cached-path-relative": "1.0.1",
+        "concat-stream": "1.5.2",
+        "console-browserify": "1.1.0",
+        "constants-browserify": "1.0.0",
+        "crypto-browserify": "3.12.0",
+        "defined": "1.0.0",
+        "deps-sort": "2.0.0",
+        "domain-browser": "1.1.7",
+        "duplexer2": "0.1.4",
+        "events": "1.1.1",
+        "glob": "7.1.1",
+        "has": "1.0.3",
+        "htmlescape": "1.1.1",
+        "https-browserify": "1.0.0",
+        "inherits": "2.0.3",
+        "insert-module-globals": "7.1.0",
+        "labeled-stream-splicer": "2.0.1",
+        "module-deps": "4.1.1",
+        "os-browserify": "0.1.2",
+        "parents": "1.0.1",
+        "path-browserify": "0.0.0",
+        "process": "0.11.10",
+        "punycode": "1.4.1",
+        "querystring-es3": "0.2.1",
+        "read-only-stream": "2.0.0",
+        "readable-stream": "2.3.6",
+        "resolve": "1.7.1",
+        "shasum": "1.0.2",
+        "shell-quote": "1.6.1",
+        "stream-browserify": "2.0.1",
+        "stream-http": "2.8.2",
+        "string_decoder": "1.0.3",
+        "subarg": "1.0.0",
+        "syntax-error": "1.4.0",
+        "through2": "2.0.3",
+        "timers-browserify": "1.4.2",
+        "tty-browserify": "0.0.0",
+        "url": "0.11.0",
+        "util": "0.10.3",
+        "vm-browserify": "0.0.4",
+        "xtend": "4.0.1"
+      },
+      "dependencies": {
+        "browserify-zlib": {
+          "version": "0.1.4",
+          "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz",
+          "integrity": "sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0=",
+          "requires": {
+            "pako": "0.2.9"
+          }
+        },
+        "buffer": {
+          "version": "5.1.0",
+          "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.1.0.tgz",
+          "integrity": "sha512-YkIRgwsZwJWTnyQrsBTWefizHh+8GYj3kbL1BTiAQ/9pwpino0G7B2gp5tx/FUBqUlvtxV85KNR3mwfAtv15Yw==",
+          "requires": {
+            "base64-js": "1.3.0",
+            "ieee754": "1.1.11"
+          }
+        },
+        "concat-stream": {
+          "version": "1.5.2",
+          "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz",
+          "integrity": "sha1-cIl4Yk2FavQaWnQd790mHadSwmY=",
+          "requires": {
+            "inherits": "2.0.3",
+            "readable-stream": "2.0.6",
+            "typedarray": "0.0.6"
+          },
+          "dependencies": {
+            "readable-stream": {
+              "version": "2.0.6",
+              "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
+              "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=",
+              "requires": {
+                "core-util-is": "1.0.2",
+                "inherits": "2.0.3",
+                "isarray": "1.0.0",
+                "process-nextick-args": "1.0.7",
+                "string_decoder": "0.10.31",
+                "util-deprecate": "1.0.2"
+              }
+            },
+            "string_decoder": {
+              "version": "0.10.31",
+              "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+              "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ="
+            }
+          }
+        },
+        "domain-browser": {
+          "version": "1.1.7",
+          "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.1.7.tgz",
+          "integrity": "sha1-hnqksJP6oF8d4IwG9NeyH9+GmLw="
+        },
+        "isarray": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
+        },
+        "os-browserify": {
+          "version": "0.1.2",
+          "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.1.2.tgz",
+          "integrity": "sha1-ScoCk+CxlZCl9d4Qx/JlphfY/lQ="
+        },
+        "pako": {
+          "version": "0.2.9",
+          "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz",
+          "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU="
+        },
+        "process-nextick-args": {
+          "version": "1.0.7",
+          "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
+          "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M="
+        },
+        "readable-stream": {
+          "version": "2.3.6",
+          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+          "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+          "requires": {
+            "core-util-is": "1.0.2",
+            "inherits": "2.0.3",
+            "isarray": "1.0.0",
+            "process-nextick-args": "2.0.0",
+            "safe-buffer": "5.1.2",
+            "string_decoder": "1.1.1",
+            "util-deprecate": "1.0.2"
+          },
+          "dependencies": {
+            "process-nextick-args": {
+              "version": "2.0.0",
+              "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
+              "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw=="
+            },
+            "string_decoder": {
+              "version": "1.1.1",
+              "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+              "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+              "requires": {
+                "safe-buffer": "5.1.2"
+              }
+            }
+          }
+        },
+        "string_decoder": {
+          "version": "1.0.3",
+          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
+          "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==",
+          "requires": {
+            "safe-buffer": "5.1.2"
+          }
+        },
+        "through2": {
+          "version": "2.0.3",
+          "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+          "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
+          "requires": {
+            "readable-stream": "2.3.6",
+            "xtend": "4.0.1"
+          }
+        },
+        "timers-browserify": {
+          "version": "1.4.2",
+          "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz",
+          "integrity": "sha1-ycWLV1voQHN1y14kYtrO50NZ9B0=",
+          "requires": {
+            "process": "0.11.10"
+          }
         }
       }
     },
@@ -953,7 +1275,6 @@
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
       "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
-      "dev": true,
       "requires": {
         "buffer-xor": "1.0.3",
         "cipher-base": "1.0.4",
@@ -967,7 +1288,6 @@
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz",
       "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==",
-      "dev": true,
       "requires": {
         "browserify-aes": "1.2.0",
         "browserify-des": "1.0.1",
@@ -978,7 +1298,6 @@
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.1.tgz",
       "integrity": "sha512-zy0Cobe3hhgpiOM32Tj7KQ3Vl91m0njwsjzZQK1L+JDf11dzP9qIvjreVinsvXrgfjhStXwUWAEpB9D7Gwmayw==",
-      "dev": true,
       "requires": {
         "cipher-base": "1.0.4",
         "des.js": "1.0.0",
@@ -1000,7 +1319,6 @@
       "version": "4.0.1",
       "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz",
       "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=",
-      "dev": true,
       "requires": {
         "bn.js": "4.11.8",
         "randombytes": "2.0.6"
@@ -1010,7 +1328,6 @@
       "version": "4.0.4",
       "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz",
       "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=",
-      "dev": true,
       "requires": {
         "bn.js": "4.11.8",
         "browserify-rsa": "4.0.1",
@@ -1021,6 +1338,33 @@
         "parse-asn1": "5.1.1"
       }
     },
+    "browserify-transform-tools": {
+      "version": "1.7.0",
+      "resolved": "https://registry.npmjs.org/browserify-transform-tools/-/browserify-transform-tools-1.7.0.tgz",
+      "integrity": "sha1-g+J3Ih9jJZvtLn6yooOpcKUB9MQ=",
+      "requires": {
+        "falafel": "2.1.0",
+        "through": "2.3.8"
+      },
+      "dependencies": {
+        "acorn": {
+          "version": "5.6.2",
+          "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.6.2.tgz",
+          "integrity": "sha512-zUzo1E5dI2Ey8+82egfnttyMlMZ2y0D8xOCO3PNPPlYXpl8NZvF6Qk9L9BEtJs+43FqEmfBViDqc5d1ckRDguw=="
+        },
+        "falafel": {
+          "version": "2.1.0",
+          "resolved": "https://registry.npmjs.org/falafel/-/falafel-2.1.0.tgz",
+          "integrity": "sha1-lrsXdh2rqU9G0AFzizzt86Z/4Gw=",
+          "requires": {
+            "acorn": "5.6.2",
+            "foreach": "2.0.5",
+            "isarray": "0.0.1",
+            "object-keys": "1.0.11"
+          }
+        }
+      }
+    },
     "browserify-zlib": {
       "version": "0.2.0",
       "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
@@ -1068,26 +1412,27 @@
     "buffer-from": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.0.tgz",
-      "integrity": "sha512-c5mRlguI/Pe2dSZmpER62rSCu0ryKmWddzRYsuXc50U2/g8jMOulc31VZMa4mYx31U5xsmSOpDCgH88Vl9cDGQ==",
-      "dev": true
+      "integrity": "sha512-c5mRlguI/Pe2dSZmpER62rSCu0ryKmWddzRYsuXc50U2/g8jMOulc31VZMa4mYx31U5xsmSOpDCgH88Vl9cDGQ=="
     },
     "buffer-xor": {
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
-      "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=",
-      "dev": true
+      "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk="
     },
     "builtin-modules": {
       "version": "1.1.1",
       "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
-      "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=",
-      "dev": true
+      "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8="
     },
     "builtin-status-codes": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
-      "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=",
-      "dev": true
+      "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug="
+    },
+    "builtins": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz",
+      "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og="
     },
     "bytebuffer": {
       "version": "5.0.1",
@@ -1128,6 +1473,11 @@
         }
       }
     },
+    "cached-path-relative": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.0.1.tgz",
+      "integrity": "sha1-0JxLUoAKpMB44t2BqGmqyQ0uVOc="
+    },
     "call-number": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/call-number/-/call-number-1.0.1.tgz",
@@ -1157,8 +1507,7 @@
     "caseless": {
       "version": "0.12.0",
       "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
-      "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
-      "dev": true
+      "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
     },
     "center-align": {
       "version": "0.1.3",
@@ -1174,7 +1523,6 @@
       "version": "1.1.3",
       "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
       "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
-      "dev": true,
       "requires": {
         "ansi-styles": "2.2.1",
         "escape-string-regexp": "1.0.5",
@@ -1186,14 +1534,12 @@
         "ansi-styles": {
           "version": "2.2.1",
           "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
-          "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
-          "dev": true
+          "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
         },
         "supports-color": {
           "version": "2.0.0",
           "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
-          "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
-          "dev": true
+          "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
         }
       }
     },
@@ -1217,7 +1563,6 @@
       "version": "1.0.4",
       "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
       "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
-      "dev": true,
       "requires": {
         "inherits": "2.0.3",
         "safe-buffer": "5.1.2"
@@ -1273,6 +1618,19 @@
         }
       }
     },
+    "cli-cursor": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz",
+      "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=",
+      "requires": {
+        "restore-cursor": "1.0.1"
+      }
+    },
+    "cli-width": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-1.1.1.tgz",
+      "integrity": "sha1-pNKT72frt7iNSk1CwMzwDE0eNm0="
+    },
     "cliui": {
       "version": "3.2.0",
       "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
@@ -1292,8 +1650,7 @@
     "co": {
       "version": "4.6.0",
       "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
-      "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
-      "dev": true
+      "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ="
     },
     "code-point-at": {
       "version": "1.1.0",
@@ -1330,11 +1687,21 @@
       "resolved": "https://registry.npmjs.org/colour/-/colour-0.7.1.tgz",
       "integrity": "sha1-nLFpkX7F0SwHNtPoaFdG3xyt93g="
     },
+    "combine-source-map": {
+      "version": "0.8.0",
+      "resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz",
+      "integrity": "sha1-pY0N8ELBhvz4IqjoAV9UUNLXmos=",
+      "requires": {
+        "convert-source-map": "1.1.3",
+        "inline-source-map": "0.6.2",
+        "lodash.memoize": "3.0.4",
+        "source-map": "0.5.7"
+      }
+    },
     "combined-stream": {
       "version": "1.0.6",
       "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz",
       "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=",
-      "dev": true,
       "requires": {
         "delayed-stream": "1.0.0"
       }
@@ -1354,34 +1721,80 @@
       "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
       "dev": true
     },
-    "concat-map": {
-      "version": "0.0.1",
-      "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
-      "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
-    },
-    "concat-stream": {
-      "version": "1.6.2",
-      "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
-      "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
-      "dev": true,
+    "compressible": {
+      "version": "2.0.14",
+      "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.14.tgz",
+      "integrity": "sha1-MmxfUH+7BV9UEWeCuWmoG2einac=",
       "requires": {
-        "buffer-from": "1.1.0",
-        "inherits": "2.0.3",
-        "readable-stream": "2.3.6",
-        "typedarray": "0.0.6"
+        "mime-db": "1.34.0"
       },
       "dependencies": {
-        "isarray": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-          "dev": true
+        "mime-db": {
+          "version": "1.34.0",
+          "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.34.0.tgz",
+          "integrity": "sha1-RS0Oz/XDA0am3B5kseruDTcZ/5o="
+        }
+      }
+    },
+    "compression": {
+      "version": "1.7.2",
+      "resolved": "http://registry.npmjs.org/compression/-/compression-1.7.2.tgz",
+      "integrity": "sha1-qv+81qr4VLROuygDU9WtFlH1mmk=",
+      "requires": {
+        "accepts": "1.3.5",
+        "bytes": "3.0.0",
+        "compressible": "2.0.14",
+        "debug": "2.6.9",
+        "on-headers": "1.0.1",
+        "safe-buffer": "5.1.1",
+        "vary": "1.1.2"
+      },
+      "dependencies": {
+        "bytes": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
+          "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg="
+        },
+        "debug": {
+          "version": "2.6.9",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+          "requires": {
+            "ms": "2.0.0"
+          }
+        },
+        "safe-buffer": {
+          "version": "5.1.1",
+          "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
+          "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg=="
+        }
+      }
+    },
+    "concat-map": {
+      "version": "0.0.1",
+      "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+      "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
+    },
+    "concat-stream": {
+      "version": "1.6.2",
+      "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
+      "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
+      "requires": {
+        "buffer-from": "1.1.0",
+        "inherits": "2.0.3",
+        "readable-stream": "2.3.6",
+        "typedarray": "0.0.6"
+      },
+      "dependencies": {
+        "isarray": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
         },
         "readable-stream": {
           "version": "2.3.6",
           "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
           "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
-          "dev": true,
           "requires": {
             "core-util-is": "1.0.2",
             "inherits": "2.0.3",
@@ -1396,18 +1809,39 @@
           "version": "1.1.1",
           "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
           "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "dev": true,
           "requires": {
             "safe-buffer": "5.1.2"
           }
         }
       }
     },
+    "configstore": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/configstore/-/configstore-2.1.0.tgz",
+      "integrity": "sha1-c3o6cDbpiGECqmCZ5HuzOrGroaE=",
+      "requires": {
+        "dot-prop": "3.0.0",
+        "graceful-fs": "4.1.11",
+        "mkdirp": "0.5.1",
+        "object-assign": "4.1.1",
+        "os-tmpdir": "1.0.2",
+        "osenv": "0.1.5",
+        "uuid": "2.0.3",
+        "write-file-atomic": "1.3.4",
+        "xdg-basedir": "2.0.0"
+      },
+      "dependencies": {
+        "uuid": {
+          "version": "2.0.3",
+          "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz",
+          "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho="
+        }
+      }
+    },
     "console-browserify": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz",
       "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=",
-      "dev": true,
       "requires": {
         "date-now": "0.1.4"
       }
@@ -1421,20 +1855,17 @@
     "constants-browserify": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
-      "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=",
-      "dev": true
+      "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U="
     },
     "content-disposition": {
       "version": "0.5.2",
       "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz",
-      "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=",
-      "dev": true
+      "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ="
     },
     "content-type": {
       "version": "1.0.4",
       "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
-      "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
-      "dev": true
+      "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA=="
     },
     "continuable-cache": {
       "version": "0.3.1",
@@ -1442,17 +1873,20 @@
       "integrity": "sha1-vXJ6f67XfnH/OYWskzUakSczrQ8=",
       "dev": true
     },
+    "convert-source-map": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz",
+      "integrity": "sha1-SCnId+n+SbMWHzvzZziI4gRpmGA="
+    },
     "cookie": {
       "version": "0.3.1",
       "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz",
-      "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=",
-      "dev": true
+      "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s="
     },
     "cookie-signature": {
       "version": "1.0.6",
       "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
-      "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=",
-      "dev": true
+      "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
     },
     "copy-descriptor": {
       "version": "0.1.1",
@@ -1460,6 +1894,30 @@
       "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
       "dev": true
     },
+    "cordova": {
+      "version": "8.0.0",
+      "resolved": "https://registry.npmjs.org/cordova/-/cordova-8.0.0.tgz",
+      "integrity": "sha1-LoRG2Uk8qv2HCxCQeF5/A+KuakM=",
+      "requires": {
+        "configstore": "2.1.0",
+        "cordova-common": "2.2.3",
+        "cordova-lib": "8.0.0",
+        "editor": "1.0.0",
+        "insight": "0.8.4",
+        "nopt": "3.0.1",
+        "update-notifier": "0.5.0"
+      },
+      "dependencies": {
+        "nopt": {
+          "version": "3.0.1",
+          "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.1.tgz",
+          "integrity": "sha1-vOXEJEajKR9HYio3CrvxWPu6y/0=",
+          "requires": {
+            "abbrev": "1.1.1"
+          }
+        }
+      }
+    },
     "cordova-android": {
       "version": "7.1.0",
       "resolved": "https://registry.npmjs.org/cordova-android/-/cordova-android-7.1.0.tgz",
@@ -1677,6 +2135,286 @@
         }
       }
     },
+    "cordova-app-hello-world": {
+      "version": "3.12.0",
+      "resolved": "https://registry.npmjs.org/cordova-app-hello-world/-/cordova-app-hello-world-3.12.0.tgz",
+      "integrity": "sha1-Jw4Gtnsq6UvP7mWS7TnrQjA9GG8="
+    },
+    "cordova-common": {
+      "version": "2.2.3",
+      "resolved": "https://registry.npmjs.org/cordova-common/-/cordova-common-2.2.3.tgz",
+      "integrity": "sha512-oPK66UgvTSf9genhSoZGJClbvbQTOa4ALoyda4m3VlGK561vie/HUrFa8b9UYtaCO0qJrie3oukT5qE4APCXQA==",
+      "requires": {
+        "ansi": "0.3.1",
+        "bplist-parser": "0.1.1",
+        "cordova-registry-mapper": "1.1.15",
+        "elementtree": "0.1.7",
+        "glob": "7.1.2",
+        "minimatch": "3.0.4",
+        "plist": "3.0.1",
+        "q": "1.5.1",
+        "shelljs": "0.8.2",
+        "strip-bom": "3.0.0",
+        "underscore": "1.9.1"
+      },
+      "dependencies": {
+        "glob": {
+          "version": "7.1.2",
+          "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
+          "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
+          "requires": {
+            "fs.realpath": "1.0.0",
+            "inflight": "1.0.6",
+            "inherits": "2.0.3",
+            "minimatch": "3.0.4",
+            "once": "1.4.0",
+            "path-is-absolute": "1.0.1"
+          }
+        },
+        "strip-bom": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+          "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM="
+        }
+      }
+    },
+    "cordova-create": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/cordova-create/-/cordova-create-1.1.2.tgz",
+      "integrity": "sha1-g7CScbN40cA7x9mnhv7dYEhcPM8=",
+      "requires": {
+        "cordova-app-hello-world": "3.12.0",
+        "cordova-common": "2.2.3",
+        "cordova-fetch": "1.3.0",
+        "q": "1.0.1",
+        "shelljs": "0.3.0",
+        "valid-identifier": "0.0.1"
+      },
+      "dependencies": {
+        "q": {
+          "version": "1.0.1",
+          "resolved": "https://registry.npmjs.org/q/-/q-1.0.1.tgz",
+          "integrity": "sha1-EYcq7t7okmgRCxCnGESP+xARKhQ="
+        },
+        "shelljs": {
+          "version": "0.3.0",
+          "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.3.0.tgz",
+          "integrity": "sha1-NZbmMHp4FUT1kfN9phg2DzHbV7E="
+        }
+      }
+    },
+    "cordova-fetch": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/cordova-fetch/-/cordova-fetch-1.3.0.tgz",
+      "integrity": "sha1-SYbQd5s26yOYIsKrQTpH/58Jf+o=",
+      "requires": {
+        "cordova-common": "2.2.3",
+        "dependency-ls": "1.1.1",
+        "hosted-git-info": "2.6.0",
+        "is-url": "1.2.4",
+        "q": "1.5.1",
+        "shelljs": "0.7.8"
+      },
+      "dependencies": {
+        "shelljs": {
+          "version": "0.7.8",
+          "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.8.tgz",
+          "integrity": "sha1-3svPh0sNHl+3LhSxZKloMEjprLM=",
+          "requires": {
+            "glob": "7.1.1",
+            "interpret": "1.1.0",
+            "rechoir": "0.6.2"
+          }
+        }
+      }
+    },
+    "cordova-js": {
+      "version": "4.2.2",
+      "resolved": "https://registry.npmjs.org/cordova-js/-/cordova-js-4.2.2.tgz",
+      "integrity": "sha1-p+sgkR5qWfFaxk59tuxUPfMcL5I=",
+      "requires": {
+        "browserify": "14.4.0"
+      }
+    },
+    "cordova-lib": {
+      "version": "8.0.0",
+      "resolved": "https://registry.npmjs.org/cordova-lib/-/cordova-lib-8.0.0.tgz",
+      "integrity": "sha1-hkvV3mt5/ElENhRgqjIU5Z2pNvI=",
+      "requires": {
+        "aliasify": "2.1.0",
+        "cordova-common": "2.2.3",
+        "cordova-create": "1.1.2",
+        "cordova-fetch": "1.3.0",
+        "cordova-js": "4.2.2",
+        "cordova-serve": "2.0.1",
+        "dep-graph": "1.1.0",
+        "dependency-ls": "1.1.1",
+        "detect-indent": "5.0.0",
+        "elementtree": "0.1.6",
+        "glob": "7.1.1",
+        "init-package-json": "1.10.3",
+        "nopt": "4.0.1",
+        "opener": "1.4.2",
+        "plist": "2.0.1",
+        "properties-parser": "0.3.1",
+        "q": "1.0.1",
+        "request": "2.79.0",
+        "semver": "5.5.0",
+        "shelljs": "0.3.0",
+        "tar": "2.2.1",
+        "underscore": "1.8.3",
+        "unorm": "1.4.1",
+        "valid-identifier": "0.0.1",
+        "xcode": "1.0.0"
+      },
+      "dependencies": {
+        "assert-plus": {
+          "version": "0.2.0",
+          "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz",
+          "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ="
+        },
+        "aws-sign2": {
+          "version": "0.6.0",
+          "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz",
+          "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8="
+        },
+        "base64-js": {
+          "version": "1.1.2",
+          "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.1.2.tgz",
+          "integrity": "sha1-1kAMrBxMZgl22Q0HoENR2JOV9eg="
+        },
+        "caseless": {
+          "version": "0.11.0",
+          "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz",
+          "integrity": "sha1-cVuW6phBWTzDMGeSP17GDr2k99c="
+        },
+        "commander": {
+          "version": "2.15.1",
+          "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz",
+          "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag=="
+        },
+        "elementtree": {
+          "version": "0.1.6",
+          "resolved": "https://registry.npmjs.org/elementtree/-/elementtree-0.1.6.tgz",
+          "integrity": "sha1-KsTEbqMFFsjEy9teOsdBjlkt4gw=",
+          "requires": {
+            "sax": "0.3.5"
+          }
+        },
+        "form-data": {
+          "version": "2.1.4",
+          "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz",
+          "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=",
+          "requires": {
+            "asynckit": "0.4.0",
+            "combined-stream": "1.0.6",
+            "mime-types": "2.1.18"
+          }
+        },
+        "har-validator": {
+          "version": "2.0.6",
+          "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz",
+          "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=",
+          "requires": {
+            "chalk": "1.1.3",
+            "commander": "2.15.1",
+            "is-my-json-valid": "2.17.2",
+            "pinkie-promise": "2.0.1"
+          }
+        },
+        "http-signature": {
+          "version": "1.1.1",
+          "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz",
+          "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=",
+          "requires": {
+            "assert-plus": "0.2.0",
+            "jsprim": "1.4.1",
+            "sshpk": "1.14.1"
+          }
+        },
+        "nopt": {
+          "version": "4.0.1",
+          "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz",
+          "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=",
+          "requires": {
+            "abbrev": "1.1.1",
+            "osenv": "0.1.5"
+          }
+        },
+        "plist": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/plist/-/plist-2.0.1.tgz",
+          "integrity": "sha1-CjLKlIGxw2TpLhjcVch23p0B2os=",
+          "requires": {
+            "base64-js": "1.1.2",
+            "xmlbuilder": "8.2.2",
+            "xmldom": "0.1.27"
+          }
+        },
+        "q": {
+          "version": "1.0.1",
+          "resolved": "https://registry.npmjs.org/q/-/q-1.0.1.tgz",
+          "integrity": "sha1-EYcq7t7okmgRCxCnGESP+xARKhQ="
+        },
+        "qs": {
+          "version": "6.3.2",
+          "resolved": "https://registry.npmjs.org/qs/-/qs-6.3.2.tgz",
+          "integrity": "sha1-51vV9uJoEioqDgvaYwslUMFmUCw="
+        },
+        "request": {
+          "version": "2.79.0",
+          "resolved": "https://registry.npmjs.org/request/-/request-2.79.0.tgz",
+          "integrity": "sha1-Tf5b9r6LjNw3/Pk+BLZVd3InEN4=",
+          "requires": {
+            "aws-sign2": "0.6.0",
+            "aws4": "1.7.0",
+            "caseless": "0.11.0",
+            "combined-stream": "1.0.6",
+            "extend": "3.0.1",
+            "forever-agent": "0.6.1",
+            "form-data": "2.1.4",
+            "har-validator": "2.0.6",
+            "hawk": "3.1.3",
+            "http-signature": "1.1.1",
+            "is-typedarray": "1.0.0",
+            "isstream": "0.1.2",
+            "json-stringify-safe": "5.0.1",
+            "mime-types": "2.1.18",
+            "oauth-sign": "0.8.2",
+            "qs": "6.3.2",
+            "stringstream": "0.0.6",
+            "tough-cookie": "2.3.4",
+            "tunnel-agent": "0.4.3",
+            "uuid": "3.2.1"
+          }
+        },
+        "sax": {
+          "version": "0.3.5",
+          "resolved": "https://registry.npmjs.org/sax/-/sax-0.3.5.tgz",
+          "integrity": "sha1-iPz8H3PAyLvVt8d2ttPzUB7tBz0="
+        },
+        "shelljs": {
+          "version": "0.3.0",
+          "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.3.0.tgz",
+          "integrity": "sha1-NZbmMHp4FUT1kfN9phg2DzHbV7E="
+        },
+        "tunnel-agent": {
+          "version": "0.4.3",
+          "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz",
+          "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us="
+        },
+        "underscore": {
+          "version": "1.8.3",
+          "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz",
+          "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI="
+        },
+        "xmlbuilder": {
+          "version": "8.2.2",
+          "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-8.2.2.tgz",
+          "integrity": "sha1-aSSGc0ELS6QuGmE2VR0pIjNap3M="
+        }
+      }
+    },
     "cordova-plugin-datepicker": {
       "version": "0.9.3",
       "resolved": "https://registry.npmjs.org/cordova-plugin-datepicker/-/cordova-plugin-datepicker-0.9.3.tgz",
@@ -1732,6 +2470,30 @@
       "resolved": "https://registry.npmjs.org/cordova-plugin-x-toast/-/cordova-plugin-x-toast-2.6.2.tgz",
       "integrity": "sha1-Clj8/5Vwi3htMVGlp/Kgp74Ge5g="
     },
+    "cordova-registry-mapper": {
+      "version": "1.1.15",
+      "resolved": "https://registry.npmjs.org/cordova-registry-mapper/-/cordova-registry-mapper-1.1.15.tgz",
+      "integrity": "sha1-4kS5GFuBdUc7/2B5MkkFEV+D3Hw="
+    },
+    "cordova-serve": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/cordova-serve/-/cordova-serve-2.0.1.tgz",
+      "integrity": "sha512-3Xl1D5eyiQlY5ow6Kn/say0us2TqSw/zgQmyTLxbewTngQZ1CIqxmqD7EFGoCNBrB4HsdPmpiSpFCitybKQN9g==",
+      "requires": {
+        "chalk": "1.1.3",
+        "compression": "1.7.2",
+        "express": "4.15.3",
+        "opn": "5.3.0",
+        "shelljs": "0.5.3"
+      },
+      "dependencies": {
+        "shelljs": {
+          "version": "0.5.3",
+          "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.5.3.tgz",
+          "integrity": "sha1-xUmCuZbHbvDB5rWfvcWCX1txMRM="
+        }
+      }
+    },
     "core-js": {
       "version": "2.5.5",
       "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.5.tgz",
@@ -1746,7 +2508,6 @@
       "version": "4.0.3",
       "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz",
       "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==",
-      "dev": true,
       "requires": {
         "bn.js": "4.11.8",
         "elliptic": "6.4.0"
@@ -1756,7 +2517,6 @@
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
       "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
-      "dev": true,
       "requires": {
         "cipher-base": "1.0.4",
         "inherits": "2.0.3",
@@ -1769,7 +2529,6 @@
       "version": "1.1.7",
       "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
       "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
-      "dev": true,
       "requires": {
         "cipher-base": "1.0.4",
         "create-hash": "1.2.0",
@@ -1790,11 +2549,18 @@
         "which": "1.3.1"
       }
     },
+    "cryptiles": {
+      "version": "2.0.5",
+      "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz",
+      "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=",
+      "requires": {
+        "boom": "2.10.1"
+      }
+    },
     "crypto-browserify": {
       "version": "3.12.0",
       "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
       "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
-      "dev": true,
       "requires": {
         "browserify-cipher": "1.0.1",
         "browserify-sign": "4.0.4",
@@ -1831,7 +2597,6 @@
       "version": "1.14.1",
       "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
       "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
-      "dev": true,
       "requires": {
         "assert-plus": "1.0.0"
       }
@@ -1839,14 +2604,12 @@
     "date-now": {
       "version": "0.1.4",
       "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz",
-      "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=",
-      "dev": true
+      "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs="
     },
     "debug": {
       "version": "2.6.7",
       "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.7.tgz",
       "integrity": "sha1-krrR9tBbu2u6Isyoi80OyJTChh4=",
-      "dev": true,
       "requires": {
         "ms": "2.0.0"
       }
@@ -1862,6 +2625,11 @@
       "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
       "dev": true
     },
+    "deep-extend": {
+      "version": "0.6.0",
+      "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
+      "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA=="
+    },
     "deferred-leveldown": {
       "version": "0.2.0",
       "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-0.2.0.tgz",
@@ -1924,11 +2692,15 @@
         }
       }
     },
+    "defined": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
+      "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM="
+    },
     "delayed-stream": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
-      "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
-      "dev": true
+      "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
     },
     "delegates": {
       "version": "1.0.0",
@@ -1936,17 +2708,94 @@
       "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=",
       "dev": true
     },
+    "dep-graph": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/dep-graph/-/dep-graph-1.1.0.tgz",
+      "integrity": "sha1-+t6GqSeZqBPptCURzfPfpsyNvv4=",
+      "requires": {
+        "underscore": "1.2.1"
+      },
+      "dependencies": {
+        "underscore": {
+          "version": "1.2.1",
+          "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.2.1.tgz",
+          "integrity": "sha1-/FxrB2VnPZKi1KyLTcCqiHAuK9Q="
+        }
+      }
+    },
     "depd": {
       "version": "1.1.2",
       "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
-      "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
-      "dev": true
+      "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak="
+    },
+    "dependency-ls": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/dependency-ls/-/dependency-ls-1.1.1.tgz",
+      "integrity": "sha1-BIGwfwI9dM4xEZLlxpDRPhhgAFQ=",
+      "requires": {
+        "q": "1.4.1"
+      },
+      "dependencies": {
+        "q": {
+          "version": "1.4.1",
+          "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz",
+          "integrity": "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4="
+        }
+      }
+    },
+    "deps-sort": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.0.tgz",
+      "integrity": "sha1-CRckkC6EZYJg65EHSMzNGvbiH7U=",
+      "requires": {
+        "JSONStream": "1.3.3",
+        "shasum": "1.0.2",
+        "subarg": "1.0.0",
+        "through2": "2.0.3"
+      },
+      "dependencies": {
+        "isarray": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
+        },
+        "readable-stream": {
+          "version": "2.3.6",
+          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+          "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+          "requires": {
+            "core-util-is": "1.0.2",
+            "inherits": "2.0.3",
+            "isarray": "1.0.0",
+            "process-nextick-args": "2.0.0",
+            "safe-buffer": "5.1.2",
+            "string_decoder": "1.1.1",
+            "util-deprecate": "1.0.2"
+          }
+        },
+        "string_decoder": {
+          "version": "1.1.1",
+          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+          "requires": {
+            "safe-buffer": "5.1.2"
+          }
+        },
+        "through2": {
+          "version": "2.0.3",
+          "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+          "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
+          "requires": {
+            "readable-stream": "2.3.6",
+            "xtend": "4.0.1"
+          }
+        }
+      }
     },
     "des.js": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz",
       "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=",
-      "dev": true,
       "requires": {
         "inherits": "2.0.3",
         "minimalistic-assert": "1.0.1"
@@ -1955,8 +2804,28 @@
     "destroy": {
       "version": "1.0.4",
       "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
-      "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=",
-      "dev": true
+      "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
+    },
+    "detect-indent": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-5.0.0.tgz",
+      "integrity": "sha1-OHHMCmoALow+Wzz38zYmRnXwa50="
+    },
+    "detective": {
+      "version": "4.7.1",
+      "resolved": "https://registry.npmjs.org/detective/-/detective-4.7.1.tgz",
+      "integrity": "sha512-H6PmeeUcZloWtdt4DAkFyzFL94arpHr3NOwwmVILFiy+9Qd4JTxxXrzfyGk/lmct2qVGBwTSwSXagqu2BxmWig==",
+      "requires": {
+        "acorn": "5.6.2",
+        "defined": "1.0.0"
+      },
+      "dependencies": {
+        "acorn": {
+          "version": "5.6.2",
+          "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.6.2.tgz",
+          "integrity": "sha512-zUzo1E5dI2Ey8+82egfnttyMlMZ2y0D8xOCO3PNPPlYXpl8NZvF6Qk9L9BEtJs+43FqEmfBViDqc5d1ckRDguw=="
+        }
+      }
     },
     "diff": {
       "version": "3.5.0",
@@ -1968,7 +2837,6 @@
       "version": "5.0.3",
       "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
       "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
-      "dev": true,
       "requires": {
         "bn.js": "4.11.8",
         "miller-rabin": "4.0.1",
@@ -1993,32 +2861,120 @@
         }
       }
     },
-    "dom-storage": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/dom-storage/-/dom-storage-2.1.0.tgz",
-      "integrity": "sha512-g6RpyWXzl0RR6OTElHKBl7nwnK87GUyZMYC7JWsB/IA73vpqK2K6LT39x4VepLxlSsWBFrPVLnsSR5Jyty0+2Q=="
-    },
-    "domain-browser": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz",
-      "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==",
-      "dev": true
-    },
+    "dom-storage": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/dom-storage/-/dom-storage-2.1.0.tgz",
+      "integrity": "sha512-g6RpyWXzl0RR6OTElHKBl7nwnK87GUyZMYC7JWsB/IA73vpqK2K6LT39x4VepLxlSsWBFrPVLnsSR5Jyty0+2Q=="
+    },
+    "domain-browser": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz",
+      "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==",
+      "dev": true
+    },
+    "dot-prop": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-3.0.0.tgz",
+      "integrity": "sha1-G3CK8JSknJoOfbyteQq6U52sEXc=",
+      "requires": {
+        "is-obj": "1.0.1"
+      }
+    },
+    "duplexer2": {
+      "version": "0.1.4",
+      "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
+      "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=",
+      "requires": {
+        "readable-stream": "2.3.6"
+      },
+      "dependencies": {
+        "isarray": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
+        },
+        "readable-stream": {
+          "version": "2.3.6",
+          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+          "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+          "requires": {
+            "core-util-is": "1.0.2",
+            "inherits": "2.0.3",
+            "isarray": "1.0.0",
+            "process-nextick-args": "2.0.0",
+            "safe-buffer": "5.1.2",
+            "string_decoder": "1.1.1",
+            "util-deprecate": "1.0.2"
+          }
+        },
+        "string_decoder": {
+          "version": "1.1.1",
+          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+          "requires": {
+            "safe-buffer": "5.1.2"
+          }
+        }
+      }
+    },
+    "duplexify": {
+      "version": "3.6.0",
+      "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.0.tgz",
+      "integrity": "sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ==",
+      "requires": {
+        "end-of-stream": "1.4.1",
+        "inherits": "2.0.3",
+        "readable-stream": "2.3.6",
+        "stream-shift": "1.0.0"
+      },
+      "dependencies": {
+        "isarray": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
+        },
+        "readable-stream": {
+          "version": "2.3.6",
+          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+          "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+          "requires": {
+            "core-util-is": "1.0.2",
+            "inherits": "2.0.3",
+            "isarray": "1.0.0",
+            "process-nextick-args": "2.0.0",
+            "safe-buffer": "5.1.2",
+            "string_decoder": "1.1.1",
+            "util-deprecate": "1.0.2"
+          }
+        },
+        "string_decoder": {
+          "version": "1.1.1",
+          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+          "requires": {
+            "safe-buffer": "5.1.2"
+          }
+        }
+      }
+    },
     "ecc-jsbn": {
       "version": "0.1.1",
       "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz",
       "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=",
-      "dev": true,
       "optional": true,
       "requires": {
         "jsbn": "0.1.1"
       }
     },
+    "editor": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/editor/-/editor-1.0.0.tgz",
+      "integrity": "sha1-YMf4e9YrzGqJT6jM1q+3gjok90I="
+    },
     "ee-first": {
       "version": "1.1.1",
       "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
-      "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
-      "dev": true
+      "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
     },
     "electron-to-chromium": {
       "version": "1.3.48",
@@ -2026,11 +2982,25 @@
       "integrity": "sha1-07DYWTgUBE4JLs4hCPw6ya6kuQA=",
       "dev": true
     },
+    "elementtree": {
+      "version": "0.1.7",
+      "resolved": "https://registry.npmjs.org/elementtree/-/elementtree-0.1.7.tgz",
+      "integrity": "sha1-mskb5uUvtuYkTE5UpKw+2K6OKcA=",
+      "requires": {
+        "sax": "1.1.4"
+      },
+      "dependencies": {
+        "sax": {
+          "version": "1.1.4",
+          "resolved": "https://registry.npmjs.org/sax/-/sax-1.1.4.tgz",
+          "integrity": "sha1-dLbTPJrh4AFRDxeakRaFiPGu2qk="
+        }
+      }
+    },
     "elliptic": {
       "version": "6.4.0",
       "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz",
       "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=",
-      "dev": true,
       "requires": {
         "bn.js": "4.11.8",
         "brorand": "1.1.0",
@@ -2050,8 +3020,7 @@
     "encodeurl": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
-      "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
-      "dev": true
+      "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k="
     },
     "encoding": {
       "version": "0.1.12",
@@ -2061,6 +3030,14 @@
         "iconv-lite": "0.4.23"
       }
     },
+    "end-of-stream": {
+      "version": "1.4.1",
+      "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",
+      "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==",
+      "requires": {
+        "once": "1.4.0"
+      }
+    },
     "enhanced-resolve": {
       "version": "3.4.1",
       "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz",
@@ -2185,14 +3162,12 @@
     "escape-html": {
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
-      "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=",
-      "dev": true
+      "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
     },
     "escape-string-regexp": {
       "version": "1.0.5",
       "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
-      "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
-      "dev": true
+      "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
     },
     "escope": {
       "version": "3.6.0",
@@ -2246,8 +3221,7 @@
     "etag": {
       "version": "1.8.1",
       "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
-      "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=",
-      "dev": true
+      "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc="
     },
     "event-emitter": {
       "version": "0.3.5",
@@ -2262,14 +3236,12 @@
     "events": {
       "version": "1.1.1",
       "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz",
-      "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=",
-      "dev": true
+      "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ="
     },
     "evp_bytestokey": {
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
       "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
-      "dev": true,
       "requires": {
         "md5.js": "1.3.4",
         "safe-buffer": "5.1.2"
@@ -2290,6 +3262,11 @@
         "strip-eof": "1.0.0"
       }
     },
+    "exit-hook": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz",
+      "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g="
+    },
     "expand-brackets": {
       "version": "0.1.5",
       "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
@@ -2312,7 +3289,6 @@
       "version": "4.15.3",
       "resolved": "https://registry.npmjs.org/express/-/express-4.15.3.tgz",
       "integrity": "sha1-urZdDwOqgMNYQIly/HAPkWlEtmI=",
-      "dev": true,
       "requires": {
         "accepts": "1.3.5",
         "array-flatten": "1.1.1",
@@ -2347,16 +3323,14 @@
         "path-to-regexp": {
           "version": "0.1.7",
           "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
-          "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=",
-          "dev": true
+          "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w="
         }
       }
     },
     "extend": {
       "version": "3.0.1",
       "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
-      "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=",
-      "dev": true
+      "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ="
     },
     "extend-shallow": {
       "version": "3.0.2",
@@ -2391,8 +3365,7 @@
     "extsprintf": {
       "version": "1.3.0",
       "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
-      "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
-      "dev": true
+      "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
     },
     "falafel": {
       "version": "1.2.0",
@@ -2408,14 +3381,12 @@
     "fast-deep-equal": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz",
-      "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=",
-      "dev": true
+      "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ="
     },
     "fast-json-stable-stringify": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
-      "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
-      "dev": true
+      "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I="
     },
     "faye-websocket": {
       "version": "0.10.0",
@@ -2426,6 +3397,15 @@
         "websocket-driver": "0.7.0"
       }
     },
+    "figures": {
+      "version": "1.7.0",
+      "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz",
+      "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=",
+      "requires": {
+        "escape-string-regexp": "1.0.5",
+        "object-assign": "4.1.1"
+      }
+    },
     "filename-regex": {
       "version": "2.0.1",
       "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz",
@@ -2449,7 +3429,6 @@
       "version": "1.0.6",
       "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.0.6.tgz",
       "integrity": "sha1-AHrqM9Gk0+QgF/YkhIrVjSEvgU8=",
-      "dev": true,
       "requires": {
         "debug": "2.6.9",
         "encodeurl": "1.0.2",
@@ -2464,7 +3443,6 @@
           "version": "2.6.9",
           "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
           "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-          "dev": true,
           "requires": {
             "ms": "2.0.0"
           }
@@ -2519,14 +3497,12 @@
     "forever-agent": {
       "version": "0.6.1",
       "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
-      "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
-      "dev": true
+      "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE="
     },
     "form-data": {
       "version": "2.3.2",
       "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz",
       "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=",
-      "dev": true,
       "requires": {
         "asynckit": "0.4.0",
         "combined-stream": "1.0.6",
@@ -2536,8 +3512,7 @@
     "forwarded": {
       "version": "0.1.2",
       "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
-      "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=",
-      "dev": true
+      "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ="
     },
     "fragment-cache": {
       "version": "0.2.1",
@@ -2551,8 +3526,7 @@
     "fresh": {
       "version": "0.5.0",
       "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.0.tgz",
-      "integrity": "sha1-9HTKXmqSRtb9jglTz6m5yAWvp44=",
-      "dev": true
+      "integrity": "sha1-9HTKXmqSRtb9jglTz6m5yAWvp44="
     },
     "fs-extra": {
       "version": "3.0.1",
@@ -2574,7 +3548,6 @@
       "version": "1.0.11",
       "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz",
       "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=",
-      "dev": true,
       "requires": {
         "graceful-fs": "4.1.11",
         "inherits": "2.0.3",
@@ -2582,6 +3555,11 @@
         "rimraf": "2.6.2"
       }
     },
+    "function-bind": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+      "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
+    },
     "fwd-stream": {
       "version": "1.0.4",
       "resolved": "https://registry.npmjs.org/fwd-stream/-/fwd-stream-1.0.4.tgz",
@@ -2616,6 +3594,19 @@
         "globule": "1.2.1"
       }
     },
+    "generate-function": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz",
+      "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ="
+    },
+    "generate-object-property": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz",
+      "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=",
+      "requires": {
+        "is-property": "1.0.2"
+      }
+    },
     "get-caller-file": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz",
@@ -2644,7 +3635,6 @@
       "version": "0.1.7",
       "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
       "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
-      "dev": true,
       "requires": {
         "assert-plus": "1.0.0"
       }
@@ -2692,11 +3682,34 @@
         "minimatch": "3.0.4"
       }
     },
+    "got": {
+      "version": "3.3.1",
+      "resolved": "https://registry.npmjs.org/got/-/got-3.3.1.tgz",
+      "integrity": "sha1-5dDtSvVfw+701WAHdp2YGSvLLso=",
+      "requires": {
+        "duplexify": "3.6.0",
+        "infinity-agent": "2.0.3",
+        "is-redirect": "1.0.0",
+        "is-stream": "1.1.0",
+        "lowercase-keys": "1.0.1",
+        "nested-error-stacks": "1.0.2",
+        "object-assign": "3.0.0",
+        "prepend-http": "1.0.4",
+        "read-all-stream": "3.1.0",
+        "timed-out": "2.0.0"
+      },
+      "dependencies": {
+        "object-assign": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz",
+          "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I="
+        }
+      }
+    },
     "graceful-fs": {
       "version": "4.1.11",
       "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
-      "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
-      "dev": true
+      "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg="
     },
     "graceful-readlink": {
       "version": "1.0.1",
@@ -3122,24 +4135,29 @@
     "har-schema": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
-      "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
-      "dev": true
+      "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI="
     },
     "har-validator": {
       "version": "5.0.3",
       "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz",
       "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=",
-      "dev": true,
       "requires": {
         "ajv": "5.5.2",
         "har-schema": "2.0.0"
       }
     },
+    "has": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
+      "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
+      "requires": {
+        "function-bind": "1.1.1"
+      }
+    },
     "has-ansi": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
       "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
-      "dev": true,
       "requires": {
         "ansi-regex": "2.1.1"
       }
@@ -3220,7 +4238,6 @@
       "version": "3.0.4",
       "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz",
       "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=",
-      "dev": true,
       "requires": {
         "inherits": "2.0.3",
         "safe-buffer": "5.1.2"
@@ -3230,34 +4247,51 @@
       "version": "1.1.3",
       "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz",
       "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==",
-      "dev": true,
       "requires": {
         "inherits": "2.0.3",
         "minimalistic-assert": "1.0.1"
       }
     },
+    "hawk": {
+      "version": "3.1.3",
+      "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",
+      "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=",
+      "requires": {
+        "boom": "2.10.1",
+        "cryptiles": "2.0.5",
+        "hoek": "2.16.3",
+        "sntp": "1.0.9"
+      }
+    },
     "hmac-drbg": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
       "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=",
-      "dev": true,
       "requires": {
         "hash.js": "1.1.3",
         "minimalistic-assert": "1.0.1",
         "minimalistic-crypto-utils": "1.0.1"
       }
     },
+    "hoek": {
+      "version": "2.16.3",
+      "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
+      "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0="
+    },
     "hosted-git-info": {
       "version": "2.6.0",
       "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.6.0.tgz",
-      "integrity": "sha512-lIbgIIQA3lz5XaB6vxakj6sDHADJiZadYEJB+FgA+C4nubM1NwcuvUr9EJPmnH1skZqpqUzWborWo8EIUi0Sdw==",
-      "dev": true
+      "integrity": "sha512-lIbgIIQA3lz5XaB6vxakj6sDHADJiZadYEJB+FgA+C4nubM1NwcuvUr9EJPmnH1skZqpqUzWborWo8EIUi0Sdw=="
+    },
+    "htmlescape": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz",
+      "integrity": "sha1-OgPtwiFLyjtmQko+eVk0lQnLA1E="
     },
     "http-errors": {
       "version": "1.6.3",
       "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
       "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=",
-      "dev": true,
       "requires": {
         "depd": "1.1.2",
         "inherits": "2.0.3",
@@ -3268,14 +4302,12 @@
         "setprototypeof": {
           "version": "1.1.0",
           "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
-          "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==",
-          "dev": true
+          "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ=="
         },
         "statuses": {
           "version": "1.5.0",
           "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
-          "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
-          "dev": true
+          "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
         }
       }
     },
@@ -3288,7 +4320,6 @@
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
       "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
-      "dev": true,
       "requires": {
         "assert-plus": "1.0.0",
         "jsprim": "1.4.1",
@@ -3298,8 +4329,7 @@
     "https-browserify": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
-      "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=",
-      "dev": true
+      "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM="
     },
     "iconv-lite": {
       "version": "0.4.23",
@@ -3318,14 +4348,18 @@
     "ieee754": {
       "version": "1.1.11",
       "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.11.tgz",
-      "integrity": "sha512-VhDzCKN7K8ufStx/CLj5/PDTMgph+qwN5Pkd5i0sGnVwk56zJ0lkT8Qzi1xqWLS0Wp29DgDtNeS7v8/wMoZeHg==",
-      "dev": true
+      "integrity": "sha512-VhDzCKN7K8ufStx/CLj5/PDTMgph+qwN5Pkd5i0sGnVwk56zJ0lkT8Qzi1xqWLS0Wp29DgDtNeS7v8/wMoZeHg=="
     },
     "immediate": {
       "version": "3.0.6",
       "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz",
       "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps="
     },
+    "imurmurhash": {
+      "version": "0.1.4",
+      "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+      "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o="
+    },
     "in-publish": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz",
@@ -3344,8 +4378,12 @@
     "indexof": {
       "version": "0.0.1",
       "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz",
-      "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=",
-      "dev": true
+      "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10="
+    },
+    "infinity-agent": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/infinity-agent/-/infinity-agent-2.0.3.tgz",
+      "integrity": "sha1-ReDi/3qesDCyfWK3SzdEt6esQhY="
     },
     "inflight": {
       "version": "1.0.6",
@@ -3361,6 +4399,26 @@
       "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
       "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
     },
+    "ini": {
+      "version": "1.3.5",
+      "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
+      "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw=="
+    },
+    "init-package-json": {
+      "version": "1.10.3",
+      "resolved": "https://registry.npmjs.org/init-package-json/-/init-package-json-1.10.3.tgz",
+      "integrity": "sha512-zKSiXKhQveNteyhcj1CoOP8tqp1QuxPIPBl8Bid99DGLFqA1p87M6lNgfjJHSBoWJJlidGOv5rWjyYKEB3g2Jw==",
+      "requires": {
+        "glob": "7.1.1",
+        "npm-package-arg": "6.1.0",
+        "promzard": "0.3.0",
+        "read": "1.0.7",
+        "read-package-json": "2.0.13",
+        "semver": "5.5.0",
+        "validate-npm-package-license": "3.0.3",
+        "validate-npm-package-name": "3.0.0"
+      }
+    },
     "inline-process-browser": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/inline-process-browser/-/inline-process-browser-1.0.0.tgz",
@@ -3370,11 +4428,153 @@
         "through2": "0.6.5"
       }
     },
+    "inline-source-map": {
+      "version": "0.6.2",
+      "resolved": "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz",
+      "integrity": "sha1-+Tk0ccGKedFyT4Y/o4tYY3Ct4qU=",
+      "requires": {
+        "source-map": "0.5.7"
+      }
+    },
+    "inquirer": {
+      "version": "0.10.1",
+      "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.10.1.tgz",
+      "integrity": "sha1-6iXkzmnKFF4FyZ5G3P7AXkASWUo=",
+      "requires": {
+        "ansi-escapes": "1.4.0",
+        "ansi-regex": "2.1.1",
+        "chalk": "1.1.3",
+        "cli-cursor": "1.0.2",
+        "cli-width": "1.1.1",
+        "figures": "1.7.0",
+        "lodash": "3.10.1",
+        "readline2": "1.0.1",
+        "run-async": "0.1.0",
+        "rx-lite": "3.1.2",
+        "strip-ansi": "3.0.1",
+        "through": "2.3.8"
+      },
+      "dependencies": {
+        "lodash": {
+          "version": "3.10.1",
+          "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
+          "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y="
+        }
+      }
+    },
+    "insert-module-globals": {
+      "version": "7.1.0",
+      "resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.1.0.tgz",
+      "integrity": "sha512-LbYZdybvKjbbcKLp03lB323Cgc8f0iL0Rjh8U6JZ7K1gZSf7MxQH191iCNUcLX4qIQ6/yWe4Q4ZsQ+opcReNFg==",
+      "requires": {
+        "JSONStream": "1.3.3",
+        "combine-source-map": "0.8.0",
+        "concat-stream": "1.6.2",
+        "is-buffer": "1.1.6",
+        "lexical-scope": "1.2.0",
+        "path-is-absolute": "1.0.1",
+        "process": "0.11.10",
+        "through2": "2.0.3",
+        "xtend": "4.0.1"
+      },
+      "dependencies": {
+        "isarray": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
+        },
+        "readable-stream": {
+          "version": "2.3.6",
+          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+          "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+          "requires": {
+            "core-util-is": "1.0.2",
+            "inherits": "2.0.3",
+            "isarray": "1.0.0",
+            "process-nextick-args": "2.0.0",
+            "safe-buffer": "5.1.2",
+            "string_decoder": "1.1.1",
+            "util-deprecate": "1.0.2"
+          }
+        },
+        "string_decoder": {
+          "version": "1.1.1",
+          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+          "requires": {
+            "safe-buffer": "5.1.2"
+          }
+        },
+        "through2": {
+          "version": "2.0.3",
+          "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+          "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
+          "requires": {
+            "readable-stream": "2.3.6",
+            "xtend": "4.0.1"
+          }
+        }
+      }
+    },
+    "insight": {
+      "version": "0.8.4",
+      "resolved": "https://registry.npmjs.org/insight/-/insight-0.8.4.tgz",
+      "integrity": "sha1-ZxyvZbR8n+jD0bMgbPRbshG3WIQ=",
+      "requires": {
+        "async": "1.5.2",
+        "chalk": "1.1.3",
+        "configstore": "1.4.0",
+        "inquirer": "0.10.1",
+        "lodash.debounce": "3.1.1",
+        "object-assign": "4.1.1",
+        "os-name": "1.0.3",
+        "request": "2.87.0",
+        "tough-cookie": "2.3.4",
+        "uuid": "3.2.1"
+      },
+      "dependencies": {
+        "async": {
+          "version": "1.5.2",
+          "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
+          "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo="
+        },
+        "configstore": {
+          "version": "1.4.0",
+          "resolved": "https://registry.npmjs.org/configstore/-/configstore-1.4.0.tgz",
+          "integrity": "sha1-w1eB0FAdJowlxUuLF/YkDopPsCE=",
+          "requires": {
+            "graceful-fs": "4.1.11",
+            "mkdirp": "0.5.1",
+            "object-assign": "4.1.1",
+            "os-tmpdir": "1.0.2",
+            "osenv": "0.1.5",
+            "uuid": "2.0.3",
+            "write-file-atomic": "1.3.4",
+            "xdg-basedir": "2.0.0"
+          },
+          "dependencies": {
+            "uuid": {
+              "version": "2.0.3",
+              "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz",
+              "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho="
+            }
+          }
+        },
+        "os-name": {
+          "version": "1.0.3",
+          "resolved": "https://registry.npmjs.org/os-name/-/os-name-1.0.3.tgz",
+          "integrity": "sha1-GzefZINa98Wn9JizV8uVIVwVnt8=",
+          "requires": {
+            "osx-release": "1.1.0",
+            "win-release": "1.1.1"
+          }
+        }
+      }
+    },
     "interpret": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz",
-      "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=",
-      "dev": true
+      "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ="
     },
     "invert-kv": {
       "version": "1.0.0",
@@ -3399,8 +4599,7 @@
     "ipaddr.js": {
       "version": "1.4.0",
       "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.4.0.tgz",
-      "integrity": "sha1-KWrKh4qCGBbluF0KKFqZvP9FgvA=",
-      "dev": true
+      "integrity": "sha1-KWrKh4qCGBbluF0KKFqZvP9FgvA="
     },
     "is": {
       "version": "0.2.7",
@@ -3435,14 +4634,12 @@
     "is-buffer": {
       "version": "1.1.6",
       "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
-      "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
-      "dev": true
+      "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
     },
     "is-builtin-module": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
       "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",
-      "dev": true,
       "requires": {
         "builtin-modules": "1.1.1"
       }
@@ -3506,7 +4703,6 @@
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz",
       "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
-      "dev": true,
       "requires": {
         "number-is-nan": "1.0.1"
       }
@@ -3534,6 +4730,28 @@
       "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=",
       "dev": true
     },
+    "is-my-ip-valid": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz",
+      "integrity": "sha512-gmh/eWXROncUzRnIa1Ubrt5b8ep/MGSnfAUI3aRp+sqTCs1tv1Isl8d8F6JmkN3dXKc3ehZMrtiPN9eL03NuaQ=="
+    },
+    "is-my-json-valid": {
+      "version": "2.17.2",
+      "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.17.2.tgz",
+      "integrity": "sha512-IBhBslgngMQN8DDSppmgDv7RNrlFotuuDsKcrCP3+HbFaVivIBU7u9oiiErw8sH4ynx3+gOGQ3q2otkgiSi6kg==",
+      "requires": {
+        "generate-function": "2.0.0",
+        "generate-object-property": "1.2.0",
+        "is-my-ip-valid": "1.0.0",
+        "jsonpointer": "4.0.1",
+        "xtend": "4.0.1"
+      }
+    },
+    "is-npm": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz",
+      "integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ="
+    },
     "is-number": {
       "version": "2.1.0",
       "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
@@ -3543,6 +4761,11 @@
         "kind-of": "3.2.2"
       }
     },
+    "is-obj": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
+      "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8="
+    },
     "is-object": {
       "version": "0.1.2",
       "resolved": "https://registry.npmjs.org/is-object/-/is-object-0.1.2.tgz",
@@ -3595,6 +4818,16 @@
       "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=",
       "dev": true
     },
+    "is-property": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz",
+      "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ="
+    },
+    "is-redirect": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz",
+      "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ="
+    },
     "is-stream": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
@@ -3603,8 +4836,12 @@
     "is-typedarray": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
-      "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
-      "dev": true
+      "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
+    },
+    "is-url": {
+      "version": "1.2.4",
+      "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz",
+      "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww=="
     },
     "is-utf8": {
       "version": "0.2.1",
@@ -3618,6 +4855,11 @@
       "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
       "dev": true
     },
+    "is-wsl": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz",
+      "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0="
+    },
     "isarray": {
       "version": "0.0.1",
       "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
@@ -3664,8 +4906,7 @@
     "isstream": {
       "version": "0.1.2",
       "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
-      "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
-      "dev": true
+      "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
     },
     "js-base64": {
       "version": "2.4.5",
@@ -3701,7 +4942,6 @@
       "version": "0.1.1",
       "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
       "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
-      "dev": true,
       "optional": true
     },
     "json-loader": {
@@ -3710,23 +4950,33 @@
       "integrity": "sha1-i6oTZaYy9Yo8RtIBdfxgAsluN94=",
       "dev": true
     },
+    "json-parse-better-errors": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
+      "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw=="
+    },
     "json-schema": {
       "version": "0.2.3",
       "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
-      "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
-      "dev": true
+      "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM="
     },
     "json-schema-traverse": {
       "version": "0.3.1",
       "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",
-      "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=",
-      "dev": true
+      "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A="
+    },
+    "json-stable-stringify": {
+      "version": "0.0.1",
+      "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz",
+      "integrity": "sha1-YRwj6BTbN1Un34URk9tZ3Sryf0U=",
+      "requires": {
+        "jsonify": "0.0.0"
+      }
     },
     "json-stringify-safe": {
       "version": "5.0.1",
       "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
-      "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
-      "dev": true
+      "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
     },
     "json5": {
       "version": "0.5.1",
@@ -3743,11 +4993,25 @@
         "graceful-fs": "4.1.11"
       }
     },
+    "jsonify": {
+      "version": "0.0.0",
+      "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
+      "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM="
+    },
+    "jsonparse": {
+      "version": "1.3.1",
+      "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz",
+      "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA="
+    },
+    "jsonpointer": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz",
+      "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk="
+    },
     "jsprim": {
       "version": "1.4.1",
       "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
       "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
-      "dev": true,
       "requires": {
         "assert-plus": "1.0.0",
         "extsprintf": "1.3.0",
@@ -3775,13 +5039,38 @@
         }
       }
     },
-    "kind-of": {
-      "version": "3.2.2",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-      "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-      "dev": true,
+    "kind-of": {
+      "version": "3.2.2",
+      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+      "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+      "dev": true,
+      "requires": {
+        "is-buffer": "1.1.6"
+      }
+    },
+    "labeled-stream-splicer": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.1.tgz",
+      "integrity": "sha512-MC94mHZRvJ3LfykJlTUipBqenZz1pacOZEMhhQ8dMGcDHs0SBE5GbsavUXV7YtP3icBW17W0Zy1I0lfASmo9Pg==",
+      "requires": {
+        "inherits": "2.0.3",
+        "isarray": "2.0.4",
+        "stream-splicer": "2.0.0"
+      },
+      "dependencies": {
+        "isarray": {
+          "version": "2.0.4",
+          "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.4.tgz",
+          "integrity": "sha512-GMxXOiUirWg1xTKRipM0Ek07rX+ubx4nNVElTJdNLYmNO/2YrDkgJGw9CljXn+r4EWiDQg/8lsRdHyg2PJuUaA=="
+        }
+      }
+    },
+    "latest-version": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-1.0.1.tgz",
+      "integrity": "sha1-cs/Ebj6NG+ZR4eu1Tqn26pbzdLs=",
       "requires": {
-        "is-buffer": "1.1.6"
+        "package-json": "1.2.0"
       }
     },
     "lazy-cache": {
@@ -3968,6 +5257,14 @@
         }
       }
     },
+    "lexical-scope": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/lexical-scope/-/lexical-scope-1.2.0.tgz",
+      "integrity": "sha1-/Ope3HBKSzqHls3KQZw6CvryLfQ=",
+      "requires": {
+        "astw": "2.2.0"
+      }
+    },
     "lie": {
       "version": "3.0.2",
       "resolved": "https://registry.npmjs.org/lie/-/lie-3.0.2.tgz",
@@ -4055,6 +5352,11 @@
       "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz",
       "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg=="
     },
+    "lodash._getnative": {
+      "version": "3.9.1",
+      "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz",
+      "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U="
+    },
     "lodash.assign": {
       "version": "4.2.0",
       "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz",
@@ -4067,6 +5369,19 @@
       "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=",
       "dev": true
     },
+    "lodash.debounce": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-3.1.1.tgz",
+      "integrity": "sha1-gSIRw3ipTMKdWqTjNGzwv846ffU=",
+      "requires": {
+        "lodash._getnative": "3.9.1"
+      }
+    },
+    "lodash.memoize": {
+      "version": "3.0.4",
+      "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz",
+      "integrity": "sha1-LcvSwofLwKVcxCMovQxzYVDVPj8="
+    },
     "lodash.mergewith": {
       "version": "4.6.1",
       "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz",
@@ -4094,6 +5409,11 @@
         "signal-exit": "3.0.2"
       }
     },
+    "lowercase-keys": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz",
+      "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA=="
+    },
     "lru-cache": {
       "version": "4.1.3",
       "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz",
@@ -4156,7 +5476,6 @@
       "version": "1.3.4",
       "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz",
       "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=",
-      "dev": true,
       "requires": {
         "hash-base": "3.0.4",
         "inherits": "2.0.3"
@@ -4165,8 +5484,7 @@
     "media-typer": {
       "version": "0.3.0",
       "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
-      "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
-      "dev": true
+      "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g="
     },
     "mem": {
       "version": "1.1.0",
@@ -4240,14 +5558,12 @@
     "merge-descriptors": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
-      "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=",
-      "dev": true
+      "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E="
     },
     "methods": {
       "version": "1.1.2",
       "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
-      "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=",
-      "dev": true
+      "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4="
     },
     "micromatch": {
       "version": "2.3.11",
@@ -4274,7 +5590,6 @@
       "version": "4.0.1",
       "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
       "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
-      "dev": true,
       "requires": {
         "bn.js": "4.11.8",
         "brorand": "1.1.0"
@@ -4283,20 +5598,17 @@
     "mime": {
       "version": "1.3.4",
       "resolved": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz",
-      "integrity": "sha1-EV+eO2s9rylZmDyzjxSaLUDrXVM=",
-      "dev": true
+      "integrity": "sha1-EV+eO2s9rylZmDyzjxSaLUDrXVM="
     },
     "mime-db": {
       "version": "1.33.0",
       "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz",
-      "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==",
-      "dev": true
+      "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ=="
     },
     "mime-types": {
       "version": "2.1.18",
       "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz",
       "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==",
-      "dev": true,
       "requires": {
         "mime-db": "1.33.0"
       }
@@ -4310,14 +5622,12 @@
     "minimalistic-assert": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
-      "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==",
-      "dev": true
+      "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A=="
     },
     "minimalistic-crypto-utils": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
-      "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=",
-      "dev": true
+      "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo="
     },
     "minimatch": {
       "version": "3.0.4",
@@ -4368,11 +5678,117 @@
         }
       }
     },
+    "module-deps": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/module-deps/-/module-deps-4.1.1.tgz",
+      "integrity": "sha1-IyFYM/HaE/1gbMuAh7RIUty4If0=",
+      "requires": {
+        "JSONStream": "1.3.3",
+        "browser-resolve": "1.11.2",
+        "cached-path-relative": "1.0.1",
+        "concat-stream": "1.5.2",
+        "defined": "1.0.0",
+        "detective": "4.7.1",
+        "duplexer2": "0.1.4",
+        "inherits": "2.0.3",
+        "parents": "1.0.1",
+        "readable-stream": "2.3.6",
+        "resolve": "1.7.1",
+        "stream-combiner2": "1.1.1",
+        "subarg": "1.0.0",
+        "through2": "2.0.3",
+        "xtend": "4.0.1"
+      },
+      "dependencies": {
+        "concat-stream": {
+          "version": "1.5.2",
+          "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz",
+          "integrity": "sha1-cIl4Yk2FavQaWnQd790mHadSwmY=",
+          "requires": {
+            "inherits": "2.0.3",
+            "readable-stream": "2.0.6",
+            "typedarray": "0.0.6"
+          },
+          "dependencies": {
+            "readable-stream": {
+              "version": "2.0.6",
+              "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
+              "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=",
+              "requires": {
+                "core-util-is": "1.0.2",
+                "inherits": "2.0.3",
+                "isarray": "1.0.0",
+                "process-nextick-args": "1.0.7",
+                "string_decoder": "0.10.31",
+                "util-deprecate": "1.0.2"
+              }
+            }
+          }
+        },
+        "isarray": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
+        },
+        "process-nextick-args": {
+          "version": "1.0.7",
+          "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
+          "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M="
+        },
+        "readable-stream": {
+          "version": "2.3.6",
+          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+          "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+          "requires": {
+            "core-util-is": "1.0.2",
+            "inherits": "2.0.3",
+            "isarray": "1.0.0",
+            "process-nextick-args": "2.0.0",
+            "safe-buffer": "5.1.2",
+            "string_decoder": "1.1.1",
+            "util-deprecate": "1.0.2"
+          },
+          "dependencies": {
+            "process-nextick-args": {
+              "version": "2.0.0",
+              "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
+              "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw=="
+            },
+            "string_decoder": {
+              "version": "1.1.1",
+              "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+              "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+              "requires": {
+                "safe-buffer": "5.1.2"
+              }
+            }
+          }
+        },
+        "through2": {
+          "version": "2.0.3",
+          "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+          "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
+          "requires": {
+            "readable-stream": "2.3.6",
+            "xtend": "4.0.1"
+          }
+        }
+      }
+    },
     "ms": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-      "dev": true
+      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+    },
+    "mute-stream": {
+      "version": "0.0.7",
+      "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz",
+      "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s="
+    },
+    "mx.ferreyra.callnumber": {
+      "version": "0.0.2",
+      "resolved": "https://registry.npmjs.org/mx.ferreyra.callnumber/-/mx.ferreyra.callnumber-0.0.2.tgz",
+      "integrity": "sha512-J9FJiMrfWG9Q8AQEz/cgYLcXTTD/Z5+vfq29hn8K7yVWjxkSzr7zFi7Dpn8wcv2iKHBHDJY+U0z8yoAzDugXMw=="
     },
     "nan": {
       "version": "2.10.0",
@@ -4422,8 +5838,7 @@
     "negotiator": {
       "version": "0.6.1",
       "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz",
-      "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=",
-      "dev": true
+      "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk="
     },
     "neo-async": {
       "version": "2.5.1",
@@ -4431,6 +5846,14 @@
       "integrity": "sha512-3KL3fvuRkZ7s4IFOMfztb7zJp3QaVWnBeGoJlgB38XnCRPj/0tLzzLG5IB8NYOHbJ8g8UGrgZv44GLDk6CxTxA==",
       "dev": true
     },
+    "nested-error-stacks": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-1.0.2.tgz",
+      "integrity": "sha1-GfYZWRUZ8JZ2mlupqG5u7sgjw88=",
+      "requires": {
+        "inherits": "2.0.3"
+      }
+    },
     "next-tick": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz",
@@ -4589,7 +6012,6 @@
       "version": "2.4.0",
       "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
       "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==",
-      "dev": true,
       "requires": {
         "hosted-git-info": "2.6.0",
         "is-builtin-module": "1.0.0",
@@ -4612,6 +6034,17 @@
       "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=",
       "dev": true
     },
+    "npm-package-arg": {
+      "version": "6.1.0",
+      "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-6.1.0.tgz",
+      "integrity": "sha512-zYbhP2k9DbJhA0Z3HKUePUgdB1x7MfIfKssC+WLPFMKTBZKpZh5m13PgexJjCq6KW7j17r0jHWcCpxEqnnncSA==",
+      "requires": {
+        "hosted-git-info": "2.6.0",
+        "osenv": "0.1.5",
+        "semver": "5.5.0",
+        "validate-npm-package-name": "3.0.0"
+      }
+    },
     "npm-run-path": {
       "version": "2.0.2",
       "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
@@ -4647,14 +6080,12 @@
     "oauth-sign": {
       "version": "0.8.2",
       "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
-      "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=",
-      "dev": true
+      "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM="
     },
     "object-assign": {
       "version": "4.1.1",
       "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
-      "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
-      "dev": true
+      "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
     },
     "object-copy": {
       "version": "0.1.0",
@@ -4737,11 +6168,15 @@
       "version": "2.3.0",
       "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
       "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
-      "dev": true,
       "requires": {
         "ee-first": "1.1.1"
       }
     },
+    "on-headers": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz",
+      "integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c="
+    },
     "once": {
       "version": "1.4.0",
       "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
@@ -4750,6 +6185,24 @@
         "wrappy": "1.0.2"
       }
     },
+    "onetime": {
+      "version": "1.1.0",
+      "resolved": "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz",
+      "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k="
+    },
+    "opener": {
+      "version": "1.4.2",
+      "resolved": "https://registry.npmjs.org/opener/-/opener-1.4.2.tgz",
+      "integrity": "sha1-syWCCABCr4aAw4mkmRdbTFT/9SM="
+    },
+    "opn": {
+      "version": "5.3.0",
+      "resolved": "https://registry.npmjs.org/opn/-/opn-5.3.0.tgz",
+      "integrity": "sha512-bYJHo/LOmoTd+pfiYhfZDnf9zekVJrY+cnS2a5F2x+w5ppvTqObojTP7WiFG+kVZs9Inw+qQ/lw7TroWwhdd2g==",
+      "requires": {
+        "is-wsl": "1.1.0"
+      }
+    },
     "options": {
       "version": "0.0.6",
       "resolved": "https://registry.npmjs.org/options/-/options-0.0.6.tgz",
@@ -4770,8 +6223,7 @@
     "os-homedir": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
-      "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
-      "dev": true
+      "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M="
     },
     "os-locale": {
       "version": "1.4.0",
@@ -4794,19 +6246,25 @@
     "os-tmpdir": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
-      "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
-      "dev": true
+      "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ="
     },
     "osenv": {
       "version": "0.1.5",
       "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
       "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
-      "dev": true,
       "requires": {
         "os-homedir": "1.0.2",
         "os-tmpdir": "1.0.2"
       }
     },
+    "osx-release": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/osx-release/-/osx-release-1.1.0.tgz",
+      "integrity": "sha1-8heRGigTaUmvG/kwiyQeJzfTzWw=",
+      "requires": {
+        "minimist": "1.2.0"
+      }
+    },
     "p-finally": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
@@ -4837,17 +6295,33 @@
       "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
       "dev": true
     },
+    "package-json": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/package-json/-/package-json-1.2.0.tgz",
+      "integrity": "sha1-yOysCUInzfdqMWh07QXifMk5oOA=",
+      "requires": {
+        "got": "3.3.1",
+        "registry-url": "3.1.0"
+      }
+    },
     "pako": {
       "version": "1.0.6",
       "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz",
       "integrity": "sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg==",
       "dev": true
     },
+    "parents": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz",
+      "integrity": "sha1-/t1NK/GTp3dF/nHjcdc8MwfZx1E=",
+      "requires": {
+        "path-platform": "0.11.15"
+      }
+    },
     "parse-asn1": {
       "version": "5.1.1",
       "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz",
       "integrity": "sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw==",
-      "dev": true,
       "requires": {
         "asn1.js": "4.10.1",
         "browserify-aes": "1.2.0",
@@ -4880,8 +6354,7 @@
     "parseurl": {
       "version": "1.3.2",
       "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz",
-      "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=",
-      "dev": true
+      "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M="
     },
     "pascalcase": {
       "version": "0.1.1",
@@ -4892,8 +6365,7 @@
     "path-browserify": {
       "version": "0.0.0",
       "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz",
-      "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=",
-      "dev": true
+      "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo="
     },
     "path-dirname": {
       "version": "1.0.2",
@@ -4924,8 +6396,12 @@
     "path-parse": {
       "version": "1.0.5",
       "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz",
-      "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=",
-      "dev": true
+      "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME="
+    },
+    "path-platform": {
+      "version": "0.11.15",
+      "resolved": "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz",
+      "integrity": "sha1-6GQhf3TDaFDwhSt43Hv31KVyG/I="
     },
     "path-to-regexp": {
       "version": "1.7.0",
@@ -4950,7 +6426,6 @@
       "version": "3.0.16",
       "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.16.tgz",
       "integrity": "sha512-y4CXP3thSxqf7c0qmOF+9UeOTrifiVTIM+u7NWlq+PRsHbr7r7dpCmvzrZxa96JJUNi0Y5w9VqG5ZNeCVMoDcA==",
-      "dev": true,
       "requires": {
         "create-hash": "1.2.0",
         "create-hmac": "1.1.7",
@@ -4959,11 +6434,15 @@
         "sha.js": "2.4.11"
       }
     },
+    "pegjs": {
+      "version": "0.10.0",
+      "resolved": "https://registry.npmjs.org/pegjs/-/pegjs-0.10.0.tgz",
+      "integrity": "sha1-z4uvrm7d/0tafvsYUmnqr0YQ3b0="
+    },
     "performance-now": {
       "version": "2.1.0",
       "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
-      "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
-      "dev": true
+      "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
     },
     "pify": {
       "version": "2.3.0",
@@ -4974,18 +6453,33 @@
     "pinkie": {
       "version": "2.0.4",
       "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
-      "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
-      "dev": true
+      "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA="
     },
     "pinkie-promise": {
       "version": "2.0.1",
       "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
       "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
-      "dev": true,
       "requires": {
         "pinkie": "2.0.4"
       }
     },
+    "plist": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.1.tgz",
+      "integrity": "sha512-GpgvHHocGRyQm74b6FWEZZVRroHKE1I0/BTjAmySaohK+cUn+hZpbqXkc3KWgW3gQYkqcQej35FohcT0FRlkRQ==",
+      "requires": {
+        "base64-js": "1.3.0",
+        "xmlbuilder": "9.0.7",
+        "xmldom": "0.1.27"
+      },
+      "dependencies": {
+        "xmlbuilder": {
+          "version": "9.0.7",
+          "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz",
+          "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0="
+        }
+      }
+    },
     "posix-character-classes": {
       "version": "0.1.1",
       "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
@@ -5027,6 +6521,11 @@
       "integrity": "sha1-h/OPnxj3dKSrTIojL1xc6IcqnRU=",
       "dev": true
     },
+    "prepend-http": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz",
+      "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw="
+    },
     "preserve": {
       "version": "0.2.0",
       "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz",
@@ -5041,8 +6540,7 @@
     "process": {
       "version": "0.11.10",
       "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
-      "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=",
-      "dev": true
+      "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI="
     },
     "process-es6": {
       "version": "0.11.6",
@@ -5053,14 +6551,29 @@
     "process-nextick-args": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
-      "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
-      "dev": true
+      "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw=="
     },
     "promise-polyfill": {
       "version": "8.0.0",
       "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-8.0.0.tgz",
       "integrity": "sha512-QGmPnw2hDEaRS6freHynJ7nfS1nDg0/P0c/CGglA43utoJjYQMiY9ojEpK0HaJ4wbUztdmwqQRlEfGWdsEQ5uQ=="
     },
+    "promzard": {
+      "version": "0.3.0",
+      "resolved": "https://registry.npmjs.org/promzard/-/promzard-0.3.0.tgz",
+      "integrity": "sha1-JqXW7ox97kyxIggwWs+5O6OCqe4=",
+      "requires": {
+        "read": "1.0.7"
+      }
+    },
+    "properties-parser": {
+      "version": "0.3.1",
+      "resolved": "https://registry.npmjs.org/properties-parser/-/properties-parser-0.3.1.tgz",
+      "integrity": "sha1-ExbpU5/7/ZOEXjabIRAiq9R4dxo=",
+      "requires": {
+        "string.prototype.codepointat": "0.2.1"
+      }
+    },
     "protobufjs": {
       "version": "5.0.3",
       "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-5.0.3.tgz",
@@ -5097,7 +6610,6 @@
       "version": "1.1.5",
       "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-1.1.5.tgz",
       "integrity": "sha1-ccDuOxAt4/IC87ZPYI0XP8uhqRg=",
-      "dev": true,
       "requires": {
         "forwarded": "0.1.2",
         "ipaddr.js": "1.4.0"
@@ -5125,7 +6637,6 @@
       "version": "4.0.2",
       "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.2.tgz",
       "integrity": "sha512-4kJ5Esocg8X3h8YgJsKAuoesBgB7mqH3eowiDzMUPKiRDDE7E/BqqZD1hnTByIaAFiwAw246YEltSq7tdrOH0Q==",
-      "dev": true,
       "requires": {
         "bn.js": "4.11.8",
         "browserify-rsa": "4.0.1",
@@ -5137,26 +6648,27 @@
     "punycode": {
       "version": "1.4.1",
       "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
-      "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
-      "dev": true
+      "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4="
+    },
+    "q": {
+      "version": "1.5.1",
+      "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
+      "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc="
     },
     "qs": {
       "version": "6.4.0",
       "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz",
-      "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=",
-      "dev": true
+      "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM="
     },
     "querystring": {
       "version": "0.2.0",
       "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
-      "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=",
-      "dev": true
+      "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA="
     },
     "querystring-es3": {
       "version": "0.2.1",
       "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
-      "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=",
-      "dev": true
+      "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM="
     },
     "randomatic": {
       "version": "3.0.0",
@@ -5187,7 +6699,6 @@
       "version": "2.0.6",
       "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz",
       "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==",
-      "dev": true,
       "requires": {
         "safe-buffer": "5.1.2"
       }
@@ -5196,7 +6707,6 @@
       "version": "1.0.4",
       "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz",
       "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
-      "dev": true,
       "requires": {
         "randombytes": "2.0.6",
         "safe-buffer": "5.1.2"
@@ -5205,8 +6715,7 @@
     "range-parser": {
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz",
-      "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=",
-      "dev": true
+      "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4="
     },
     "raw-body": {
       "version": "1.1.7",
@@ -5218,6 +6727,112 @@
         "string_decoder": "0.10.31"
       }
     },
+    "rc": {
+      "version": "1.2.8",
+      "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
+      "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
+      "requires": {
+        "deep-extend": "0.6.0",
+        "ini": "1.3.5",
+        "minimist": "1.2.0",
+        "strip-json-comments": "2.0.1"
+      }
+    },
+    "read": {
+      "version": "1.0.7",
+      "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz",
+      "integrity": "sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=",
+      "requires": {
+        "mute-stream": "0.0.7"
+      }
+    },
+    "read-all-stream": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/read-all-stream/-/read-all-stream-3.1.0.tgz",
+      "integrity": "sha1-NcPhd/IHjveJ7kv6+kNzB06u9Po=",
+      "requires": {
+        "pinkie-promise": "2.0.1",
+        "readable-stream": "2.3.6"
+      },
+      "dependencies": {
+        "isarray": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
+        },
+        "readable-stream": {
+          "version": "2.3.6",
+          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+          "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+          "requires": {
+            "core-util-is": "1.0.2",
+            "inherits": "2.0.3",
+            "isarray": "1.0.0",
+            "process-nextick-args": "2.0.0",
+            "safe-buffer": "5.1.2",
+            "string_decoder": "1.1.1",
+            "util-deprecate": "1.0.2"
+          }
+        },
+        "string_decoder": {
+          "version": "1.1.1",
+          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+          "requires": {
+            "safe-buffer": "5.1.2"
+          }
+        }
+      }
+    },
+    "read-only-stream": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz",
+      "integrity": "sha1-JyT9aoET1zdkrCiNQ4YnDB2/F/A=",
+      "requires": {
+        "readable-stream": "2.3.6"
+      },
+      "dependencies": {
+        "isarray": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
+        },
+        "readable-stream": {
+          "version": "2.3.6",
+          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+          "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+          "requires": {
+            "core-util-is": "1.0.2",
+            "inherits": "2.0.3",
+            "isarray": "1.0.0",
+            "process-nextick-args": "2.0.0",
+            "safe-buffer": "5.1.2",
+            "string_decoder": "1.1.1",
+            "util-deprecate": "1.0.2"
+          }
+        },
+        "string_decoder": {
+          "version": "1.1.1",
+          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+          "requires": {
+            "safe-buffer": "5.1.2"
+          }
+        }
+      }
+    },
+    "read-package-json": {
+      "version": "2.0.13",
+      "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-2.0.13.tgz",
+      "integrity": "sha512-/1dZ7TRZvGrYqE0UAfN6qQb5GYBsNcqS1C0tNK601CFOJmtHI7NIGXwetEPU/OtoFHZL3hDxm4rolFFVE9Bnmg==",
+      "requires": {
+        "glob": "7.1.1",
+        "graceful-fs": "4.1.11",
+        "json-parse-better-errors": "1.0.2",
+        "normalize-package-data": "2.4.0",
+        "slash": "1.0.0"
+      }
+    },
     "read-pkg": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
@@ -5294,6 +6909,23 @@
         }
       }
     },
+    "readline2": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz",
+      "integrity": "sha1-QQWWCP/BVHV7cV2ZidGZ/783LjU=",
+      "requires": {
+        "code-point-at": "1.1.0",
+        "is-fullwidth-code-point": "1.0.0",
+        "mute-stream": "0.0.5"
+      },
+      "dependencies": {
+        "mute-stream": {
+          "version": "0.0.5",
+          "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz",
+          "integrity": "sha1-j7+rsKmKJT0xhDMfno3rc3L6xsA="
+        }
+      }
+    },
     "recast": {
       "version": "0.10.43",
       "resolved": "https://registry.npmjs.org/recast/-/recast-0.10.43.tgz",
@@ -5312,6 +6944,14 @@
         }
       }
     },
+    "rechoir": {
+      "version": "0.6.2",
+      "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
+      "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=",
+      "requires": {
+        "resolve": "1.7.1"
+      }
+    },
     "redent": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz",
@@ -5346,6 +6986,14 @@
         "safe-regex": "1.1.0"
       }
     },
+    "registry-url": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz",
+      "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=",
+      "requires": {
+        "rc": "1.2.8"
+      }
+    },
     "remove-trailing-separator": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
@@ -5377,7 +7025,6 @@
       "version": "2.87.0",
       "resolved": "https://registry.npmjs.org/request/-/request-2.87.0.tgz",
       "integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==",
-      "dev": true,
       "requires": {
         "aws-sign2": "0.7.0",
         "aws4": "1.7.0",
@@ -5404,8 +7051,7 @@
         "qs": {
           "version": "6.5.2",
           "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
-          "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
-          "dev": true
+          "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="
         }
       }
     },
@@ -5425,7 +7071,6 @@
       "version": "1.7.1",
       "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz",
       "integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==",
-      "dev": true,
       "requires": {
         "path-parse": "1.0.5"
       }
@@ -5436,6 +7081,15 @@
       "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
       "dev": true
     },
+    "restore-cursor": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz",
+      "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=",
+      "requires": {
+        "exit-hook": "1.1.1",
+        "onetime": "1.1.0"
+      }
+    },
     "ret": {
       "version": "0.1.15",
       "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
@@ -5455,7 +7109,6 @@
       "version": "2.6.2",
       "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
       "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
-      "dev": true,
       "requires": {
         "glob": "7.1.1"
       }
@@ -5464,7 +7117,6 @@
       "version": "2.0.2",
       "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz",
       "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
-      "dev": true,
       "requires": {
         "hash-base": "3.0.4",
         "inherits": "2.0.3"
@@ -5587,6 +7239,19 @@
         "micromatch": "2.3.11"
       }
     },
+    "run-async": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz",
+      "integrity": "sha1-yK1KXhEGYeQCp9IbUw4AnyX444k=",
+      "requires": {
+        "once": "1.4.0"
+      }
+    },
+    "rx-lite": {
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz",
+      "integrity": "sha1-Gc5QLKVyZl87ZHsQk5+X/RYV8QI="
+    },
     "rxjs": {
       "version": "5.5.11",
       "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.11.tgz",
@@ -5605,8 +7270,7 @@
     "safe-buffer": {
       "version": "5.1.2",
       "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-      "dev": true
+      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
     },
     "safe-json-parse": {
       "version": "1.0.1",
@@ -5670,14 +7334,20 @@
     "semver": {
       "version": "5.5.0",
       "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz",
-      "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==",
-      "dev": true
+      "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA=="
+    },
+    "semver-diff": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz",
+      "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=",
+      "requires": {
+        "semver": "5.5.0"
+      }
     },
     "send": {
       "version": "0.15.3",
       "resolved": "https://registry.npmjs.org/send/-/send-0.15.3.tgz",
       "integrity": "sha1-UBP5+ZAj31DRvZiSwZ4979HVMwk=",
-      "dev": true,
       "requires": {
         "debug": "2.6.7",
         "depd": "1.1.2",
@@ -5698,7 +7368,6 @@
       "version": "1.12.3",
       "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.12.3.tgz",
       "integrity": "sha1-n0uhni8wMMVH+K+ZEHg47DjVseI=",
-      "dev": true,
       "requires": {
         "encodeurl": "1.0.2",
         "escape-html": "1.0.3",
@@ -5755,19 +7424,26 @@
     "setprototypeof": {
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz",
-      "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=",
-      "dev": true
+      "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ="
     },
     "sha.js": {
       "version": "2.4.11",
       "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
       "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
-      "dev": true,
       "requires": {
         "inherits": "2.0.3",
         "safe-buffer": "5.1.2"
       }
     },
+    "shasum": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/shasum/-/shasum-1.0.2.tgz",
+      "integrity": "sha1-5wEjENj0F/TetXEhUOVni4euVl8=",
+      "requires": {
+        "json-stable-stringify": "0.0.1",
+        "sha.js": "2.4.11"
+      }
+    },
     "shebang-command": {
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
@@ -5783,12 +7459,75 @@
       "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
       "dev": true
     },
+    "shell-quote": {
+      "version": "1.6.1",
+      "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz",
+      "integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=",
+      "requires": {
+        "array-filter": "0.0.1",
+        "array-map": "0.0.0",
+        "array-reduce": "0.0.0",
+        "jsonify": "0.0.0"
+      }
+    },
+    "shelljs": {
+      "version": "0.8.2",
+      "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.2.tgz",
+      "integrity": "sha512-pRXeNrCA2Wd9itwhvLp5LZQvPJ0wU6bcjaTMywHHGX5XWhVN2nzSu7WV0q+oUY7mGK3mgSkDDzP3MgjqdyIgbQ==",
+      "requires": {
+        "glob": "7.1.1",
+        "interpret": "1.1.0",
+        "rechoir": "0.6.2"
+      }
+    },
     "signal-exit": {
       "version": "3.0.2",
       "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
       "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
       "dev": true
     },
+    "simple-plist": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/simple-plist/-/simple-plist-0.2.1.tgz",
+      "integrity": "sha1-cXZts1IyaSjPOoByQrp2IyJjZyM=",
+      "requires": {
+        "bplist-creator": "0.0.7",
+        "bplist-parser": "0.1.1",
+        "plist": "2.0.1"
+      },
+      "dependencies": {
+        "base64-js": {
+          "version": "1.1.2",
+          "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.1.2.tgz",
+          "integrity": "sha1-1kAMrBxMZgl22Q0HoENR2JOV9eg="
+        },
+        "plist": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/plist/-/plist-2.0.1.tgz",
+          "integrity": "sha1-CjLKlIGxw2TpLhjcVch23p0B2os=",
+          "requires": {
+            "base64-js": "1.1.2",
+            "xmlbuilder": "8.2.2",
+            "xmldom": "0.1.27"
+          }
+        },
+        "xmlbuilder": {
+          "version": "8.2.2",
+          "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-8.2.2.tgz",
+          "integrity": "sha1-aSSGc0ELS6QuGmE2VR0pIjNap3M="
+        }
+      }
+    },
+    "slash": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
+      "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU="
+    },
+    "slide": {
+      "version": "1.1.6",
+      "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz",
+      "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc="
+    },
     "snapdragon": {
       "version": "0.8.2",
       "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
@@ -5897,6 +7636,14 @@
         "kind-of": "3.2.2"
       }
     },
+    "sntp": {
+      "version": "1.0.9",
+      "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz",
+      "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=",
+      "requires": {
+        "hoek": "2.16.3"
+      }
+    },
     "source-list-map": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.0.tgz",
@@ -5939,7 +7686,6 @@
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz",
       "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==",
-      "dev": true,
       "requires": {
         "spdx-expression-parse": "3.0.0",
         "spdx-license-ids": "3.0.0"
@@ -5948,14 +7694,12 @@
     "spdx-exceptions": {
       "version": "2.1.0",
       "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz",
-      "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==",
-      "dev": true
+      "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg=="
     },
     "spdx-expression-parse": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz",
       "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==",
-      "dev": true,
       "requires": {
         "spdx-exceptions": "2.1.0",
         "spdx-license-ids": "3.0.0"
@@ -5964,8 +7708,7 @@
     "spdx-license-ids": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz",
-      "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==",
-      "dev": true
+      "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA=="
     },
     "split-string": {
       "version": "3.1.0",
@@ -5986,7 +7729,6 @@
       "version": "1.14.1",
       "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.1.tgz",
       "integrity": "sha1-Ew9Zde3a2WPx1W+SuaxsUfqfg+s=",
-      "dev": true,
       "requires": {
         "asn1": "0.2.3",
         "assert-plus": "1.0.0",
@@ -6022,8 +7764,7 @@
     "statuses": {
       "version": "1.3.1",
       "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz",
-      "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=",
-      "dev": true
+      "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4="
     },
     "stdout-stream": {
       "version": "1.4.0",
@@ -6070,7 +7811,6 @@
       "version": "2.0.1",
       "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz",
       "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=",
-      "dev": true,
       "requires": {
         "inherits": "2.0.3",
         "readable-stream": "2.3.6"
@@ -6079,14 +7819,55 @@
         "isarray": {
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-          "dev": true
+          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
+        },
+        "readable-stream": {
+          "version": "2.3.6",
+          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+          "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+          "requires": {
+            "core-util-is": "1.0.2",
+            "inherits": "2.0.3",
+            "isarray": "1.0.0",
+            "process-nextick-args": "2.0.0",
+            "safe-buffer": "5.1.2",
+            "string_decoder": "1.1.1",
+            "util-deprecate": "1.0.2"
+          }
+        },
+        "string_decoder": {
+          "version": "1.1.1",
+          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+          "requires": {
+            "safe-buffer": "5.1.2"
+          }
+        }
+      }
+    },
+    "stream-buffers": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-2.2.0.tgz",
+      "integrity": "sha1-kdX1Ew0c75bc+n9yaUUYh0HQnuQ="
+    },
+    "stream-combiner2": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz",
+      "integrity": "sha1-+02KFCDqNidk4hrUeAOXvry0HL4=",
+      "requires": {
+        "duplexer2": "0.1.4",
+        "readable-stream": "2.3.6"
+      },
+      "dependencies": {
+        "isarray": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
         },
         "readable-stream": {
           "version": "2.3.6",
           "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
           "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
-          "dev": true,
           "requires": {
             "core-util-is": "1.0.2",
             "inherits": "2.0.3",
@@ -6101,7 +7882,6 @@
           "version": "1.1.1",
           "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
           "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "dev": true,
           "requires": {
             "safe-buffer": "5.1.2"
           }
@@ -6112,7 +7892,6 @@
       "version": "2.8.2",
       "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.2.tgz",
       "integrity": "sha512-QllfrBhqF1DPcz46WxKTs6Mz1Bpc+8Qm6vbqOpVav5odAXwbyzwnEczoWqtxrsmlO+cJqtPrp/8gWKWjaKLLlA==",
-      "dev": true,
       "requires": {
         "builtin-status-codes": "3.0.0",
         "inherits": "2.0.3",
@@ -6124,14 +7903,12 @@
         "isarray": {
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-          "dev": true
+          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
         },
         "readable-stream": {
           "version": "2.3.6",
           "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
           "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
-          "dev": true,
           "requires": {
             "core-util-is": "1.0.2",
             "inherits": "2.0.3",
@@ -6146,13 +7923,63 @@
           "version": "1.1.1",
           "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
           "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "dev": true,
           "requires": {
             "safe-buffer": "5.1.2"
           }
         }
       }
     },
+    "stream-shift": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz",
+      "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI="
+    },
+    "stream-splicer": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.0.tgz",
+      "integrity": "sha1-G2O+Q4oTPktnHMGTUZdgAXWRDYM=",
+      "requires": {
+        "inherits": "2.0.3",
+        "readable-stream": "2.3.6"
+      },
+      "dependencies": {
+        "isarray": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
+        },
+        "readable-stream": {
+          "version": "2.3.6",
+          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+          "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+          "requires": {
+            "core-util-is": "1.0.2",
+            "inherits": "2.0.3",
+            "isarray": "1.0.0",
+            "process-nextick-args": "2.0.0",
+            "safe-buffer": "5.1.2",
+            "string_decoder": "1.1.1",
+            "util-deprecate": "1.0.2"
+          }
+        },
+        "string_decoder": {
+          "version": "1.1.1",
+          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+          "requires": {
+            "safe-buffer": "5.1.2"
+          }
+        }
+      }
+    },
+    "string-length": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/string-length/-/string-length-1.0.1.tgz",
+      "integrity": "sha1-VpcPscOFWOnnC3KL894mmsRa36w=",
+      "requires": {
+        "strip-ansi": "3.0.1"
+      }
+    },
     "string-range": {
       "version": "1.2.2",
       "resolved": "https://registry.npmjs.org/string-range/-/string-range-1.2.2.tgz",
@@ -6175,11 +8002,21 @@
         "strip-ansi": "3.0.1"
       }
     },
+    "string.prototype.codepointat": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/string.prototype.codepointat/-/string.prototype.codepointat-0.2.1.tgz",
+      "integrity": "sha512-2cBVCj6I4IOvEnjgO/hWqXjqBGsY+zwPmHl12Srk9IXSZ56Jwwmy+66XO5Iut/oQVR7t5ihYdLB0GMa4alEUcg=="
+    },
     "string_decoder": {
       "version": "0.10.31",
       "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
       "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ="
     },
+    "stringstream": {
+      "version": "0.0.6",
+      "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.6.tgz",
+      "integrity": "sha512-87GEBAkegbBcweToUrdzf3eLhWNg06FJTebl4BVJz/JgWy8CvEr9dRtX5qWphiynMSQlxxi+QqN0z5T32SLlhA=="
+    },
     "strip-ansi": {
       "version": "3.0.1",
       "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
@@ -6212,6 +8049,19 @@
         "get-stdin": "4.0.1"
       }
     },
+    "strip-json-comments": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
+      "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo="
+    },
+    "subarg": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz",
+      "integrity": "sha1-9izxdYHplrSPyWVpn1TAauJouNI=",
+      "requires": {
+        "minimist": "1.2.0"
+      }
+    },
     "supports-color": {
       "version": "5.4.0",
       "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
@@ -6230,6 +8080,14 @@
         "serviceworker-cache-polyfill": "4.0.0"
       }
     },
+    "syntax-error": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz",
+      "integrity": "sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==",
+      "requires": {
+        "acorn-node": "1.3.0"
+      }
+    },
     "tapable": {
       "version": "0.2.8",
       "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.2.8.tgz",
@@ -6240,7 +8098,6 @@
       "version": "2.2.1",
       "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz",
       "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=",
-      "dev": true,
       "requires": {
         "block-stream": "0.0.9",
         "fstream": "1.0.11",
@@ -6261,6 +8118,11 @@
         "xtend": "4.0.1"
       }
     },
+    "timed-out": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-2.0.0.tgz",
+      "integrity": "sha1-84sK6B03R9YoAB9B2vxlKs5nHAo="
+    },
     "timers-browserify": {
       "version": "2.0.10",
       "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz",
@@ -6304,8 +8166,7 @@
     "to-arraybuffer": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
-      "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=",
-      "dev": true
+      "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M="
     },
     "to-object-path": {
       "version": "0.3.0",
@@ -6353,7 +8214,6 @@
       "version": "2.3.4",
       "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz",
       "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==",
-      "dev": true,
       "requires": {
         "punycode": "1.4.1"
       }
@@ -6450,14 +8310,12 @@
     "tty-browserify": {
       "version": "0.0.0",
       "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
-      "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=",
-      "dev": true
+      "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY="
     },
     "tunnel-agent": {
       "version": "0.6.0",
       "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
       "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
-      "dev": true,
       "requires": {
         "safe-buffer": "5.1.2"
       }
@@ -6466,14 +8324,12 @@
       "version": "0.14.5",
       "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
       "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
-      "dev": true,
       "optional": true
     },
     "type-is": {
       "version": "1.6.16",
       "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz",
       "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==",
-      "dev": true,
       "requires": {
         "media-typer": "0.3.0",
         "mime-types": "2.1.18"
@@ -6482,8 +8338,7 @@
     "typedarray": {
       "version": "0.0.6",
       "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
-      "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
-      "dev": true
+      "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
     },
     "typedarray-to-buffer": {
       "version": "1.0.4",
@@ -6587,6 +8442,16 @@
       "integrity": "sha1-rOEWq1V80Zc4ak6I9GhTeMiy5Po=",
       "dev": true
     },
+    "umd": {
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/umd/-/umd-3.0.3.tgz",
+      "integrity": "sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow=="
+    },
+    "underscore": {
+      "version": "1.9.1",
+      "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz",
+      "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg=="
+    },
     "union-value": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz",
@@ -6628,11 +8493,15 @@
       "integrity": "sha1-+nG63UQ3r0wUiEHjs7Fl+enlkLc=",
       "dev": true
     },
+    "unorm": {
+      "version": "1.4.1",
+      "resolved": "https://registry.npmjs.org/unorm/-/unorm-1.4.1.tgz",
+      "integrity": "sha1-NkIA1fE2RsqLzURJAnEzVhR5IwA="
+    },
     "unpipe": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
-      "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
-      "dev": true
+      "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
     },
     "unreachable-branch-transform": {
       "version": "0.3.0",
@@ -6702,6 +8571,50 @@
       "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==",
       "dev": true
     },
+    "update-notifier": {
+      "version": "0.5.0",
+      "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-0.5.0.tgz",
+      "integrity": "sha1-B7XcIGazYnqztPUwEw9+3doHpMw=",
+      "requires": {
+        "chalk": "1.1.3",
+        "configstore": "1.4.0",
+        "is-npm": "1.0.0",
+        "latest-version": "1.0.1",
+        "repeating": "1.1.3",
+        "semver-diff": "2.1.0",
+        "string-length": "1.0.1"
+      },
+      "dependencies": {
+        "configstore": {
+          "version": "1.4.0",
+          "resolved": "https://registry.npmjs.org/configstore/-/configstore-1.4.0.tgz",
+          "integrity": "sha1-w1eB0FAdJowlxUuLF/YkDopPsCE=",
+          "requires": {
+            "graceful-fs": "4.1.11",
+            "mkdirp": "0.5.1",
+            "object-assign": "4.1.1",
+            "os-tmpdir": "1.0.2",
+            "osenv": "0.1.5",
+            "uuid": "2.0.3",
+            "write-file-atomic": "1.3.4",
+            "xdg-basedir": "2.0.0"
+          }
+        },
+        "repeating": {
+          "version": "1.1.3",
+          "resolved": "https://registry.npmjs.org/repeating/-/repeating-1.1.3.tgz",
+          "integrity": "sha1-PUEUIYh3U3SU+X93+Xhfq4EPpKw=",
+          "requires": {
+            "is-finite": "1.0.2"
+          }
+        },
+        "uuid": {
+          "version": "2.0.3",
+          "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz",
+          "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho="
+        }
+      }
+    },
     "uri-js": {
       "version": "4.2.2",
       "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
@@ -6729,7 +8642,6 @@
       "version": "0.11.0",
       "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
       "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
-      "dev": true,
       "requires": {
         "punycode": "1.3.2",
         "querystring": "0.2.0"
@@ -6738,8 +8650,7 @@
         "punycode": {
           "version": "1.3.2",
           "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
-          "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=",
-          "dev": true
+          "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0="
         }
       }
     },
@@ -6764,7 +8675,6 @@
       "version": "0.10.3",
       "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
       "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
-      "dev": true,
       "requires": {
         "inherits": "2.0.1"
       },
@@ -6772,50 +8682,56 @@
         "inherits": {
           "version": "2.0.1",
           "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
-          "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=",
-          "dev": true
+          "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE="
         }
       }
     },
     "util-deprecate": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
-      "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
-      "dev": true
+      "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
     },
     "utils-merge": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz",
-      "integrity": "sha1-ApT7kiu5N1FTVBxPcJYjHyh8ivg=",
-      "dev": true
+      "integrity": "sha1-ApT7kiu5N1FTVBxPcJYjHyh8ivg="
     },
     "uuid": {
       "version": "3.2.1",
       "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz",
-      "integrity": "sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA==",
-      "dev": true
+      "integrity": "sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA=="
+    },
+    "valid-identifier": {
+      "version": "0.0.1",
+      "resolved": "https://registry.npmjs.org/valid-identifier/-/valid-identifier-0.0.1.tgz",
+      "integrity": "sha1-7x1wk6nTKH4/zpLfkW+GFrI/kLQ="
     },
     "validate-npm-package-license": {
       "version": "3.0.3",
       "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz",
       "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==",
-      "dev": true,
       "requires": {
         "spdx-correct": "3.0.0",
         "spdx-expression-parse": "3.0.0"
       }
     },
+    "validate-npm-package-name": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz",
+      "integrity": "sha1-X6kS2B630MdK/BQN5zF/DKffQ34=",
+      "requires": {
+        "builtins": "1.0.3"
+      }
+    },
     "vary": {
       "version": "1.1.2",
       "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
-      "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=",
-      "dev": true
+      "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
     },
     "verror": {
       "version": "1.10.0",
       "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
       "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
-      "dev": true,
       "requires": {
         "assert-plus": "1.0.0",
         "core-util-is": "1.0.2",
@@ -6832,7 +8748,6 @@
       "version": "0.0.4",
       "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz",
       "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=",
-      "dev": true,
       "requires": {
         "indexof": "0.0.1"
       }
@@ -7466,7 +9381,6 @@
       "version": "1.1.1",
       "resolved": "https://registry.npmjs.org/win-release/-/win-release-1.1.1.tgz",
       "integrity": "sha1-X6VeAr58qTTt/BJmVjLoSbcuUgk=",
-      "dev": true,
       "requires": {
         "semver": "5.5.0"
       }
@@ -7497,6 +9411,16 @@
       "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
       "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
     },
+    "write-file-atomic": {
+      "version": "1.3.4",
+      "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz",
+      "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=",
+      "requires": {
+        "graceful-fs": "4.1.11",
+        "imurmurhash": "0.1.4",
+        "slide": "1.1.6"
+      }
+    },
     "ws": {
       "version": "1.1.1",
       "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.1.tgz",
@@ -7507,6 +9431,31 @@
         "ultron": "1.0.2"
       }
     },
+    "xcode": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/xcode/-/xcode-1.0.0.tgz",
+      "integrity": "sha1-4fWxRDJF3tOMGAeW3xoQ/e2ghOw=",
+      "requires": {
+        "pegjs": "0.10.0",
+        "simple-plist": "0.2.1",
+        "uuid": "3.0.1"
+      },
+      "dependencies": {
+        "uuid": {
+          "version": "3.0.1",
+          "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.0.1.tgz",
+          "integrity": "sha1-ZUS7ot/ajBzxfmKaOjBeK7H+5sE="
+        }
+      }
+    },
+    "xdg-basedir": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-2.0.0.tgz",
+      "integrity": "sha1-7byQPMOF/ARSPZZqM1UEtVBNG9I=",
+      "requires": {
+        "os-homedir": "1.0.2"
+      }
+    },
     "xml2js": {
       "version": "0.4.17",
       "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.17.tgz",
@@ -7526,6 +9475,11 @@
         "lodash": "4.17.10"
       }
     },
+    "xmldom": {
+      "version": "0.1.27",
+      "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.27.tgz",
+      "integrity": "sha1-1QH5ezvbQDr4757MIFcxh6rawOk="
+    },
     "xmlhttprequest": {
       "version": "1.8.0",
       "resolved": "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz",
diff --git a/package.json b/package.json
index 312cd93..9b85079 100644
--- a/package.json
+++ b/package.json
@@ -28,13 +28,15 @@
         "@ionic-native/google-plus": "^4.7.0",
         "@ionic-native/location-accuracy": "^4.7.0",
         "@ionic-native/network": "^4.7.0",
+        "@ionic-native/onesignal": "^4.7.0",
         "@ionic-native/splash-screen": "3.12.1",
         "@ionic-native/status-bar": "3.12.1",
         "@ionic-native/toast": "^4.7.0",
         "@ionic/storage": "2.0.1",
         "angularfire2": "^5.0.0-rc.10",
         "call-number": "^1.0.1",
-        "cordova-android": "^7.1.0",
+        "cordova": "^8.0.0",
+        "cordova-android": "7.1.0",
         "cordova-plugin-datepicker": "^0.9.3",
         "cordova-plugin-device": "^1.1.4",
         "cordova-plugin-facebook4": "^1.9.1",
@@ -50,6 +52,7 @@
         "ionic-angular": "3.7.0",
         "ionic-plugin-keyboard": "^2.2.1",
         "ionicons": "3.0.0",
+        "mx.ferreyra.callnumber": "~0.0.2",
         "promise-polyfill": "^8.0.0",
         "rxjs": "^5.5.11",
         "sw-toolbox": "3.6.0",
diff --git a/src/app/app.component.ts b/src/app/app.component.ts
index a101f98..36667d6 100644
--- a/src/app/app.component.ts
+++ b/src/app/app.component.ts
@@ -7,6 +7,7 @@ import { user } from '../models/mymodel'
 import { Myservice } from "../providers/myservice";
 import { LocationAccuracy } from '@ionic-native/location-accuracy';
 import { Network } from '@ionic-native/network';
+import { OneSignal } from '@ionic-native/onesignal';
 
 @Component({
   templateUrl: 'app.html'
@@ -17,7 +18,7 @@ export class MyApp {
   rootPage: string ;
   local:user;
 
-  constructor(public platform: Platform, public statusBar: StatusBar, public splashScreen: SplashScreen, public storage: Storage, public events: Events, private myservice: Myservice, private locationAccuracy: LocationAccuracy, private network: Network, public alertCtrl: AlertController) {
+  constructor(public platform: Platform, public statusBar: StatusBar, public splashScreen: SplashScreen, public storage: Storage, public events: Events, private myservice: Myservice, private locationAccuracy: LocationAccuracy, private network: Network, public alertCtrl: AlertController, private oneSignal: OneSignal) {
     this.initializeApp();
   }
 
@@ -46,6 +47,7 @@ export class MyApp {
     this.statusBar.styleDefault();
     this.splashScreen.hide();
       // this.enableLoc();
+      // this.initOnesignal()
 
       this.network.onDisconnect().subscribe(() => {
 
@@ -71,6 +73,21 @@ export class MyApp {
     });
   }
 
+  initOnesignal() {
+    this.oneSignal.startInit('', '');
+
+    this.oneSignal.inFocusDisplaying(this.oneSignal.OSInFocusDisplayOption.InAppAlert);
+
+    this.oneSignal.handleNotificationReceived().subscribe(() => {
+      // do something when notification is received
+    });
+
+    this.oneSignal.handleNotificationOpened().subscribe(() => {
+      // do something when a notification is opened
+    });
+
+    this.oneSignal.endInit();}
+
   enableLoc(){
     this.locationAccuracy.canRequest().then((canRequest: boolean) => {
 
diff --git a/src/app/app.module.ts b/src/app/app.module.ts
index 06ba9e0..57fa58f 100644
--- a/src/app/app.module.ts
+++ b/src/app/app.module.ts
@@ -22,6 +22,7 @@ import { SubjectService } from "../providers/subject.service";
 import { dataService } from "../providers/common.service";
 import { Network } from '@ionic-native/network';
 import { CallNumber } from '@ionic-native/call-number';
+import { OneSignal } from '@ionic-native/onesignal';
 
 export const firebaseConfig = {
   apiKey: "AIzaSyDLrbLd4RCCh86xuTVu7-cfJ28We_cG1sU",
@@ -64,6 +65,7 @@ export const firebaseConfig = {
     dataService,
     Network,
     CallNumber,
+    OneSignal,
   ]
 })
 export class AppModule {}
diff --git a/src/assets/css/essential.scss b/src/assets/css/essential.scss
index fd4d7ac..66cb130 100644
--- a/src/assets/css/essential.scss
+++ b/src/assets/css/essential.scss
@@ -193,4 +193,23 @@
 .estim_li{padding-top: 5px !important;}
 .button-md:hover:not(.disable-hover) {
     background: #f7941e;
+}
+
+.loader {
+  border: 7px solid #fff;
+  border-radius: 50%;
+  border-top: 10px solid #ff9000;
+  width: 50px;
+  height: 50px;
+  -webkit-animation: spin 2s linear infinite; /* Safari */
+  animation: spin 2s linear infinite;
+}
+@-webkit-keyframes spin {
+  0% { -webkit-transform: rotate(0deg); }
+  100% { -webkit-transform: rotate(360deg); }
+}
+
+@keyframes spin {
+  0% { transform: rotate(0deg); }
+  100% { transform: rotate(360deg); }
 }
\ No newline at end of file
diff --git a/src/assets/img/jr_blue_circle.png b/src/assets/img/jr_blue_circle.png
new file mode 100644
index 0000000..1ddd4d0
Binary files /dev/null and b/src/assets/img/jr_blue_circle.png differ
diff --git a/src/assets/img/jr_orange_circle.png b/src/assets/img/jr_orange_circle.png
new file mode 100644
index 0000000..ab4fe11
Binary files /dev/null and b/src/assets/img/jr_orange_circle.png differ
diff --git a/src/assets/img/jr_star.png b/src/assets/img/jr_star.png
new file mode 100644
index 0000000..f32913b
Binary files /dev/null and b/src/assets/img/jr_star.png differ
diff --git a/src/pages/addcoupon/addcoupon.ts b/src/pages/addcoupon/addcoupon.ts
index ece5a17..ea316cd 100644
--- a/src/pages/addcoupon/addcoupon.ts
+++ b/src/pages/addcoupon/addcoupon.ts
@@ -50,7 +50,7 @@ export class AddcouponPage {
       this.navCtrl.push('ConfirmridePage');
     }
     else
-      this.navCtrl.push('');
+      this.navCtrl.push('RidedetailPage');
     }
 
   checkCode() {
diff --git a/src/pages/confirmride/confirmride.ts b/src/pages/confirmride/confirmride.ts
index 437d7f0..d9904c5 100644
--- a/src/pages/confirmride/confirmride.ts
+++ b/src/pages/confirmride/confirmride.ts
@@ -23,9 +23,12 @@ export class ConfirmridePage {
     this.storage.get('user_data').then(data => {
       if (data) {
         this.local = data;
+
         this.book = this.data.getbookingData()
         console.log(this.book)
-        var bdata = { 'book_date': this.book.date, 'drop_area': this.book.dropArea, 'pickup_area': this.book.pickArea, 'taxi_type': this.book.carDetails.car_type, 'amount': '', 'km': '', 'promocode': this.book.promocode, 'token': this.local.token, 'userid': this.local.id }
+
+        var bdata = { 'book_date': this.book.date, 'drop_area': this.book.dropArea, 'pickup_area': this.book.pickArea, 'taxi_type': this.book.carDetails.car_type, 'amount': '', 'km': '', 'promocode': this.book.promocode, 'token': this.local.token, 'userid': this.local.id, 'type': 'later' }
+
         this.myservice.load_post(bdata, 'book_cab').subscribe(response => {
           this.myservice.hide_loader()
           if (response.status == 'success') {
diff --git a/src/pages/home/home.ts b/src/pages/home/home.ts
index 8883f69..a6a9136 100644
--- a/src/pages/home/home.ts
+++ b/src/pages/home/home.ts
@@ -40,6 +40,9 @@ export class HomePage {
   }
 
   ionViewDidEnter() {
+    this.myservice.load_post({},'test').subscribe(response=>{
+      
+    })
     this.data.setbookingData('')
 
     this.storage.get('user_data').then(data=>{
diff --git a/src/pages/map/map.html b/src/pages/map/map.html
new file mode 100644
index 0000000..2932d22
--- /dev/null
+++ b/src/pages/map/map.html
@@ -0,0 +1,24 @@
+<ion-header class="jr_theme_color jr_header">
+    <button ion-button class="jr_left jr_header_btn jr_back_icon" (click)="goBack()"></button>
+    <div class="jr_header_title">
+      <h4>Map</h4>
+    </div>
+    <button ion-button class="jr_right jr_header_btn"></button>
+    <div class="jr_clear"></div>
+  </ion-header>
+
+<ion-content>
+    <div #map id="map"></div>
+    <div class="jr_bottom_distance_card">
+      <div class="jr_bottom_inside">
+        <input class="jr_dest_input from" placeholder="HSR Layout, Kormangala,Bengalure">
+        <input class="jr_dest_input to" placeholder="Jalihalli, Outercity, Bengaluru">
+      </div>
+    </div>
+    
+</ion-content>
+<ion-footer>
+  <div class="jr_bottom_button_bay">
+      <button ion-button class="jr_offer_ride2">Cancel</button>
+    </div>
+  </ion-footer>
diff --git a/src/pages/map/map.module.ts b/src/pages/map/map.module.ts
new file mode 100644
index 0000000..f74e195
--- /dev/null
+++ b/src/pages/map/map.module.ts
@@ -0,0 +1,16 @@
+import { NgModule } from '@angular/core';
+import { IonicPageModule } from 'ionic-angular';
+import { MapPage } from './map';
+
+@NgModule({
+  declarations: [
+    MapPage,
+  ],
+  imports: [
+    IonicPageModule.forChild(MapPage),
+  ],
+  exports: [
+    MapPage
+  ]
+})
+export class MapPageModule {}
diff --git a/src/pages/map/map.scss b/src/pages/map/map.scss
new file mode 100644
index 0000000..8ba13eb
--- /dev/null
+++ b/src/pages/map/map.scss
@@ -0,0 +1,632 @@
+page-map {
+ 
+        .scroll {
+          height: 100%
+        }
+   
+        #map {
+          width: 100%;
+          height: 100%;
+        }
+
+
+  
+.jr_theme_color{background: #ff9000 !important;border:1px solid #ff9000;}
+.jr_theme_color1{background:#f1672f !important;}
+.jr_left{float: left !important;}
+.jr_right{float: right !important;}
+.jr_clear{clear: both;}
+.jr_text_center{text-align: center !important;}
+.jr_padding0{padding:0px !important;}
+.jr_paddingtop0{padding-top:0px !important;}
+.jr_margin0{margin:0px !important;}
+.jr_paddingbtm0{padding-bottom:0px !important;}
+.jr_marginbtm0{margin-bottom:0px !important;}
+.jr_margintop0{margin-top:0px !important;}
+.jr_bordernone{border:none !important;}
+.jr_bg_none{background:none !important;}
+.jr_transparent{background:rgba(0,0,0,0.8) !important;}
+.button-md.activated {background-color:none !important;box-shadow:none !important;}
+.button-md{box-shadow: none !important;}
+
+
+/*LANDING-PAGE*/
+
+.jr_landing_bg{background:url("../assets/img/jr_landing_bg.png") !important;background-repeat: no-repeat !important;background-position: center bottom !important;background-size: 100% !important;position: relative;}
+.jr_login_bg{background:url("../assets/img/jr_login_bg.png") !important;background-repeat: no-repeat !important;background-position: center bottom !important;background-size: 100% !important;position: relative;}
+.jr_sidemenu_bg{background:url("../assets/img/jr_sidemenu_bg.png") !important;background-repeat: no-repeat !important;height: 100%;background-position: center bottom !important;    padding: 50px;
+background-size:cover !important;position: relative;}
+.jr_landing_overlay{background:linear-gradient(rgba(241, 103, 46, 0.8),  rgba(239, 89, 124, 0.8));}
+.jr_landing_overlay1{background:linear-gradient(rgba(32, 119, 163, 0.8),  rgba(43, 30, 65, 0.8));}
+.jr_slide{text-align: center;}
+.jr_slide img{width:200px;margin-top: 10px;}
+.jr_slide h4{color: #fff;font-size:24px;font-weight:200;margin:0px;}
+.jr_slide h3{color: #fff;font-size:35px;margin:0px;padding-top:5px;padding-bottom: 5px;}
+.jr_slide p{color: #fff;font-size:14px;font-weight:300;    padding-top: 15px;    line-height: 20px;}
+.jr_space{width:100%;height:0px;}
+.jr_landing_btm{position: fixed;width:100%;bottom:50px;z-index: 9;    text-align: center;left:0px;right:0px;}
+.jr_slide hr{border:1px solid #fff;width:40px;border-bottom: 1px solid #fff;border-top: 1px solid #fff;border-radius: 5px;    margin-top: 25px;height: 0px;}
+.jr_btm_btn{height:40px;border-radius:20px;background: #000000;color: #fff;font-family: 'Roboto', sans-serif;padding-left: 20px;padding-right: 20px;-webkit-transition: width 2s; /* For Safari 3.1 to 6.0 */
+    transition: width 2s;width: 120px;margin: 0 auto;text-align: center;font-size: 15px;padding: 10px;border:none;    text-transform: capitalize;}
+.jr_slider_inner{width:80%;margin:0 auto;position: absolute;left:0px;right:0px;top:10%;}
+.jr_btm_btn img{width:8px;}
+.jr_icon_bar{display: inline-block;width:100%;text-align: center;}
+.jr_icon_bar span{display: inline-block;margin-left: 5px;margin-right: 5px;}
+.jr_icon_bar span img{width:30px;}
+.jr_last_slide_btn_bar{width:100%;text-align: center;}
+.jr_strtd_btn{height:40px;border-radius:20px;background: #ffba00;color: #382c59;font-family: 'Roboto', sans-serif;padding-left: 20px;padding-right: 20px;-webkit-transition: width 2s; /* For Safari 3.1 to 6.0 */
+    transition: width 2s;width: 140px;margin: 0 auto;text-align: center;font-size: 15px;padding: 10px;border:none; }
+.jr_sign_bar{width:100%;text-align: center;}
+.jr_sign_bar ul{margin:0px;padding:0px;}
+.jr_sign_bar ul li{display: inline-block;border:1px solid #fff;color: #fff;height:40px;border-radius:20px;padding-left: 20px;padding-right: 20px;text-align: center;font-size: 15px;padding: 10px;background: transparent !important;width:115px !important;margin:20px;}
+.swiper-pagination{display: block !important;}
+.swiper-pagination-bullet{background: #fff;border:1px solid #fff;}
+
+/*HOME*/
+
+.jr_header_btn{width:40px;height:40px;background: transparent;box-shadow: none;}
+.jr_sidemenu_icon{background:url("../assets/img/jr_sidemenu_icon.png") !important;background-repeat: no-repeat !important;background-position: center !important;background-size:20px !important;}
+.jr_back_icon{background:url("../assets/img/jr_back_arrow_icon.png") !important;background-repeat: no-repeat !important;background-position: center !important;background-size:12px !important;}
+.jr_close_icon{background:url("../assets/img/jr_close.png") !important;background-repeat: no-repeat !important;background-position: center !important;background-size:12px !important;}
+.jr_mail_icon{background:url("../assets/img/jr_mail.png") !important;background-repeat: no-repeat !important;background-position: center !important;background-size:20px !important;}
+.jr_profile_icon{background:url("../assets/img/jr_profile.png") !important;background-repeat: no-repeat !important;background-position: center !important;background-size:20px !important;}
+.jr_alert_icon{background:url("../assets/img/jr_alert.png") !important;background-repeat: no-repeat !important;background-position: center !important;background-size:20px !important;}
+.jr_header_title{float: left;height:40px;margin-top: 5px;padding: 8px;padding-left: 0px;}
+.jr_header_title h4{font-family: 'Roboto', sans-serif;color: #fff;margin:0px;font-weight: 300;font-size: 16px;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;    position: relative;top:2px;}
+.jr_header{padding-left:5px;padding-right:5px;box-shadow: none !important;background-image: none !important;}
+.jr_body_wrapper{width:100%;height:100%;}
+.jr_div_half{width:100%;height:50%;position: relative;}
+.jr_div_half img{object-fit: cover;object-position: center;width:100%;height:100%;}
+.jr_div_overlay{background: rgba(0,0,0,0.7);position: absolute;top:0px;left:0px;right:0px;bottom: 0px;text-align: center;padding: 15px;}
+.jr_div_overlay p{text-align: center;color: #bababa;}
+.jr_offer_ride{height:35px;width:130px;border-radius:20px;border:none;
+background: -webkit-linear-gradient(left, #6a449b , #1379a1);
+ background: -o-linear-gradient(right, #6a449b, #1379a1);
+ background: -moz-linear-gradient(right, #6a449b, #1379a1);
+ background: linear-gradient(to right, #6a449b , #1379a1);
+ text-transform: capitalize !important;
+ font-size: 14px;
+font-weight: 400;
+    line-height: 5px;
+}
+.jr_offer_ride1{height:45px;width:130px;border:none;
+background:#4d4d4d;
+border-radius: 0px;
+ 
+ text-transform: capitalize !important;
+ font-size: 14px;
+font-weight: 400;
+    line-height: 5px;
+}
+.jr_offer_ride2{height:45px;width:100%;
+  margin: 0px;
+  border:none;
+  border-radius: 0px;
+background:#4d4d4d;
+ text-transform: capitalize !important;
+ font-size: 14px;
+font-weight: 400;
+    line-height: 5px;
+}
+.jr_offer_ride3{height:45px;width:100%;
+  border:none;
+  border-radius: 0px;
+ background:#4d4d4d;
+ text-transform: capitalize !important;
+ font-size: 14px;
+font-weight: 400;
+    line-height: 5px;
+}
+.jr_offer_ride4{height:35px;width:100%;border:none;
+background:#2874a2;
+ text-transform: capitalize !important;
+ font-size: 14px;
+font-weight: 400;
+    line-height: 5px;
+}
+.jr_offer_ride5{height:35px;width:100%;border:none;
+background:#ff7200;
+ text-transform: capitalize !important;
+ font-size: 14px;
+font-weight: 400;
+    line-height: 5px;
+}
+.jr_over_inner{width:100%;position: relative;top: 25%;}
+.jr_home_tab_content{width:100%;height:100%;}
+.jr_home_tab_bay{width:100%;padding:5px;padding-top: 0px;}
+.jr_home_tab_bay ul{width:100%;text-align: center;padding:5px;margin:0px;}
+.jr_home_tab_bay ul li{width:40%;display: inline-block;text-align: center;color: #fff;padding: 4px;}
+.jr_home_tab_bay ul .active{border:1px solid #fff;border-radius: 20px;}
+
+/*OFFER-FIND-RIDE*/
+
+.jr_ride_wrapper{width:100%;    padding-top: 5px;height: 100%;}
+.jr_ride_wrapper h5{text-align: center;color: #717171;font-weight: 300;}
+.jr_offer_bg{width:100%;padding-top:20px;}
+.jr_offer_bg img{}
+.jr_ride_form{width:90%;margin:0 auto;padding-top:25px;position: relative;padding-bottom:60px;}
+.jr_ride_input1{width:100%;height:30px;border:1px solid #959595;border-radius:20px;background:url("../assets/img/jr_blue_circle.png"),url("../assets/img/jr_loc.png") !important;font-family: 'Roboto', sans-serif;background-repeat: no-repeat !important;background-position: left 7px top 5px,right 8px top 5px!important;background-size:18px !important;    padding-left: 35px;}
+.jr_ride_input2{width:100%;height:30px;border:1px solid #959595;border-radius:20px;background:url("../assets/img/jr_orange_circle.png") !important;font-family: 'Roboto', sans-serif;background-repeat: no-repeat !important;background-position:7px,6px !important;background-size:18px !important;    padding-left: 35px;}
+.jr_box{height:15px;width:20px;border-left:1px dotted #959595;position: absolute;top:56px;left:17px;}
+.jr_custom label {display: inline-block;cursor: pointer;position: relative;padding-left: 25px;margin-right: 15px;color: #8b8b8b;font-size: 13px;font-family: 'Roboto', sans-serif;font-weight:400;}
+.jr_custom label:before {content: "";display: inline-block;width: 14px;height: 14px;margin-right: 10px;position: absolute;left: 0;bottom: 1px;background-color: #ffffff;border-radius:0px !important;border:1px solid #959595;border-radius:3px !important;}
+.jr_custom label:before {border-radius: 8px;}
+.jr_custom input[type=checkbox] {display: none;}
+.jr_custom label:before {border-radius: 3px;}
+.jr_custom input[type=checkbox]:checked + label:before {content: "\2713";font-size: 14px;color: #6a449b;text-align: center;line-height:16px;font-weight:600;}
+.jr_custom{padding-top: 30px;padding-bottom: 30px; padding-left: 5px;}
+.jr_time_div{width:100%;}
+.jr_date{width:65%;float: left;}
+.jr_time{width: 35%;float: left;padding-left: 10px;}
+.jr_input3{width:100%;border:none;min-height:30px !important;border-bottom:1px solid #959595;font-family: 'Roboto', sans-serif;padding: 0px !important;}
+.jr_select{width:100%;border:none;height:30px;border-bottom:1px solid #959595;font-family: 'Roboto', sans-serif;color: #8b8b8b;-webkit-appearance: none;-moz-appearance: none;background:url("../assets/img/jr_dwn_arw.png");background-position: right;background-repeat: no-repeat;background-size: 15px;    font-size: 16px;}
+.jr_select option{color: #8b8b8b;font-family: 'Roboto', sans-serif;}
+.jr_input3 .datetime-ios{padding: 0px !important;color: #646464;font-family: 'Roboto', sans-serif;}
+.jr_input3 .datetime-md{padding: 0px !important;color: #646464;font-family: 'Roboto', sans-serif;}
+.jr_bottom_button_bay{width:100%;position: fixed;bottom: 0px;padding:0px;left:0px;right:0px;text-align: center;}
+.jr_seat_number{width:100%;padding-top:15px;}
+.jr_seat_number ul{padding: 0px;margin:0px;}
+.jr_seat_number ul li{display: inline-block;width:32px !important;height:32px;border-radius:50%;border:1px solid #4a4a4a;background:none !important;color: #4a4a4a;text-align: center;font-family: 'Roboto', sans-serif;    font-size: 18px;padding: 6px !important;    margin: 5px;}
+.jr_seat_number ul li:hover{background:#4a4a4a;color: #fff;}
+.jr_seat_number ul li:focus{background:#4a4a4a !important;color: #fff !important;}
+.jr_seat_number span{color: #8b8b8b;font-family: 'Roboto', sans-serif;font-size: 16px;padding-right: 20px;}
+.header-md::after, .tabs-md[tabsPlacement="top"] > .tabbar::after, .footer-md::before, .tabs-md[tabsPlacement="bottom"] > .tabbar::before{background-image: none !important;}
+.jr_ride_wrapper p{text-align: center;color: #fff;font-weight: 200;}
+.jr_archive_btn{height:30px;border-radius:20px;background: rgba(0,0,0,0.4) !important;font-weight: 200;font-size: 13px;padding-left: 20px;padding-right:20px;}
+
+/*OFFER-RIDE-DETAILS*/
+
+.jr_offerride_details{width: 100%;padding: 15px;padding-top: 0px !important;padding-bottom: 30px;}
+.jr_offerride_details ul{margin:0px;padding:0px;}
+.jr_offerride_details ul li{width: 100%;list-style: none;border-bottom:1px solid #d0d0d0;padding-bottom: 15px;padding-top: 15px;padding-left: 0px !important;}
+.jr_offerride_details ul li h4{margin:0px;font-family: 'Roboto', sans-serif;color: #717171;font-size:17px;font-weight: 400;padding-bottom: 10px;padding-top: 10px;}
+.jr_offerride_details ul li h4 img{width:18px;position: relative;top: 3px;margin-right:10px;}
+.jr_offerride_detail_content{width:100%;}
+.jr_offerride_detail_content_left{width:60%;float: left;}
+.jr_offerride_detail_content_right{width:40%;float: right;height:50px;border-left:1px solid #d0d0d0;}
+.jr_offerride_price_tag{text-align:right;padding-top: 5px;}
+.jr_offer_price{font-family: 'Roboto', sans-serif;color: #2078a2;font-size:30px;font-weight: 600;padding-left:7px;padding-right:7px;}
+.jr_offerride_price_tag img{width:20px;}
+.jr_destination{padding-top:7px;}
+.jr_destination span{font-family: 'Roboto', sans-serif;color: #717171;font-size:16px;font-weight: 400;}
+.jr_destination span img{width:12px;margin-right:10px;}
+.jr_offerride_details ul li h5{font-family: 'Roboto', sans-serif;color: #717171;margin-top:0px;font-weight: 400;font-size: 16px;padding-left: 30px;}
+.jr_offerride_details ul li p{font-family: 'Roboto', sans-serif;color: #7d7d7d;padding-left: 30px;line-height: 18px;    margin-top: 0px;}
+.jr_addcomment_btn{font-family: 'Roboto', sans-serif;color: #fff;font-weight: 300;font-size: 14px;border-radius:20px;height: 30px;background: #363636;padding-left: 20px;padding-right: 20px;text-transform: capitalize;margin-top:15px;}
+.jr_select_offer_outter{padding-left:25px;padding-bottom: 20px;}
+.jr_select_offer{width:100%;border:none;background: transparent;color: #363636;font-family: 'Roboto', sans-serif;    font-size: 20px;-webkit-appearance: none;-moz-appearance: none;background:url("../assets/img/jr_dwn_arw.png");background-position: right;background-repeat: no-repeat;background-size: 15px;}
+.jr_input_comment{width:100%;font-family: 'Roboto', sans-serif;border:none;font-size: 16px;margin-top:10px;}
+.jr_tick{margin:0 auto;}
+.jr_tick img{width:50px;}
+.jr_theme_trans_bg{background: rgba(35,119,162,0.9);}
+.jr_almost_wrapper{text-align: center;    position: absolute;width: 100%;top: 15%;}
+.jr_almost_wrapper h3{color: #fff;font-size: 24px;font-weight: 300;}
+.jr_almost_wrapper p{color: #fff;font-size: 16px;font-weight: 300;}
+.jr_almost_wrapper hr{border:2px solid #85b5cc;height:0px;width:50px;margin:0 auto;border-top:none;margin-top: 30px;margin-bottom: 30px;}
+.jr_loginpop_btn{height:35px;border-radius:20px;background: #fff;width:110px;margin:0 auto;color: #2077a3;font-weight: 500;font-size: 15px;margin:5px;}
+.jr_signpop_btn{height:35px;border-radius:20px;background:transparent;width:110px;margin:0 auto;color: #fff;font-weight: 500;font-size: 15px;border:1px solid #fff;margin:5px;}
+.jr_more_pop_up{position: absolute;top:15px;right:10px;background: transparent;}
+.jr_more_pop_up img{height: 20px;}
+.jr_profile_banner{width:100%;height:200px;background:url("../assets/img/jr_profile_banner.png") !important;background-size:100% !important;background-position: center !important;background-repeat: no-repeat !important;text-align: center;}
+.jr_profile_photo{width:100px;height:100px;border-radius:50%;background-color: #2874a2 !important;margin:0 auto;background:url("../assets/img/jr_avatar.png");background-position: center;background-repeat: no-repeat;    background-size: 30px !important;    position: relative;top: 110px;}
+.jr_profile_photo img{width:100%;height:100%;border-radius:50%;object-fit: cover;object-position: center;}
+.jr_profile_photo1{width:100px;height:100px;border-radius:50%;background-color: #2874a2 !important;margin:0 auto;background:url("../assets/img/jr_avatar.png");background-position: center;background-repeat: no-repeat;    background-size: 30px !important;    position: relative;top: 130px;}
+.jr_profile_photo1 img{width:100%;height:100%;border-radius:50%;object-fit: cover;object-position: center;}
+.jr_profile_photo_edit{position: absolute;top:0px;right:0px;}
+.jr_profile_photo_edit img{width:30px;}
+.jr_profile_content{width:85%;margin:0 auto;padding-bottom: 30px;}
+.jr_profile_content h4{text-align: center;color: #555555;width:100%;padding-top:25px;font-weight: 300;font-size: 16px;}
+.jr_profile_content hr{border:2px solid #ff7200;width:40px;margin:0 auto;border-radius:5px;height:0px;margin-top: 15px;}
+.jr_profile_tab_bay{width:100%;border-radius:20px;height:30px;border:1px solid #a1a1a1;margin-top: 30px;}
+.jr_profile_tab_bay li{width:50%;display: inline-block;text-align: center;float: left;height: 100%;color: #555555;padding: 5px;font-size: 15px;border-radius:20px;}
+.jr_profile_tab_bay .active{background: #434343;color: #fff;}
+.jr_profile_tab_content{width:100%;padding-bottom: 30px;}
+.jr_profile_tab_content h4{text-align: left;color: #434343;font-weight: 500;margin:0px;margin-bottom: 15px;font-size: 17px;}
+.jr_profile_tab_content ul{width:100%;margin:0px;padding:0px;}
+.jr_profile_tab_content ul li{width:100%;list-style: none;color: #777676;font-size: 17px;font-weight: 300;padding-bottom: 7px;padding-top: 7px;background:url("../assets/img/jr_right_arw.png");background-position: right !important;background-repeat: no-repeat !important;background-size: 10px;}
+.jr_profile_tab_content hr{border:1px solid #dcdcdc;width:100%;margin:0 auto;border-radius:5px;height:0px;margin-top:25px;border-top:none;}
+.jr_profile_tab_content ul .verified{background:url("../assets/img/jr_verified1.png");background-size: 15px;}
+.verified{background:url("../assets/img/jr_verified1.png");background-size: 15px;background-position: right !important;background-repeat: no-repeat !important;}
+
+/*POPOVER*/
+
+.jr_popover_wrapper{background-color: rgba(0,0,0,0.7);width:100%;}
+.jr_popover_wrapper ul{margin:0px;padding:5px;}
+.jr_popover_wrapper ul li{list-style: none;color: #d3d3d3;font-size: 16px;padding: 5px;}
+.popover-content{background: transparent !important;box-shadow: none !important;border-radius:0px !important;}
+.popover-arrow::after{background:rgba(0,0,0,0.7) !important;border:none;}
+
+/*EDIT-PROFILE*/
+
+.jr_edit_row{padding-bottom:20px;}
+.jr_edit_row h5{color:#434343;font-weight: 400;font-size: 16px;    margin-top: 0px;margin:0px;}
+.jr_edit_select{border:1px solid #b7b7b7;border-radius:20px;height: 30px;width: 170px;padding-left: 25px;padding-right: 10px;margin-left:15px;background:url("../assets/img/jr_down_arrow.png") !important;background-position: right 15px top 10px !important;background-repeat: no-repeat !important;-webkit-appearance: none;-moz-appearance: none;    background-size: 20px !important;}
+.jr_edit_profile_input{border:none;border-bottom: 1px solid #959595 !important;width:100% !important;height:30px;    margin-top: 5px;}
+.jr_width25{width:25%;float: left;}
+.jr_width5{width:5%;float: left;}
+.jr_width40{width:40%;float: left;}
+.jr_edit_select1{margin-top:8px;border:1px solid #b7b7b7;border-radius:20px;height: 30px;width:100%;padding-left:10px;padding-right: 10px;background:url("../assets/img/jr_down_arrow.png") !important;background-position: right 15px top 10px !important;background-repeat: no-repeat !important;-webkit-appearance: none;-moz-appearance: none;    background-size: 20px !important;}
+.jr_edit_row p{color: #7d7d7d;text-align: justify;font-size: 15px;line-height: 20px;margin-bottom: 0px;}
+.jr_width70{width:70%;float: left;padding-left: 10px;}
+.jr_width30{width:30%;float: left;}
+.jr_profile_content h3{color:#636363;}
+.jr_pre_input{width:100%;height:30px;}
+.jr_width15{width:15%;float: left;}
+.jr_width85{width:85%;float: left;}
+.jr_width15 span img{ width: 35px;}
+.jr_pre_select1 {
+    border: 1px solid #b7b7b7;
+    border-radius: 20px;
+    height: 35px;
+    width: 100%;
+    padding-left:20px;
+    padding-right: 10px;
+    background: url(../assets/img/jr_down_arrow.png) !important;
+    background-position: right 15px top 10px !important;
+    background-repeat: no-repeat !important;
+    -webkit-appearance: none;
+    -moz-appearance: none;
+    background-size: 20px !important;
+    color: #717171;
+}
+.jr_chooseid{width:100px;position: relative;top: 90px;}
+.jr_proofs_list{width:100%;}
+.jr_proofs_list li{width:100%;list-style: none;padding-bottom: 10px;padding-top: 10px;}
+.jr_proofs_list li p{float: left;color: #777676;padding: 0px;margin:0px;font-size: 18px;}
+.jr_radio_id{float:right;}
+.jr_radio_id .radio-icon{border-color:#ff7200 !important;}
+.jr_radio_id .radio-inner{background-color:#ff7200 !important;}
+.jr_confidential{width:100%;border-top:1px solid #959595;padding-top:25px;padding-bottom: 50px;}
+.jr_confidential_left{width:25%;float: left;text-align: center;border-right:1px solid #959595;}
+.jr_confidential_left img{width:30px;}
+.jr_confidential_right{width:75%;float: right;padding-right:15px;}
+.jr_confidential_right p{color:#989797;margin:0px;padding-left: 10px;}
+.jr_upload_img{width:100%;}
+.jr_chooseid1{width: 100px;position: relative;top:45px;}
+.jr_country_code{width:20%;float: left;}
+.jr_phone_number{width:75%;float: right;}
+.jr_car_pic{width:60px;height:60px;border-radius:50%;background-color: #ff7200 !important;  background: url(../assets/img/jr_cam.png);background-position: center !important;background-repeat: no-repeat;background-size:20px;float: left;position: relative;}
+.jr_car_name{float: left;    padding-left: 10px;position: relative;top: 10px;}
+.jr_car_name h5{margin:0px;font-size: 16px;}
+.jr_edit1{position: absolute;top:0px;right:0px;}
+.jr_edit1 img{width:20px;}
+.jr_car_name p{margin:0px;font-size: 12px;padding-top: 5px;}
+.jr_no_seat{padding-top: 10px;}
+.jr_no_seat h4{margin:0px;padding:0px;text-align: left;font-family: 'Roboto', sans-serif;color: #8b8b8b;font-size: 16px;}
+.jr_no_seat h4 img{    width: 18px;margin-right:10px;}
+.jr_close{}
+.jr_close img{width:40px;margin-top:20px;}
+.jr_space_height{height:100px;}
+.jr_add_car_bg{background-color:#fff !important;background:url("../assets/img/jr_profile_banner.png");background-repeat: no-repeat !important;background-position: center bottom !important;background-size: 150% !important;}
+.jr_upload_image_car{width:180px;height:180px;border-radius:50%;margin:0 auto;}
+.jr_upload_image_car img{width:100%;height:100%;border-radius:50%;}
+.jr_profile_banner1 {
+    width: 100%;
+    height: 200px;
+    background: url(../assets/img/jr_public_bg.png) !important;
+    background-size: 100% !important;
+    background-position: center !important;
+    background-repeat: no-repeat !important;
+    text-align: center;
+}
+.jr_age1{width:100%;margin:0px;text-align: center;color:#555555;    font-size: 16px;}
+.jr_notification{width:100%;}
+.jr_notification ul{width:100%;margin:0px;padding:0px;    padding-top: 10px;}
+.jr_notification ul li{width:100%;background: none !important;}
+.jr_notification ul li .child1{float:left;width:80%;}
+.jr_notification ul li .child2{float:right;width:20px;}
+.jr_custom1 label {display: inline-block;cursor: pointer;position: relative;padding-left: 25px;margin-right: 15px;color: #8b8b8b;font-size: 13px;font-family: 'Roboto', sans-serif;font-weight:400;}
+.jr_custom1 label:before {content: "";display: inline-block;width: 14px;height: 14px;position: absolute;left: 0;bottom: 1px;background-color: #ffffff;border-radius:0px !important;border:1px solid #959595;border-radius:3px !important;}
+.jr_custom1 label:before {border-radius: 8px;}
+.jr_custom1 input[type=checkbox] {display: none;}
+.jr_custom1 label:before {border-radius: 3px;}
+.jr_custom1 input[type=checkbox]:checked + label:before {content: "\2713";font-size: 14px;color: #6a449b;text-align: center;line-height:16px;font-weight:600;border:1px solid #ff7200;}
+.jr_custom1{width:15px;position: relative;top: 4px;}
+.jr_profile_tab_content h6{color: #a8a8a8;    font-size: 14px;margin:0px;font-weight: 300;}
+.jr_message_wrapper{}
+.jr_home_tab_bay1 {width: 100%;padding: 5px;padding-top: 0px;}
+.jr_home_tab_bay1 ul {width:85%;text-align: center;padding: 0px;margin: 0 auto;border:1px solid #144b6d;border-radius:20px;margin-bottom: 5px;}
+.jr_home_tab_bay1 ul li {width: 50%;display: inline-block;text-align: center;color: #fff;padding:5px;float: left;}
+.jr_home_tab_bay1 ul .active {background:#144b6d;border-radius: 20px;}
+.jr_no_msg{padding-top:75px;}
+.jr_notification_main{width:100%;}
+.jr_notification_main ul{margin:0px;padding:0px;width:100%;    padding-top: 10px;}
+.jr_notification_main ul li{width:100%;list-style: none;text-align: left;border-bottom: 1px solid #dcdcdc;padding-bottom: 5px;}
+.jr_notification_main ul li h4{color: #144b6d;text-align: left;padding: 0px;font-weight: 400;}
+.jr_notification_main ul li p{color: #8e8e8e;text-align: left;font-weight: 300;}
+.jr_not_left{float: left;    width: 80%;}
+.jr_not_close{float: right;    position: relative;top: 30px;}
+.jr_not_close img{width:20px;}
+
+/*SEARCH-RESULT*/
+
+.jr_duration{width:100%;padding-top: 20px;padding-bottom: 20px;border-bottom:1px solid #bbbbbb;}
+.jr_avg_duration{width: 50%;float: left;text-align: right !important;background:url("../assets/img/jr_clock.png");background-repeat: no-repeat !important;background-position:left !important;background-size: 25px !important;padding-right: 15px;}
+.jr_avg_price{width:50%;float: left;text-align: left !important;    padding-left: 15px;border-left:1px solid #bbbbbb;}
+.jr_duration p{margin:0px;padding:0px;color: #818181;font-size: 11px;font-weight: 300;}
+.jr_duration h4{margin:0px;padding:0px;color: #279a80;    font-size: 13px;}
+.jr_avg_duration p{text-align: right !important;}
+.jr_avg_duration h4{text-align: right !important;padding-top: 4px;}
+.jr_avg_price p{text-align: left !important;padding-bottom: 3px;}
+.jr_avg_price h4{text-align: left !important;}
+.jr_avg_price h4 strong{    font-size: 15px;}
+.jr_search_main{width:100%;}
+.jr_search_main h5{margin:0px;color: #434343;font-size: 16px;padding-top: 15px;padding-bottom:5px;}
+.jr_search_main ul{margin:0px;padding: 0px;}
+.jr_search_main ul li{list-style: none;background: #f5f5f5;margin-bottom: 3px;}
+.jr_search_top_bay{width:100%;padding: 10px;border-bottom: 1px solid #e7e7e7;}
+.jr_search_top_bay_left{float: left;}
+.jr_search_top_bay_right{float: right;}
+.jr_search_top_bay_left h6{color: #434343;margin:0px;padding: 0px; font-size: 12px;font-weight: 500;padding-bottom: 3px;}
+.jr_search_top_bay_left h6 strong{color: #767676;margin:0px;padding: 0px;font-size: 14px;font-weight: 500;padding-left:8px;}
+.jr_search_top_bay_right h6{text-align: right;color: #2078a2;margin:0px;padding: 0px;}
+.jr_search_bottom_bay{width:100%;padding: 10px;}
+.jr_search_profile{float: left;width:75px;height:75px;border-radius:50%;border:1px solid #2078a2;position: relative;}
+.jr_search_profile img{width:100%;height:100%;border-radius:50%;object-fit: cover;object-position: center;}
+.jr_search_profile_detail{float: left;padding-left: 15px;}
+.jr_search_verified{position:absolute;top:0px;right:0px;}
+.jr_search_verified img{width: 20px;border:none;}
+.jr_search_profile_detail h6{margin:0px;color: #585858;font-weight: 400;font-size: 13px;padding-bottom: 5px;}
+.jr_star_ratting{color: #585858;font-weight: 300;}
+.jr_star_ratting strong{padding-left:5px;padding-right: 10px;}
+.jr_star_ratting img{width: 14px;    position: relative;top: 1px}
+.jr_search_profile_detail ul{margin:0px;padding: 0px;padding-top:10px;}
+.jr_search_profile_detail ul li{display: inline-block;width:30px;height:30px;border:1px solid #2078a2;border-radius:50%;color: #585858;font-size: 10px;padding-top: 4px;text-align: center;}
+.jr_search_profile_detail ul li span{position: relative;top:2px;}
+.jr_filter_icon{width:50px;height:50px;background:url("../assets/img/jr_filter_icon.png");background-repeat: no-repeat !important;background-size: cover !important;position: fixed;bottom: 10px;right:20px;border-radius:50%;}
+.jr_filter_okay{width:50px;height:50px;background:url("../assets/img/jr_filter_okay.png");background-repeat: no-repeat !important;background-size: cover !important;position: fixed;bottom: 10px;right:80px;border-radius:50%;}
+.jr_filter_close{width:50px;height:50px;background:url("../assets/img/jr_filter_close.png");background-repeat: no-repeat !important;background-size: cover !important;position: fixed;bottom: 10px;right:20px;border-radius:50%;}
+.jr_bookonline{height: 30px;border-radius:20px;border:none;background: #f16730;color: #fff;text-transform: capitalize;margin-top: 10px;    font-size: 12px;}
+.jr_preference_bay{width:100%;}
+.jr_preference_bay ul{width:100%;text-align: left;padding: 0px;margin:0px;}
+.jr_preference_bay ul li{display: inline-block;}
+.jr_preference_bay ul li img{width: 30px;margin-right: 5px;}
+.jr_verification{margin:0px;padding: 0px;padding-top: 5px;}
+.jr_verification li {width: 100%;list-style: none;color: #777676;font-size: 17px;font-weight: 300;padding-bottom: 7px;padding-top: 7px;padding-left:30px;background-position:left !important;background-repeat: no-repeat !important;background-size: 10px;}
+.jr_verification .verified{background:url("../assets/img/jr_verified1.png");background-size: 15px;}
+.jr_verification .response{background:url("../assets/img/jr_response.png");background-size: 15px;}
+.jr_verification .time{background:url("../assets/img/jr_time.png");background-size: 15px;}
+.jr_verification .loca{background:url("../assets/img/jr_loca.png");background-size: 15px;}
+.child1{width:40%;float: left;}
+.child2{width:60%;float: left;}
+.jr_time_schedule{padding-top: 0px;padding-bottom: 15px;}
+.jr_time_schedule h5{color:#464646;font-weight: 300;font-size: 24px;}
+.jr_from_to{width:100%;}
+.jr_from_to li{list-style: none;width:100%;    padding-bottom: 15px}
+.jr_from_to .child1{width:25%;float: left;    font-size: 16px;color: #464646;position: relative;}
+.jr_from_to .child2{width:75%;float: left;padding-left: 20px;}
+.jr_from_to .child2 strong{color: #595959;font-size: 16px;}
+.jr_from_to .child2 p{color: #595959;font-weight: 300;margin: 0px;    font-size: 15px;}
+.jr_from_to .from{border-radius: 20px;background: url(../assets/img/jr_blue_circle.png) !important;font-family: 'Roboto', sans-serif;background-repeat: no-repeat !important;background-position:right 8px top 2px !important;background-size: 16px !important;}
+.jr_from_to .to{border-radius: 20px;background: url(../assets/img/jr_orange_circle.png)!important;font-family: 'Roboto', sans-serif;background-repeat: no-repeat !important;background-position:right 8px top 2px !important;background-size: 16px !important;}
+// .jr_box1 {height: 50px;width: 20px;border-right: 1px solid #b6b6b6;position: absolute;top: 20px;right: 19%;}
+.jr_available_seats{width:100%;color: #838383;font-size: 18px;padding-top: 20px;padding-bottom: 20px;}
+.jr_available_seats strong{color: #464646;}
+.jr_seats_left{float: left;width:50%;}
+.jr_seats_right{float: right;width:50%;text-align: right;}
+.jr_contact_btn{width: 100%;height:35px;border:1px solid #1d78a3;border-radius: 20px;color: #1d78a3;background: transparent;font-size: 15px;background: url(../assets/img/jr_call.png) !important;background-repeat: no-repeat !important;background-size: 20px !important;background-position: 15% !important;}
+.jr_contact_btn span img{}
+.jr_profile_content1{padding-bottom: 60px;}
+.jr_profile_content1 h5{margin: 0px;color: #434343;font-size: 16px;padding-top: 15px;padding-bottom: 5px;}
+.jr_profile_content1 p{color: #595959;font-weight: 300;margin: 0px;font-size: 15px;padding-top: 10px;padding-bottom:10px;}
+.jr_verification .loca1{background:url("../assets/img/jr_loca1.png");background-size: 15px;}
+.jr_verification .detour{background:url("../assets/img/jr_detour.png");background-size: 15px;}
+.jr_verification .flex{background:url("../assets/img/jr_flex.png");background-size: 15px;}
+.jr_verification .seat1{background:url("../assets/img/jr_seat1.png");background-size: 15px;}
+.jr_car_info{width:100%;padding-top: 15px;}
+.jr_car_info_left{width:50%;float: left;}
+.jr_car_info_right{width:50%;float: right;}
+.jr_car_info_right p img{width:30px;}
+.jr_car_info_right p span{position: relative;    position: relative;bottom: 10px;left: 5px;}
+.jr_car_info_photo{float: left;width:50px;height:50px;border-radius:50%;}
+.jr_car_info_photo img{width:100%;height:100%;border-radius:50%;object-fit: cover;object-position: center;}
+.jr_car_info_detail{float: left;    padding: 10px;padding-left: 20px;padding-top: 0px;}
+.jr_car_info_detail h6{margin:0px;}
+.jr_car_info_detail p{margin:0px;padding: 0px;}
+.jr_car_info_detail p img{width:20px;}
+.jr_report{height:35px;border:1px solid #000000;border-radius:20px;padding-left:20px;padding-right:20px;text-transform: capitalize;background: transparent;color: #000000;}
+.jr_bottom_button_bay1{text-align: center;}
+
+.jr_book_pop_up_wrapper{width:70%;margin:0 auto;background: #ffffff;border-radius:20px;    padding: 25px;margin-top:50px;}
+
+.jr_book_pop_up_wrapper h4 {text-align: center;color: #555555;width: 100%;padding-top: 30px;  font-weight: 300;font-size: 16px;}
+.jr_book_pop_up_wrapper h3 {color: #636363;}
+.jr_book_pop_up_wrapper hr {border: 2px solid #ff7200;width: 40px;margin: 0 auto;border-radius: 5px;height: 0px;margin-top: 15px;}
+.jr_counter{width:100%;text-align: center;    padding-top: 15px;}
+.jr_count_item{}
+.jr_count_item img{width:20px;}
+.jr_count{color:#1188ca;font-size: 35px;font-weight: 300;    padding-left: 10px;padding-right: 10px;}
+.jr_bottom_send{background: #343434;color: #fff;border-radius:20px;height:35px;border:none;color: #fff;font-size: 14px;padding-left: 40px;padding-right: 40px;text-transform: capitalize;    line-height: 13px;}
+.jr_bottom_send span img{width: 16px;margin-left: 10px;}
+.jr_text_msg{width:100%;position: relative;margin-bottom: 50px;}
+.jr_send_msg{width:100%;border:none;border-bottom: 1px solid #bcbcbc;height:35px;font-size: 16px;}
+.jr_send_msg::-webkit-input-placeholder { color:#8c8c8c;}
+.jr_send_msg::moz-input-placeholder { color:#8c8c8c;}
+.jr_attch{position: absolute;right:0px;top:0px;}
+.jr_attch span img{height:25px;margin-left: 10px;}
+.jr_no_ride{width:100%;}
+.jr_no_ride p{text-align: center;color: #7d7d7d;}
+.jr_ride_wrapper h3{color: #2078a2;font-weight: 300;text-align: justify;    font-size: 18px;}
+.jr_ride_wrapper ul{padding: 0px;margin:0px;}
+.jr_ride_wrapper ul li{list-style: none;color: #717171;    font-size: 16px;font-weight: 300;padding-left: 30px;background-position: left !important;background-repeat: no-repeat !important;}
+.jr_ride_wrapper .from{    background: url(../assets/img/jr_blue_circle.png);background-size: 15px;}
+.jr_ride_wrapper .to{ background: url(../assets/img/jr_orange_circle.png);background-size: 15px;}
+.jr_rangebar{padding: 0px;}
+.jr_rangebar .item-inner{padding: 0px !important;}
+.jr_rangebar .range-knob{background: #2077a3 !important;}
+.jr_rangebar .range-bar-active{background: #2077a3 !important;}
+.jr_rangebar .range-pin{background: #2077a3 !important;color: #fff;}
+.jr_rangebar .range-pin::before{background: #2077a3 !important;color: #fff;}
+.jr_rangebar h6{color: #464646;    position: relative;top: 30px;}
+.jr_member_rate{height: 35px;border-radius:20px;width:100%;border:none;color: #fff;text-transform: capitalize;background: #4d4d4d;    font-size: 15px;font-weight: 400;}
+.jr_inside_bg{width:100%;height:100%;background:#2b7091;}
+.jr_sidemenu_top{width:100%;text-align: center;}
+.jr_sidemenu_photo{width:100px;height:100px;border:2px solid #fff;border-radius:50%;}
+.jr_sidemenu_photo img{width:100%;height:100%;border:1px solid #fff;border-radius:50%;object-fit:cover;object-position: center;}
+.jr_sidemenu_detail{}
+.jr_sidemenu_detail h4{color: #fff;font-weight: 300;font-size:18px;}
+.jr_sidemenu_detail p{color: #fff;font-weight: 400;font-size: 14px;    margin-top: 0px;}
+.jr_side_edit{border-radius:20px;background: #11445b;padding-left:20px;padding-right: 20px;color: #fff;font-size: 16px;height:30px;}
+.jr_sidemenu_detail ul{margin:0px;padding:0px;    padding-top: 50px;}
+.jr_sidemenu_detail ul li{color: #fff;list-style: none;padding-bottom: 20px;}
+.jr_sidemenu_detail ul li img{height: 18px;margin-right: 15px;}
+.jr_sidemenu_detail ul li span{font-size: 16px;font-weight: 300;}
+.jr_home_active{width:100%;height:100%;background:url("../assets/img/jr_home_active.png") !important;background-repeat: no-repeat !important;background-position: center bottom !important;background-size:cover !important;position: relative;}
+.jr_home_offer_ride{width:100%;    padding-top: 20px;
+}
+.jr_home_offer_ride ul{margin:0px;padding:0px;position:relative;}
+.jr_home_offer_ride ul li{width:100%;list-style: none;background: #fff;border-radius:8px;margin-bottom: 10px;position:relative;padding:10px;position: relative;}
+.jr_offer_ride_top{
+  background: -webkit-linear-gradient(left, #1379a1 , #6a449b);
+   background: -o-linear-gradient(right, #1379a1, #6a449b);
+   background: -moz-linear-gradient(right, #1379a1, #6a449b);
+   background: linear-gradient(to right, #1379a1 , #6a449b);
+   color: #fff;
+   padding:11px;border-radius:10px;
+   font-weight: 300;font-size: 16px;
+   position: relative;
+    top: 10px;
+height:50px;
+}
+.jr_book_ride_top{
+  background: -webkit-linear-gradient(left, #f16436 , #ef548d);
+   background: -o-linear-gradient(right, #f16436, #ef548d);
+   background: -moz-linear-gradient(right, #f16436, #ef548d);
+   background: linear-gradient(to right, #f16436 , #ef548d);
+   color: #fff;
+   padding:11px;border-radius:10px;
+   font-weight: 300;font-size: 16px;
+   position: relative;
+    top: 10px;
+height:50px;
+}
+.jr_home_offer_photo{width:60px;height:60px;border-radius:50%;float: left;}
+.jr_home_offer_photo img{width:100%;height:100%;border-radius:50%;}
+.jr_home_offer_detail{float:right;    padding-left: 15px;position: relative;width:75%;}
+.jr_home_offer_detail h5{margin:0px;padding: 0px;color: #2077a3;font-weight: 300;text-align: left;}
+.jr_home_offer_detail h6{margin:0px;padding: 0px;color: #757575;padding-top: 3px;padding-bottom: 3px;font-weight:300;}
+.jr_home_offer_detail p{margin:0px;padding: 0px;color: #9d9d9d;font-weight: 300;text-align: left;}
+.jr_home_offer_detail p span{margin-left:10px;margin-right:10px;}
+.jr_home_offer_detail p span img{width:8px;}
+.jr_edit_more{position: absolute;bottom:10px;right:10px;}
+.jr_edit_more img{width: auto;height:16px;}
+.jr_home_btm{background:url("../assets/img/jr_exclam.png") !important;background-repeat: no-repeat !important;    background-position: left 10px top 5px !important;background-size: 18px !important;color: #e9801a;text-align: center;font-weight: 300;}
+.jr_home_btm hr{width:100%;border:1px solid #b3b3b3;border-top:none;height:0px;}
+.jr_home_btm p{text-align: center;margin:0px;color: #e9801a;padding-top: 5px;}
+.jr_your_booking{width:100%;}
+.jr_request_confirm{width:100%;padding-bottom: 15px;border-bottom:1px solid #dcdcdc;padding-top: 10px;}
+.jr_request_left{width:20%;float: left;text-align:center;}
+.jr_request_left img{ width: 30px;margin:0 auto;padding-top: 20px;}
+.jr_request_right{width:80%;float: right;border-left:1px solid #dcdcdc;padding-left: 15px;}
+.jr_request_right h5{color: #699ab8;margin:0px;padding: 0px;font-size: 18px;}
+.jr_request_right p{color: #949494;margin:0px;padding: 0px;    padding-top: 10px;font-size: 12px;padding-bottom: 3px;}
+.jr_request_right h6{color: #464646;margin:0px;padding: 0px;font-size:15px;}
+.jr_time_schedule p{color: #f16730;padding:0px;margin:0px;font-weight: 400;}
+.jr_summary{width:100%;}
+.jr_summary h6{font-size: 13px;padding-top: 5px;padding-bottom: 5px;}
+.jr_summary_details{width:100%;}
+.jr_summary_details h5{font-size:16px;padding-bottom: 15px;}
+.jr_summary_details h5 span img{height:13px;margin-left:15px;}
+.jr_summary_details p{font-size: 14px;padding-bottom:5px;padding-top: 5px;}
+.jr_summary_msg{width:100%;background:url("../assets/img/jr_summary_msg.png") !important;background-repeat: no-repeat !important;color: #3c83a9;    font-size: 16px;padding-left: 30px;    background-size: 20px !important;}
+.jr_login_wrapper{width:100%;padding-top: 35px;}
+.jr_logo{width:100%;text-align: center;}
+.jr_logo img{width: 100px;}
+.jr_login_detail{width:100%;padding-top: 20px;text-align: center;}
+.jr_login_detail h5{color: #fff;text-align: center;margin:0px;font-weight: 300;font-size: 20px;}
+.jr_login_detail h4{color: #fff;text-align: center;margin:0px;font-weight: 600;padding: 0px;font-size: 25px;padding-bottom: 10px;padding-top:0px;}
+.jr_login_detail p{color: #fff;text-align: center;margin:0px;font-size: 14px;font-weight: 300;}
+.jr_login_detail hr{border-color: #fff !important;margin-top: 30px;margin-bottom: 50px;}
+.jr_login_input{height:35px;border:1px solid #1379a1;border-radius:20px;width:100%;background: transparent;padding-left:20px;padding-right: 15px;margin-bottom: 15px;color: #fff;}
+.jr_login_input::-webkit-input-placeholder {color:#fff;}
+.jr_login_input::-moz-placeholder {color:#fff;}
+.jr_login_input:-ms-input-placeholder {color:#fff;}
+.jr_login_input:-moz-placeholder {color:#fff;}
+.jr_btm_btn1 {height: 40px;border-radius:50%;background: #1379a1;color: #fff;font-family: 'Roboto', sans-serif;transition: width 2s;width: 40px;margin: 0 auto;text-align: center;font-size: 15px;padding: 10px;  border: none;text-transform: capitalize;}
+.jr_btm_btn2 {height: 40px;border-radius:50%;background: #f05e5a;color: #fff;font-family: 'Roboto', sans-serif;transition: width 2s;width: 40px;margin: 0 auto;text-align: center;font-size: 15px;padding: 10px;  border: none;text-transform: capitalize;}
+.jr_btm_btn1 img {width: 8px;}
+.jr_btm_btn2 img {width: 8px;}
+.jr_login_input1{height:35px;border:1px solid #f16823;border-radius:20px;width:100%;background: transparent;padding-left:20px;padding-right: 15px;margin-bottom: 15px;color: #fff;}
+.jr_login_input1::-webkit-input-placeholder {color:#fff;}
+.jr_login_input1::-moz-placeholder {color:#fff;}
+.jr_login_input1:-ms-input-placeholder {color:#fff;}
+.jr_login_input1:-moz-placeholder {color:#fff;}
+.jr_passcode{padding-bottom: 50px;}
+.jr_passcode ul{margin:0px;padding: 0px;width:100%;text-align: center;}
+.jr_passcode ul li{display: inline-block;width:50px;height:50px;border-radius:50%;text-align: center;    margin: 5px;}
+.jr_passcode_select{width:100%;height:100%;border-radius:50%;border:1px solid #fff;background: transparent;color: #fff; -webkit-appearance: none;-moz-appearance: none;text-align: center;    font-size: 16px;padding-left: 18px;}
+.jr_passcode_select option{color: #fff;text-align: center;}
+.jr_passcode_select:focus{width:100%;height:100%;border-radius:50%;border:1px solid #f16823;}
+.jr_passcode_select option:focus{color:#f16823;width:100%;text-align: center !important;}
+.jr_submit_signup{height: 35px;  border-radius: 20px;  border: none;background: linear-gradient(to right, #f16823, #ef519d);text-transform: capitalize !important;font-size: 14px;font-weight: 400;  line-height: 5px;padding-left: 25px;padding-right:25px;margin:0 auto;margin-bottom: 15px;}
+.jr_pick_drop{width:100%;height:100%;}
+.jr_map{width:100%;height:60%;background:url("../assets/img/jr_map_bg.png") !important;background-repeat: no-repeat;background-position: center;background-size: cover !important;}
+.jr_pick_drop_detail{width:100%;height:40%;box-shadow: 10px 10px 60px 15px #888888;padding: 10px;}
+.jr_up_arw{width:100%;text-align: center;}
+.jr_up_arw img{width: 20px;}
+.jr_pick_drop_detail ul{width:80%;margin:0px;padding:0px;margin: 0 auto;padding-top: 15px;padding-bottom: 15px;}
+.jr_pick_drop_detail ul li{width:100%;margin:0px;padding:0px;list-style: none;width:100%;padding-bottom: 7px;padding-top: 7px;}
+.jr_pick_drop_detail ul li p{float: left;color: #777676;font-size:16px;margin:0px;padding-top: 5px;padding-left: 15px;}
+.jr_pick_drop_detail ul hr{width:100%;height:0px;margin-top:20px;border-bottom:1px solid #e7e7e7;border-top:none;height:0px;}
+.jr_pick_drop_detail h5{text-align: center;color: #777676;font-size: 20px;font-weight: 300;}
+.jr_pick_drop_detail  hr{width:40px;border:2px solid #ff7200;border-radius:20px;height:0px;margin:0 auto;}
+.jr_loc_no{float: left;width:30px;height:30px;background:url("../assets/img/jr_loc1.png") !important;font-size:12px;background-repeat: no-repeat !important;background-position:center !important;color: #fff;text-align: center;background-size: 25px !important;padding-top:7px;}
+.jr_other_place{border:1px solid #2078a2;color: #2078a2;height:35px;padding-left: 20px;padding-right: 20px;border-radius:20px;background: transparent;}
+.jr_loc_no1 .jr_radio_id {float: right;position: relative;top: 4px;}
+
+
+.jr_driver_profile{background:#f0f0f0;    padding: 10px;}
+.jr_driver_profile .jr_search_profile_detail{}
+.jr_driver_profile .jr_search_profile_detail h6{font-size: 16px;}
+.jr_driver_profile .jr_search_profile_detail h6 span{float: right;font-size: 12px;position: relative;top: 3px;}
+.jr_driver_profile .jr_home_offer_photo{border:1px solid #2078a2;}
+.jr_avia{width:100%;}
+.jr_avia .left{float: left;}
+.jr_avia .right{float:left;}
+.jr_avia img{width:15px;    position: relative;top: 4px;margin-right: 10px;}
+.jr_approve_btn_bay{width:100%;}
+.jr_approve_btn{width:49%;float: left;height:35px;border-radius:20px;background: #49a11e;color: #fff;font-size: 16px;text-transform: capitalize;}
+.jr_decline_btn{width:49%;float: right;height:35px;border-radius:20px;background: #515151;color: #fff;font-size: 16px;text-transform: capitalize;}
+.jr_edit_btn{width:49%;float: left;height:35px;border-radius:20px;background:transparent;color: #f7941d;font-size: 16px;border:1px solid #f7941d;text-transform: capitalize;}
+.jr_delete_btn{width:49%;float: right;height:35px;border-radius:20px;background:transparent;color: #d52a2a;font-size: 16px;border:1px solid #d52a2a;text-transform: capitalize;}
+.jr_p{color: #717171 !important;text-align: left !important;font-size: 16px;font-weight: 400 !important;}
+   
+      .jr_bottom_distance_card{
+          position: fixed;
+          bottom:50px;
+          padding: 10px;
+          left:0px;
+          right: 0px;
+          .jr_bottom_inside{
+              background: #ffffff;
+              border-radius:13px;
+              padding:10px;
+              box-shadow: 0px 10px 70px 1px #888888;
+
+              .jr_dest_input{
+                  width:100%;
+                  height:35px;
+                  border:none;
+                  margin-bottom: 10px;
+                  font-size: 14px;
+                  padding-top: 5px;
+              }
+              .from{
+                background: url(../assets/img/jr_blue_circle.png) !important;
+                font-family: 'Roboto', sans-serif;
+                background-repeat: no-repeat !important;
+                background-position: left 7px top 10px !important;
+                background-size: 18px !important;
+                padding-left: 35px;
+              }
+              .to{
+                background: url(../assets/img/jr_orange_circle.png)!important;
+                font-family: 'Roboto', sans-serif;
+                background-repeat: no-repeat !important;
+                background-position: left 7px top 10px !important;
+                background-size: 18px !important;
+                padding-left: 35px;
+              }
+          }
+      }
+}
diff --git a/src/pages/map/map.ts b/src/pages/map/map.ts
new file mode 100644
index 0000000..8007947
--- /dev/null
+++ b/src/pages/map/map.ts
@@ -0,0 +1,33 @@
+import { Component, ViewChild, ElementRef } from '@angular/core';
+import { IonicPage, NavController, NavParams } from 'ionic-angular';
+declare var google;
+@IonicPage()
+@Component({
+  selector: 'page-map',
+  templateUrl: 'map.html',
+})
+export class MapPage {
+  @ViewChild('map') mapElement: ElementRef;
+  map: any;
+  constructor(public navCtrl: NavController, public navParams: NavParams) {
+  }
+
+  ionViewDidLoad() {
+    this.loadMap();
+  }
+
+  loadMap(){
+ 
+    let latLng = new google.maps.LatLng(-34.9290, 138.6010);
+ 
+    let mapOptions = {
+      center: latLng,
+      zoom: 15,
+      mapTypeId: google.maps.MapTypeId.ROADMAP
+    }
+ 
+    this.map = new google.maps.Map(this.mapElement.nativeElement, mapOptions);
+ 
+  }
+
+}
diff --git a/src/pages/ridedetail/ridedetail.html b/src/pages/ridedetail/ridedetail.html
new file mode 100644
index 0000000..2dd3763
--- /dev/null
+++ b/src/pages/ridedetail/ridedetail.html
@@ -0,0 +1,95 @@
+<style>
+    .left{
+      text-align: left !important;
+    }
+    .right{
+      text-align: right !important;
+    }
+  </style>
+
+
+<ion-header class="jr_theme_color jr_header">
+  <button ion-button class="jr_left jr_header_btn jr_back_icon" (click)="goBack()"></button>
+  <div class="jr_header_title">
+    <h4>Quickride Details</h4>
+  </div>
+  <button ion-button class="jr_right jr_header_btn"></button>
+  <div class="jr_clear"></div>
+</ion-header>
+
+
+<ion-content padding>
+<div class="jr_profile_content1">
+  <div class="jr_from_to">
+    <li>
+      <div class="child1 from">From<div class="jr_box1"></div></div>
+      <div class="child2"><strong>{{loc.from}}</strong>
+      <p>{{loc.fromAd}}</p></div>
+      <div class="jr_clear"></div>
+    </li>
+    <li>
+      <div class="child1 to">To</div>
+      <div class="child2"><strong>{{loc.to}}</strong>
+      <p>{{loc.toAd}}</p></div>
+      <div class="jr_clear"></div>
+    </li>
+  </div>
+  <hr>
+  <br>
+  <!-- <div class="jr_search_bottom_bay jr_padding0">
+  <div class="loader"></div>
+  </div> -->
+  <!-- <div class="jr_search_bottom_bay jr_padding0">
+    <div class="jr_search_profile">
+      <img src="assets/img/e_img14.png">
+    </div>
+    <div class="jr_search_profile_detail">
+      <br>
+      <h6>MARIA LORENZA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;37 Y/O</h6>
+      <span class="jr_star_ratting"><img src="assets/img/jr_star.png"><strong>3/5</strong>1 Rattings</span><br>
+    </div>
+    <div class="jr_clear"></div>
+  </div>
+  <br>
+  <hr>
+   <div class="jr_car_info">
+     <div class="">
+        <ion-grid class="jr_padding0">
+            <ion-row>
+              <ion-col col-2 class="jr_padding0">
+                  <div class="jr_car_info_photo"><img src="assets/img/jr_car_img.png"></div>
+              </ion-col>
+              <ion-col col-4 class="">
+                  <div class="jr_car_info_detail jr_padding0">
+                      <h6>Audi A8</h6>
+                      <p>Blue
+                        Luxury</p>
+                      </div>
+                      <div class="jr_clear"></div>
+              </ion-col>
+              <ion-col col-3 class="jr_padding0">
+                  <div class="jr_car_info_detail jr_padding0">
+                      <p>Total</p>
+                      <h6>300 km</h6>
+                      </div>
+                      <div class="jr_clear"></div>
+              </ion-col>
+              <ion-col col-3 class="jr_padding0 right">
+                  <div class="jr_car_info_detail jr_padding0">
+                      <p>Total  Price</p>
+                      <h6>300 km</h6>
+                      </div>
+                      <div class="jr_clear"></div>
+              </ion-col>
+            </ion-row>
+          </ion-grid>  
+     </div>
+     <div class="jr_clear"></div>
+   </div> -->
+   <div class="jr_bottom_button_bay">
+      <button ion-button class="jr_offer_ride2">Track Driver</button>
+    </div>
+</div>
+
+</ion-content>
+
diff --git a/src/pages/ridedetail/ridedetail.module.ts b/src/pages/ridedetail/ridedetail.module.ts
new file mode 100644
index 0000000..be2c7f6
--- /dev/null
+++ b/src/pages/ridedetail/ridedetail.module.ts
@@ -0,0 +1,16 @@
+import { NgModule } from '@angular/core';
+import { IonicPageModule } from 'ionic-angular';
+import { RidedetailPage } from './ridedetail';
+
+@NgModule({
+  declarations: [
+    RidedetailPage,
+  ],
+  imports: [
+    IonicPageModule.forChild(RidedetailPage),
+  ],
+  exports: [
+    RidedetailPage
+  ]
+})
+export class RidedetailPageModule {}
diff --git a/src/pages/ridedetail/ridedetail.scss b/src/pages/ridedetail/ridedetail.scss
new file mode 100644
index 0000000..d19e681
--- /dev/null
+++ b/src/pages/ridedetail/ridedetail.scss
@@ -0,0 +1,616 @@
+page-ridedetail {
+
+	
+.jr_theme_color{background: #ff9000 !important;border:1px solid #ff9000;}
+.jr_theme_color1{background:#f1672f !important;}
+.jr_left{float: left !important;}
+.jr_right{float: right !important;}
+.jr_clear{clear: both;}
+.jr_text_center{text-align: center !important;}
+.jr_padding0{padding:0px !important;}
+.jr_paddingtop0{padding-top:0px !important;}
+.jr_margin0{margin:0px !important;}
+.jr_paddingbtm0{padding-bottom:0px !important;}
+.jr_marginbtm0{margin-bottom:0px !important;}
+.jr_margintop0{margin-top:0px !important;}
+.jr_bordernone{border:none !important;}
+.jr_bg_none{background:none !important;}
+.jr_transparent{background:rgba(0,0,0,0.8) !important;}
+.button-md.activated {background-color:none !important;box-shadow:none !important;}
+.button-md{box-shadow: none !important;}
+
+
+/*LANDING-PAGE*/
+
+.jr_landing_bg{background:url("../assets/img/jr_landing_bg.png") !important;background-repeat: no-repeat !important;background-position: center bottom !important;background-size: 100% !important;position: relative;}
+.jr_login_bg{background:url("../assets/img/jr_login_bg.png") !important;background-repeat: no-repeat !important;background-position: center bottom !important;background-size: 100% !important;position: relative;}
+.jr_sidemenu_bg{background:url("../assets/img/jr_sidemenu_bg.png") !important;background-repeat: no-repeat !important;height: 100%;background-position: center bottom !important;    padding: 50px;
+background-size:cover !important;position: relative;}
+.jr_landing_overlay{background:linear-gradient(rgba(241, 103, 46, 0.8),  rgba(239, 89, 124, 0.8));}
+.jr_landing_overlay1{background:linear-gradient(rgba(32, 119, 163, 0.8),  rgba(43, 30, 65, 0.8));}
+.jr_slide{text-align: center;}
+.jr_slide img{width:200px;margin-top: 10px;}
+.jr_slide h4{color: #fff;font-size:24px;font-weight:200;margin:0px;}
+.jr_slide h3{color: #fff;font-size:35px;margin:0px;padding-top:5px;padding-bottom: 5px;}
+.jr_slide p{color: #fff;font-size:14px;font-weight:300;    padding-top: 15px;    line-height: 20px;}
+.jr_space{width:100%;height:0px;}
+.jr_landing_btm{position: fixed;width:100%;bottom:50px;z-index: 9;    text-align: center;left:0px;right:0px;}
+.jr_slide hr{border:1px solid #fff;width:40px;border-bottom: 1px solid #fff;border-top: 1px solid #fff;border-radius: 5px;    margin-top: 25px;height: 0px;}
+.jr_btm_btn{height:40px;border-radius:20px;background: #000000;color: #fff;font-family: 'Roboto', sans-serif;padding-left: 20px;padding-right: 20px;-webkit-transition: width 2s; /* For Safari 3.1 to 6.0 */
+    transition: width 2s;width: 120px;margin: 0 auto;text-align: center;font-size: 15px;padding: 10px;border:none;    text-transform: capitalize;}
+.jr_slider_inner{width:80%;margin:0 auto;position: absolute;left:0px;right:0px;top:10%;}
+.jr_btm_btn img{width:8px;}
+.jr_icon_bar{display: inline-block;width:100%;text-align: center;}
+.jr_icon_bar span{display: inline-block;margin-left: 5px;margin-right: 5px;}
+.jr_icon_bar span img{width:30px;}
+.jr_last_slide_btn_bar{width:100%;text-align: center;}
+.jr_strtd_btn{height:40px;border-radius:20px;background: #ffba00;color: #382c59;font-family: 'Roboto', sans-serif;padding-left: 20px;padding-right: 20px;-webkit-transition: width 2s; /* For Safari 3.1 to 6.0 */
+    transition: width 2s;width: 140px;margin: 0 auto;text-align: center;font-size: 15px;padding: 10px;border:none; }
+.jr_sign_bar{width:100%;text-align: center;}
+.jr_sign_bar ul{margin:0px;padding:0px;}
+.jr_sign_bar ul li{display: inline-block;border:1px solid #fff;color: #fff;height:40px;border-radius:20px;padding-left: 20px;padding-right: 20px;text-align: center;font-size: 15px;padding: 10px;background: transparent !important;width:115px !important;margin:20px;}
+.swiper-pagination{display: block !important;}
+.swiper-pagination-bullet{background: #fff;border:1px solid #fff;}
+
+/*HOME*/
+
+.jr_header_btn{width:40px;height:40px;background: transparent;box-shadow: none;}
+.jr_sidemenu_icon{background:url("../assets/img/jr_sidemenu_icon.png") !important;background-repeat: no-repeat !important;background-position: center !important;background-size:20px !important;}
+.jr_back_icon{background:url("../assets/img/jr_back_arrow_icon.png") !important;background-repeat: no-repeat !important;background-position: center !important;background-size:12px !important;}
+.jr_close_icon{background:url("../assets/img/jr_close.png") !important;background-repeat: no-repeat !important;background-position: center !important;background-size:12px !important;}
+.jr_mail_icon{background:url("../assets/img/jr_mail.png") !important;background-repeat: no-repeat !important;background-position: center !important;background-size:20px !important;}
+.jr_profile_icon{background:url("../assets/img/jr_profile.png") !important;background-repeat: no-repeat !important;background-position: center !important;background-size:20px !important;}
+.jr_alert_icon{background:url("../assets/img/jr_alert.png") !important;background-repeat: no-repeat !important;background-position: center !important;background-size:20px !important;}
+.jr_header_title{float: left;height:40px;margin-top: 5px;padding: 8px;padding-left: 0px;}
+.jr_header_title h4{font-family: 'Roboto', sans-serif;color: #fff;margin:0px;font-weight: 300;font-size: 16px;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;    position: relative;top:2px;}
+.jr_header{padding-left:5px;padding-right:5px;box-shadow: none !important;background-image: none !important;}
+.jr_body_wrapper{width:100%;height:100%;}
+.jr_div_half{width:100%;height:50%;position: relative;}
+.jr_div_half img{object-fit: cover;object-position: center;width:100%;height:100%;}
+.jr_div_overlay{background: rgba(0,0,0,0.7);position: absolute;top:0px;left:0px;right:0px;bottom: 0px;text-align: center;padding: 15px;}
+.jr_div_overlay p{text-align: center;color: #bababa;}
+.jr_offer_ride{height:35px;width:130px;border-radius:20px;border:none;
+background: -webkit-linear-gradient(left, #6a449b , #1379a1);
+ background: -o-linear-gradient(right, #6a449b, #1379a1);
+ background: -moz-linear-gradient(right, #6a449b, #1379a1);
+ background: linear-gradient(to right, #6a449b , #1379a1);
+ text-transform: capitalize !important;
+ font-size: 14px;
+font-weight: 400;
+    line-height: 5px;
+}
+.jr_offer_ride1{height:45px;width:130px;border:none;
+background:#4d4d4d;
+border-radius: 0px;
+ 
+ text-transform: capitalize !important;
+ font-size: 14px;
+font-weight: 400;
+    line-height: 5px;
+}
+.jr_offer_ride2{height:45px;width:100%;
+	margin: 0px;
+	border:none;
+	border-radius: 0px;
+background:#4d4d4d;
+ text-transform: capitalize !important;
+ font-size: 14px;
+font-weight: 400;
+    line-height: 5px;
+}
+.jr_offer_ride3{height:45px;width:100%;
+	border:none;
+	border-radius: 0px;
+ background:#4d4d4d;
+ text-transform: capitalize !important;
+ font-size: 14px;
+font-weight: 400;
+    line-height: 5px;
+}
+.jr_offer_ride4{height:35px;width:100%;border:none;
+background:#2874a2;
+ text-transform: capitalize !important;
+ font-size: 14px;
+font-weight: 400;
+    line-height: 5px;
+}
+.jr_offer_ride5{height:35px;width:100%;border:none;
+background:#ff7200;
+ text-transform: capitalize !important;
+ font-size: 14px;
+font-weight: 400;
+    line-height: 5px;
+}
+.jr_over_inner{width:100%;position: relative;top: 25%;}
+.jr_home_tab_content{width:100%;height:100%;}
+.jr_home_tab_bay{width:100%;padding:5px;padding-top: 0px;}
+.jr_home_tab_bay ul{width:100%;text-align: center;padding:5px;margin:0px;}
+.jr_home_tab_bay ul li{width:40%;display: inline-block;text-align: center;color: #fff;padding: 4px;}
+.jr_home_tab_bay ul .active{border:1px solid #fff;border-radius: 20px;}
+
+/*OFFER-FIND-RIDE*/
+
+.jr_ride_wrapper{width:100%;    padding-top: 5px;height: 100%;}
+.jr_ride_wrapper h5{text-align: center;color: #717171;font-weight: 300;}
+.jr_offer_bg{width:100%;padding-top:20px;}
+.jr_offer_bg img{}
+.jr_ride_form{width:90%;margin:0 auto;padding-top:25px;position: relative;padding-bottom:60px;}
+.jr_ride_input1{width:100%;height:30px;border:1px solid #959595;border-radius:20px;background:url("../assets/img/jr_blue_circle.png"),url("../assets/img/jr_loc.png") !important;font-family: 'Roboto', sans-serif;background-repeat: no-repeat !important;background-position: left 7px top 5px,right 8px top 5px!important;background-size:18px !important;    padding-left: 35px;}
+.jr_ride_input2{width:100%;height:30px;border:1px solid #959595;border-radius:20px;background:url("../assets/img/jr_orange_circle.png") !important;font-family: 'Roboto', sans-serif;background-repeat: no-repeat !important;background-position:7px,6px !important;background-size:18px !important;    padding-left: 35px;}
+.jr_box{height:15px;width:20px;border-left:1px dotted #959595;position: absolute;top:56px;left:17px;}
+.jr_custom label {display: inline-block;cursor: pointer;position: relative;padding-left: 25px;margin-right: 15px;color: #8b8b8b;font-size: 13px;font-family: 'Roboto', sans-serif;font-weight:400;}
+.jr_custom label:before {content: "";display: inline-block;width: 14px;height: 14px;margin-right: 10px;position: absolute;left: 0;bottom: 1px;background-color: #ffffff;border-radius:0px !important;border:1px solid #959595;border-radius:3px !important;}
+.jr_custom label:before {border-radius: 8px;}
+.jr_custom input[type=checkbox] {display: none;}
+.jr_custom label:before {border-radius: 3px;}
+.jr_custom input[type=checkbox]:checked + label:before {content: "\2713";font-size: 14px;color: #6a449b;text-align: center;line-height:16px;font-weight:600;}
+.jr_custom{padding-top: 30px;padding-bottom: 30px; padding-left: 5px;}
+.jr_time_div{width:100%;}
+.jr_date{width:65%;float: left;}
+.jr_time{width: 35%;float: left;padding-left: 10px;}
+.jr_input3{width:100%;border:none;min-height:30px !important;border-bottom:1px solid #959595;font-family: 'Roboto', sans-serif;padding: 0px !important;}
+.jr_select{width:100%;border:none;height:30px;border-bottom:1px solid #959595;font-family: 'Roboto', sans-serif;color: #8b8b8b;-webkit-appearance: none;-moz-appearance: none;background:url("../assets/img/jr_dwn_arw.png");background-position: right;background-repeat: no-repeat;background-size: 15px;    font-size: 16px;}
+.jr_select option{color: #8b8b8b;font-family: 'Roboto', sans-serif;}
+.jr_input3 .datetime-ios{padding: 0px !important;color: #646464;font-family: 'Roboto', sans-serif;}
+.jr_input3 .datetime-md{padding: 0px !important;color: #646464;font-family: 'Roboto', sans-serif;}
+.jr_bottom_button_bay{width:100%;position: fixed;bottom: 0px;padding:0px;left:0px;right:0px;text-align: center;}
+.jr_seat_number{width:100%;padding-top:15px;}
+.jr_seat_number ul{padding: 0px;margin:0px;}
+.jr_seat_number ul li{display: inline-block;width:32px !important;height:32px;border-radius:50%;border:1px solid #4a4a4a;background:none !important;color: #4a4a4a;text-align: center;font-family: 'Roboto', sans-serif;    font-size: 18px;padding: 6px !important;    margin: 5px;}
+.jr_seat_number ul li:hover{background:#4a4a4a;color: #fff;}
+.jr_seat_number ul li:focus{background:#4a4a4a !important;color: #fff !important;}
+.jr_seat_number span{color: #8b8b8b;font-family: 'Roboto', sans-serif;font-size: 16px;padding-right: 20px;}
+.header-md::after, .tabs-md[tabsPlacement="top"] > .tabbar::after, .footer-md::before, .tabs-md[tabsPlacement="bottom"] > .tabbar::before{background-image: none !important;}
+.jr_ride_wrapper p{text-align: center;color: #fff;font-weight: 200;}
+.jr_archive_btn{height:30px;border-radius:20px;background: rgba(0,0,0,0.4) !important;font-weight: 200;font-size: 13px;padding-left: 20px;padding-right:20px;}
+
+/*OFFER-RIDE-DETAILS*/
+
+.jr_offerride_details{width: 100%;padding: 15px;padding-top: 0px !important;padding-bottom: 30px;}
+.jr_offerride_details ul{margin:0px;padding:0px;}
+.jr_offerride_details ul li{width: 100%;list-style: none;border-bottom:1px solid #d0d0d0;padding-bottom: 15px;padding-top: 15px;padding-left: 0px !important;}
+.jr_offerride_details ul li h4{margin:0px;font-family: 'Roboto', sans-serif;color: #717171;font-size:17px;font-weight: 400;padding-bottom: 10px;padding-top: 10px;}
+.jr_offerride_details ul li h4 img{width:18px;position: relative;top: 3px;margin-right:10px;}
+.jr_offerride_detail_content{width:100%;}
+.jr_offerride_detail_content_left{width:60%;float: left;}
+.jr_offerride_detail_content_right{width:40%;float: right;height:50px;border-left:1px solid #d0d0d0;}
+.jr_offerride_price_tag{text-align:right;padding-top: 5px;}
+.jr_offer_price{font-family: 'Roboto', sans-serif;color: #2078a2;font-size:30px;font-weight: 600;padding-left:7px;padding-right:7px;}
+.jr_offerride_price_tag img{width:20px;}
+.jr_destination{padding-top:7px;}
+.jr_destination span{font-family: 'Roboto', sans-serif;color: #717171;font-size:16px;font-weight: 400;}
+.jr_destination span img{width:12px;margin-right:10px;}
+.jr_offerride_details ul li h5{font-family: 'Roboto', sans-serif;color: #717171;margin-top:0px;font-weight: 400;font-size: 16px;padding-left: 30px;}
+.jr_offerride_details ul li p{font-family: 'Roboto', sans-serif;color: #7d7d7d;padding-left: 30px;line-height: 18px;    margin-top: 0px;}
+.jr_addcomment_btn{font-family: 'Roboto', sans-serif;color: #fff;font-weight: 300;font-size: 14px;border-radius:20px;height: 30px;background: #363636;padding-left: 20px;padding-right: 20px;text-transform: capitalize;margin-top:15px;}
+.jr_select_offer_outter{padding-left:25px;padding-bottom: 20px;}
+.jr_select_offer{width:100%;border:none;background: transparent;color: #363636;font-family: 'Roboto', sans-serif;    font-size: 20px;-webkit-appearance: none;-moz-appearance: none;background:url("../assets/img/jr_dwn_arw.png");background-position: right;background-repeat: no-repeat;background-size: 15px;}
+.jr_input_comment{width:100%;font-family: 'Roboto', sans-serif;border:none;font-size: 16px;margin-top:10px;}
+.jr_tick{margin:0 auto;}
+.jr_tick img{width:50px;}
+.jr_theme_trans_bg{background: rgba(35,119,162,0.9);}
+.jr_almost_wrapper{text-align: center;    position: absolute;width: 100%;top: 15%;}
+.jr_almost_wrapper h3{color: #fff;font-size: 24px;font-weight: 300;}
+.jr_almost_wrapper p{color: #fff;font-size: 16px;font-weight: 300;}
+.jr_almost_wrapper hr{border:2px solid #85b5cc;height:0px;width:50px;margin:0 auto;border-top:none;margin-top: 30px;margin-bottom: 30px;}
+.jr_loginpop_btn{height:35px;border-radius:20px;background: #fff;width:110px;margin:0 auto;color: #2077a3;font-weight: 500;font-size: 15px;margin:5px;}
+.jr_signpop_btn{height:35px;border-radius:20px;background:transparent;width:110px;margin:0 auto;color: #fff;font-weight: 500;font-size: 15px;border:1px solid #fff;margin:5px;}
+.jr_more_pop_up{position: absolute;top:15px;right:10px;background: transparent;}
+.jr_more_pop_up img{height: 20px;}
+.jr_profile_banner{width:100%;height:200px;background:url("../assets/img/jr_profile_banner.png") !important;background-size:100% !important;background-position: center !important;background-repeat: no-repeat !important;text-align: center;}
+.jr_profile_photo{width:100px;height:100px;border-radius:50%;background-color: #2874a2 !important;margin:0 auto;background:url("../assets/img/jr_avatar.png");background-position: center;background-repeat: no-repeat;    background-size: 30px !important;    position: relative;top: 110px;}
+.jr_profile_photo img{width:100%;height:100%;border-radius:50%;object-fit: cover;object-position: center;}
+.jr_profile_photo1{width:100px;height:100px;border-radius:50%;background-color: #2874a2 !important;margin:0 auto;background:url("../assets/img/jr_avatar.png");background-position: center;background-repeat: no-repeat;    background-size: 30px !important;    position: relative;top: 130px;}
+.jr_profile_photo1 img{width:100%;height:100%;border-radius:50%;object-fit: cover;object-position: center;}
+.jr_profile_photo_edit{position: absolute;top:0px;right:0px;}
+.jr_profile_photo_edit img{width:30px;}
+.jr_profile_content{width:85%;margin:0 auto;padding-bottom: 30px;}
+.jr_profile_content h4{text-align: center;color: #555555;width:100%;padding-top:25px;font-weight: 300;font-size: 16px;}
+.jr_profile_content hr{border:2px solid #ff7200;width:40px;margin:0 auto;border-radius:5px;height:0px;margin-top: 15px;}
+.jr_profile_tab_bay{width:100%;border-radius:20px;height:30px;border:1px solid #a1a1a1;margin-top: 30px;}
+.jr_profile_tab_bay li{width:50%;display: inline-block;text-align: center;float: left;height: 100%;color: #555555;padding: 5px;font-size: 15px;border-radius:20px;}
+.jr_profile_tab_bay .active{background: #434343;color: #fff;}
+.jr_profile_tab_content{width:100%;padding-bottom: 30px;}
+.jr_profile_tab_content h4{text-align: left;color: #434343;font-weight: 500;margin:0px;margin-bottom: 15px;font-size: 17px;}
+.jr_profile_tab_content ul{width:100%;margin:0px;padding:0px;}
+.jr_profile_tab_content ul li{width:100%;list-style: none;color: #777676;font-size: 17px;font-weight: 300;padding-bottom: 7px;padding-top: 7px;background:url("../assets/img/jr_right_arw.png");background-position: right !important;background-repeat: no-repeat !important;background-size: 10px;}
+.jr_profile_tab_content hr{border:1px solid #dcdcdc;width:100%;margin:0 auto;border-radius:5px;height:0px;margin-top:25px;border-top:none;}
+.jr_profile_tab_content ul .verified{background:url("../assets/img/jr_verified1.png");background-size: 15px;}
+.verified{background:url("../assets/img/jr_verified1.png");background-size: 15px;background-position: right !important;background-repeat: no-repeat !important;}
+
+/*POPOVER*/
+
+.jr_popover_wrapper{background-color: rgba(0,0,0,0.7);width:100%;}
+.jr_popover_wrapper ul{margin:0px;padding:5px;}
+.jr_popover_wrapper ul li{list-style: none;color: #d3d3d3;font-size: 16px;padding: 5px;}
+.popover-content{background: transparent !important;box-shadow: none !important;border-radius:0px !important;}
+.popover-arrow::after{background:rgba(0,0,0,0.7) !important;border:none;}
+
+/*EDIT-PROFILE*/
+
+.jr_edit_row{padding-bottom:20px;}
+.jr_edit_row h5{color:#434343;font-weight: 400;font-size: 16px;    margin-top: 0px;margin:0px;}
+.jr_edit_select{border:1px solid #b7b7b7;border-radius:20px;height: 30px;width: 170px;padding-left: 25px;padding-right: 10px;margin-left:15px;background:url("../assets/img/jr_down_arrow.png") !important;background-position: right 15px top 10px !important;background-repeat: no-repeat !important;-webkit-appearance: none;-moz-appearance: none;    background-size: 20px !important;}
+.jr_edit_profile_input{border:none;border-bottom: 1px solid #959595 !important;width:100% !important;height:30px;    margin-top: 5px;}
+.jr_width25{width:25%;float: left;}
+.jr_width5{width:5%;float: left;}
+.jr_width40{width:40%;float: left;}
+.jr_edit_select1{margin-top:8px;border:1px solid #b7b7b7;border-radius:20px;height: 30px;width:100%;padding-left:10px;padding-right: 10px;background:url("../assets/img/jr_down_arrow.png") !important;background-position: right 15px top 10px !important;background-repeat: no-repeat !important;-webkit-appearance: none;-moz-appearance: none;    background-size: 20px !important;}
+.jr_edit_row p{color: #7d7d7d;text-align: justify;font-size: 15px;line-height: 20px;margin-bottom: 0px;}
+.jr_width70{width:70%;float: left;padding-left: 10px;}
+.jr_width30{width:30%;float: left;}
+.jr_profile_content h3{color:#636363;}
+.jr_pre_input{width:100%;height:30px;}
+.jr_width15{width:15%;float: left;}
+.jr_width85{width:85%;float: left;}
+.jr_width15 span img{ width: 35px;}
+.jr_pre_select1 {
+    border: 1px solid #b7b7b7;
+    border-radius: 20px;
+    height: 35px;
+    width: 100%;
+    padding-left:20px;
+    padding-right: 10px;
+    background: url(../assets/img/jr_down_arrow.png) !important;
+    background-position: right 15px top 10px !important;
+    background-repeat: no-repeat !important;
+    -webkit-appearance: none;
+    -moz-appearance: none;
+    background-size: 20px !important;
+    color: #717171;
+}
+.jr_chooseid{width:100px;position: relative;top: 90px;}
+.jr_proofs_list{width:100%;}
+.jr_proofs_list li{width:100%;list-style: none;padding-bottom: 10px;padding-top: 10px;}
+.jr_proofs_list li p{float: left;color: #777676;padding: 0px;margin:0px;font-size: 18px;}
+.jr_radio_id{float:right;}
+.jr_radio_id .radio-icon{border-color:#ff7200 !important;}
+.jr_radio_id .radio-inner{background-color:#ff7200 !important;}
+.jr_confidential{width:100%;border-top:1px solid #959595;padding-top:25px;padding-bottom: 50px;}
+.jr_confidential_left{width:25%;float: left;text-align: center;border-right:1px solid #959595;}
+.jr_confidential_left img{width:30px;}
+.jr_confidential_right{width:75%;float: right;padding-right:15px;}
+.jr_confidential_right p{color:#989797;margin:0px;padding-left: 10px;}
+.jr_upload_img{width:100%;}
+.jr_chooseid1{width: 100px;position: relative;top:45px;}
+.jr_country_code{width:20%;float: left;}
+.jr_phone_number{width:75%;float: right;}
+.jr_car_pic{width:60px;height:60px;border-radius:50%;background-color: #ff7200 !important;  background: url(../assets/img/jr_cam.png);background-position: center !important;background-repeat: no-repeat;background-size:20px;float: left;position: relative;}
+.jr_car_name{float: left;    padding-left: 10px;position: relative;top: 10px;}
+.jr_car_name h5{margin:0px;font-size: 16px;}
+.jr_edit1{position: absolute;top:0px;right:0px;}
+.jr_edit1 img{width:20px;}
+.jr_car_name p{margin:0px;font-size: 12px;padding-top: 5px;}
+.jr_no_seat{padding-top: 10px;}
+.jr_no_seat h4{margin:0px;padding:0px;text-align: left;font-family: 'Roboto', sans-serif;color: #8b8b8b;font-size: 16px;}
+.jr_no_seat h4 img{    width: 18px;margin-right:10px;}
+.jr_close{}
+.jr_close img{width:40px;margin-top:20px;}
+.jr_space_height{height:100px;}
+.jr_add_car_bg{background-color:#fff !important;background:url("../assets/img/jr_profile_banner.png");background-repeat: no-repeat !important;background-position: center bottom !important;background-size: 150% !important;}
+.jr_upload_image_car{width:180px;height:180px;border-radius:50%;margin:0 auto;}
+.jr_upload_image_car img{width:100%;height:100%;border-radius:50%;}
+.jr_profile_banner1 {
+    width: 100%;
+    height: 200px;
+    background: url(../assets/img/jr_public_bg.png) !important;
+    background-size: 100% !important;
+    background-position: center !important;
+    background-repeat: no-repeat !important;
+    text-align: center;
+}
+.jr_age1{width:100%;margin:0px;text-align: center;color:#555555;    font-size: 16px;}
+.jr_notification{width:100%;}
+.jr_notification ul{width:100%;margin:0px;padding:0px;    padding-top: 10px;}
+.jr_notification ul li{width:100%;background: none !important;}
+.jr_notification ul li .child1{float:left;width:80%;}
+.jr_notification ul li .child2{float:right;width:20px;}
+.jr_custom1 label {display: inline-block;cursor: pointer;position: relative;padding-left: 25px;margin-right: 15px;color: #8b8b8b;font-size: 13px;font-family: 'Roboto', sans-serif;font-weight:400;}
+.jr_custom1 label:before {content: "";display: inline-block;width: 14px;height: 14px;position: absolute;left: 0;bottom: 1px;background-color: #ffffff;border-radius:0px !important;border:1px solid #959595;border-radius:3px !important;}
+.jr_custom1 label:before {border-radius: 8px;}
+.jr_custom1 input[type=checkbox] {display: none;}
+.jr_custom1 label:before {border-radius: 3px;}
+.jr_custom1 input[type=checkbox]:checked + label:before {content: "\2713";font-size: 14px;color: #6a449b;text-align: center;line-height:16px;font-weight:600;border:1px solid #ff7200;}
+.jr_custom1{width:15px;position: relative;top: 4px;}
+.jr_profile_tab_content h6{color: #a8a8a8;    font-size: 14px;margin:0px;font-weight: 300;}
+.jr_message_wrapper{}
+.jr_home_tab_bay1 {width: 100%;padding: 5px;padding-top: 0px;}
+.jr_home_tab_bay1 ul {width:85%;text-align: center;padding: 0px;margin: 0 auto;border:1px solid #144b6d;border-radius:20px;margin-bottom: 5px;}
+.jr_home_tab_bay1 ul li {width: 50%;display: inline-block;text-align: center;color: #fff;padding:5px;float: left;}
+.jr_home_tab_bay1 ul .active {background:#144b6d;border-radius: 20px;}
+.jr_no_msg{padding-top:75px;}
+.jr_notification_main{width:100%;}
+.jr_notification_main ul{margin:0px;padding:0px;width:100%;    padding-top: 10px;}
+.jr_notification_main ul li{width:100%;list-style: none;text-align: left;border-bottom: 1px solid #dcdcdc;padding-bottom: 5px;}
+.jr_notification_main ul li h4{color: #144b6d;text-align: left;padding: 0px;font-weight: 400;}
+.jr_notification_main ul li p{color: #8e8e8e;text-align: left;font-weight: 300;}
+.jr_not_left{float: left;    width: 80%;}
+.jr_not_close{float: right;    position: relative;top: 30px;}
+.jr_not_close img{width:20px;}
+
+/*SEARCH-RESULT*/
+
+.jr_duration{width:100%;padding-top: 20px;padding-bottom: 20px;border-bottom:1px solid #bbbbbb;}
+.jr_avg_duration{width: 50%;float: left;text-align: right !important;background:url("../assets/img/jr_clock.png");background-repeat: no-repeat !important;background-position:left !important;background-size: 25px !important;padding-right: 15px;}
+.jr_avg_price{width:50%;float: left;text-align: left !important;    padding-left: 15px;border-left:1px solid #bbbbbb;}
+.jr_duration p{margin:0px;padding:0px;color: #818181;font-size: 11px;font-weight: 300;}
+.jr_duration h4{margin:0px;padding:0px;color: #279a80;    font-size: 13px;}
+.jr_avg_duration p{text-align: right !important;}
+.jr_avg_duration h4{text-align: right !important;padding-top: 4px;}
+.jr_avg_price p{text-align: left !important;padding-bottom: 3px;}
+.jr_avg_price h4{text-align: left !important;}
+.jr_avg_price h4 strong{    font-size: 15px;}
+.jr_search_main{width:100%;}
+.jr_search_main h5{margin:0px;color: #434343;font-size: 16px;padding-top: 15px;padding-bottom:5px;}
+.jr_search_main ul{margin:0px;padding: 0px;}
+.jr_search_main ul li{list-style: none;background: #f5f5f5;margin-bottom: 3px;}
+.jr_search_top_bay{width:100%;padding: 10px;border-bottom: 1px solid #e7e7e7;}
+.jr_search_top_bay_left{float: left;}
+.jr_search_top_bay_right{float: right;}
+.jr_search_top_bay_left h6{color: #434343;margin:0px;padding: 0px; font-size: 12px;font-weight: 500;padding-bottom: 3px;}
+.jr_search_top_bay_left h6 strong{color: #767676;margin:0px;padding: 0px;font-size: 14px;font-weight: 500;padding-left:8px;}
+.jr_search_top_bay_right h6{text-align: right;color: #2078a2;margin:0px;padding: 0px;}
+.jr_search_bottom_bay{width:100%;padding: 10px;}
+.jr_search_profile{float: left;width:75px;height:75px;border-radius:50%;border:1px solid #2078a2;position: relative;}
+.jr_search_profile img{width:100%;height:100%;border-radius:50%;object-fit: cover;object-position: center;}
+.jr_search_profile_detail{float: left;padding-left: 15px;}
+.jr_search_verified{position:absolute;top:0px;right:0px;}
+.jr_search_verified img{width: 20px;border:none;}
+.jr_search_profile_detail h6{margin:0px;color: #585858;font-weight: 400;font-size: 13px;padding-bottom: 5px;}
+.jr_star_ratting{color: #585858;font-weight: 300;}
+.jr_star_ratting strong{padding-left:5px;padding-right: 10px;}
+.jr_star_ratting img{width: 14px;    position: relative;top: 1px}
+.jr_search_profile_detail ul{margin:0px;padding: 0px;padding-top:10px;}
+.jr_search_profile_detail ul li{display: inline-block;width:30px;height:30px;border:1px solid #2078a2;border-radius:50%;color: #585858;font-size: 10px;padding-top: 4px;text-align: center;}
+.jr_search_profile_detail ul li span{position: relative;top:2px;}
+.jr_filter_icon{width:50px;height:50px;background:url("../assets/img/jr_filter_icon.png");background-repeat: no-repeat !important;background-size: cover !important;position: fixed;bottom: 10px;right:20px;border-radius:50%;}
+.jr_filter_okay{width:50px;height:50px;background:url("../assets/img/jr_filter_okay.png");background-repeat: no-repeat !important;background-size: cover !important;position: fixed;bottom: 10px;right:80px;border-radius:50%;}
+.jr_filter_close{width:50px;height:50px;background:url("../assets/img/jr_filter_close.png");background-repeat: no-repeat !important;background-size: cover !important;position: fixed;bottom: 10px;right:20px;border-radius:50%;}
+.jr_bookonline{height: 30px;border-radius:20px;border:none;background: #f16730;color: #fff;text-transform: capitalize;margin-top: 10px;    font-size: 12px;}
+.jr_preference_bay{width:100%;}
+.jr_preference_bay ul{width:100%;text-align: left;padding: 0px;margin:0px;}
+.jr_preference_bay ul li{display: inline-block;}
+.jr_preference_bay ul li img{width: 30px;margin-right: 5px;}
+.jr_verification{margin:0px;padding: 0px;padding-top: 5px;}
+.jr_verification li {width: 100%;list-style: none;color: #777676;font-size: 17px;font-weight: 300;padding-bottom: 7px;padding-top: 7px;padding-left:30px;background-position:left !important;background-repeat: no-repeat !important;background-size: 10px;}
+.jr_verification .verified{background:url("../assets/img/jr_verified1.png");background-size: 15px;}
+.jr_verification .response{background:url("../assets/img/jr_response.png");background-size: 15px;}
+.jr_verification .time{background:url("../assets/img/jr_time.png");background-size: 15px;}
+.jr_verification .loca{background:url("../assets/img/jr_loca.png");background-size: 15px;}
+.child1{width:40%;float: left;}
+.child2{width:60%;float: left;}
+.jr_time_schedule{padding-top: 0px;padding-bottom: 15px;}
+.jr_time_schedule h5{color:#464646;font-weight: 300;font-size: 24px;}
+.jr_from_to{width:100%;}
+.jr_from_to li{list-style: none;width:100%;    padding-bottom: 15px}
+.jr_from_to .child1{width:25%;float: left;    font-size: 16px;color: #464646;position: relative;}
+.jr_from_to .child2{width:75%;float: left;padding-left: 20px;}
+.jr_from_to .child2 strong{color: #595959;font-size: 16px;}
+.jr_from_to .child2 p{color: #595959;font-weight: 300;margin: 0px;    font-size: 15px;}
+.jr_from_to .from{border-radius: 20px;background: url(../assets/img/jr_blue_circle.png) !important;font-family: 'Roboto', sans-serif;background-repeat: no-repeat !important;background-position:right 8px top 2px !important;background-size: 16px !important;}
+.jr_from_to .to{border-radius: 20px;background: url(../assets/img/jr_orange_circle.png)!important;font-family: 'Roboto', sans-serif;background-repeat: no-repeat !important;background-position:right 8px top 2px !important;background-size: 16px !important;}
+// .jr_box1 {height: 50px;width: 20px;border-right: 1px solid #b6b6b6;position: absolute;top: 20px;right: 19%;}
+.jr_available_seats{width:100%;color: #838383;font-size: 18px;padding-top: 20px;padding-bottom: 20px;}
+.jr_available_seats strong{color: #464646;}
+.jr_seats_left{float: left;width:50%;}
+.jr_seats_right{float: right;width:50%;text-align: right;}
+.jr_contact_btn{width: 100%;height:35px;border:1px solid #1d78a3;border-radius: 20px;color: #1d78a3;background: transparent;font-size: 15px;background: url(../assets/img/jr_call.png) !important;background-repeat: no-repeat !important;background-size: 20px !important;background-position: 15% !important;}
+.jr_contact_btn span img{}
+.jr_profile_content1{padding-bottom: 60px;}
+.jr_profile_content1 h5{margin: 0px;color: #434343;font-size: 16px;padding-top: 15px;padding-bottom: 5px;}
+.jr_profile_content1 p{color: #595959;font-weight: 300;margin: 0px;font-size: 15px;padding-top: 10px;padding-bottom:10px;}
+.jr_verification .loca1{background:url("../assets/img/jr_loca1.png");background-size: 15px;}
+.jr_verification .detour{background:url("../assets/img/jr_detour.png");background-size: 15px;}
+.jr_verification .flex{background:url("../assets/img/jr_flex.png");background-size: 15px;}
+.jr_verification .seat1{background:url("../assets/img/jr_seat1.png");background-size: 15px;}
+.jr_car_info{width:100%;padding-top: 15px;}
+.jr_car_info_left{width:50%;float: left;}
+.jr_car_info_right{width:50%;float: right;}
+.jr_car_info_right p img{width:30px;}
+.jr_car_info_right p span{position: relative;    position: relative;bottom: 10px;left: 5px;}
+.jr_car_info_photo{float: left;width:50px;height:50px;border-radius:50%;}
+.jr_car_info_photo img{width:100%;height:100%;border-radius:50%;object-fit: cover;object-position: center;}
+.jr_car_info_detail{float: left;    padding: 10px;padding-left: 20px;padding-top: 0px;}
+.jr_car_info_detail h6{margin:0px;}
+.jr_car_info_detail p{margin:0px;padding: 0px;}
+.jr_car_info_detail p img{width:20px;}
+.jr_report{height:35px;border:1px solid #000000;border-radius:20px;padding-left:20px;padding-right:20px;text-transform: capitalize;background: transparent;color: #000000;}
+.jr_bottom_button_bay1{text-align: center;}
+
+.jr_book_pop_up_wrapper{width:70%;margin:0 auto;background: #ffffff;border-radius:20px;    padding: 25px;margin-top:50px;}
+
+.jr_book_pop_up_wrapper h4 {text-align: center;color: #555555;width: 100%;padding-top: 30px;  font-weight: 300;font-size: 16px;}
+.jr_book_pop_up_wrapper h3 {color: #636363;}
+.jr_book_pop_up_wrapper hr {border: 2px solid #ff7200;width: 40px;margin: 0 auto;border-radius: 5px;height: 0px;margin-top: 15px;}
+.jr_counter{width:100%;text-align: center;    padding-top: 15px;}
+.jr_count_item{}
+.jr_count_item img{width:20px;}
+.jr_count{color:#1188ca;font-size: 35px;font-weight: 300;    padding-left: 10px;padding-right: 10px;}
+.jr_bottom_send{background: #343434;color: #fff;border-radius:20px;height:35px;border:none;color: #fff;font-size: 14px;padding-left: 40px;padding-right: 40px;text-transform: capitalize;    line-height: 13px;}
+.jr_bottom_send span img{width: 16px;margin-left: 10px;}
+.jr_text_msg{width:100%;position: relative;margin-bottom: 50px;}
+.jr_send_msg{width:100%;border:none;border-bottom: 1px solid #bcbcbc;height:35px;font-size: 16px;}
+.jr_send_msg::-webkit-input-placeholder { color:#8c8c8c;}
+.jr_send_msg::moz-input-placeholder { color:#8c8c8c;}
+.jr_attch{position: absolute;right:0px;top:0px;}
+.jr_attch span img{height:25px;margin-left: 10px;}
+.jr_no_ride{width:100%;}
+.jr_no_ride p{text-align: center;color: #7d7d7d;}
+.jr_ride_wrapper h3{color: #2078a2;font-weight: 300;text-align: justify;    font-size: 18px;}
+.jr_ride_wrapper ul{padding: 0px;margin:0px;}
+.jr_ride_wrapper ul li{list-style: none;color: #717171;    font-size: 16px;font-weight: 300;padding-left: 30px;background-position: left !important;background-repeat: no-repeat !important;}
+.jr_ride_wrapper .from{    background: url(../assets/img/jr_blue_circle.png);background-size: 15px;}
+.jr_ride_wrapper .to{ background: url(../assets/img/jr_orange_circle.png);background-size: 15px;}
+.jr_rangebar{padding: 0px;}
+.jr_rangebar .item-inner{padding: 0px !important;}
+.jr_rangebar .range-knob{background: #2077a3 !important;}
+.jr_rangebar .range-bar-active{background: #2077a3 !important;}
+.jr_rangebar .range-pin{background: #2077a3 !important;color: #fff;}
+.jr_rangebar .range-pin::before{background: #2077a3 !important;color: #fff;}
+.jr_rangebar h6{color: #464646;    position: relative;top: 30px;}
+.jr_member_rate{height: 35px;border-radius:20px;width:100%;border:none;color: #fff;text-transform: capitalize;background: #4d4d4d;    font-size: 15px;font-weight: 400;}
+.jr_inside_bg{width:100%;height:100%;background:#2b7091;}
+.jr_sidemenu_top{width:100%;text-align: center;}
+.jr_sidemenu_photo{width:100px;height:100px;border:2px solid #fff;border-radius:50%;}
+.jr_sidemenu_photo img{width:100%;height:100%;border:1px solid #fff;border-radius:50%;object-fit:cover;object-position: center;}
+.jr_sidemenu_detail{}
+.jr_sidemenu_detail h4{color: #fff;font-weight: 300;font-size:18px;}
+.jr_sidemenu_detail p{color: #fff;font-weight: 400;font-size: 14px;    margin-top: 0px;}
+.jr_side_edit{border-radius:20px;background: #11445b;padding-left:20px;padding-right: 20px;color: #fff;font-size: 16px;height:30px;}
+.jr_sidemenu_detail ul{margin:0px;padding:0px;    padding-top: 50px;}
+.jr_sidemenu_detail ul li{color: #fff;list-style: none;padding-bottom: 20px;}
+.jr_sidemenu_detail ul li img{height: 18px;margin-right: 15px;}
+.jr_sidemenu_detail ul li span{font-size: 16px;font-weight: 300;}
+.jr_home_active{width:100%;height:100%;background:url("../assets/img/jr_home_active.png") !important;background-repeat: no-repeat !important;background-position: center bottom !important;background-size:cover !important;position: relative;}
+.jr_home_offer_ride{width:100%;    padding-top: 20px;
+}
+.jr_home_offer_ride ul{margin:0px;padding:0px;position:relative;}
+.jr_home_offer_ride ul li{width:100%;list-style: none;background: #fff;border-radius:8px;margin-bottom: 10px;position:relative;padding:10px;position: relative;}
+.jr_offer_ride_top{
+  background: -webkit-linear-gradient(left, #1379a1 , #6a449b);
+   background: -o-linear-gradient(right, #1379a1, #6a449b);
+   background: -moz-linear-gradient(right, #1379a1, #6a449b);
+   background: linear-gradient(to right, #1379a1 , #6a449b);
+   color: #fff;
+   padding:11px;border-radius:10px;
+   font-weight: 300;font-size: 16px;
+   position: relative;
+    top: 10px;
+height:50px;
+}
+.jr_book_ride_top{
+  background: -webkit-linear-gradient(left, #f16436 , #ef548d);
+   background: -o-linear-gradient(right, #f16436, #ef548d);
+   background: -moz-linear-gradient(right, #f16436, #ef548d);
+   background: linear-gradient(to right, #f16436 , #ef548d);
+   color: #fff;
+   padding:11px;border-radius:10px;
+   font-weight: 300;font-size: 16px;
+   position: relative;
+    top: 10px;
+height:50px;
+}
+.jr_home_offer_photo{width:60px;height:60px;border-radius:50%;float: left;}
+.jr_home_offer_photo img{width:100%;height:100%;border-radius:50%;}
+.jr_home_offer_detail{float:right;    padding-left: 15px;position: relative;width:75%;}
+.jr_home_offer_detail h5{margin:0px;padding: 0px;color: #2077a3;font-weight: 300;text-align: left;}
+.jr_home_offer_detail h6{margin:0px;padding: 0px;color: #757575;padding-top: 3px;padding-bottom: 3px;font-weight:300;}
+.jr_home_offer_detail p{margin:0px;padding: 0px;color: #9d9d9d;font-weight: 300;text-align: left;}
+.jr_home_offer_detail p span{margin-left:10px;margin-right:10px;}
+.jr_home_offer_detail p span img{width:8px;}
+.jr_edit_more{position: absolute;bottom:10px;right:10px;}
+.jr_edit_more img{width: auto;height:16px;}
+.jr_home_btm{background:url("../assets/img/jr_exclam.png") !important;background-repeat: no-repeat !important;    background-position: left 10px top 5px !important;background-size: 18px !important;color: #e9801a;text-align: center;font-weight: 300;}
+.jr_home_btm hr{width:100%;border:1px solid #b3b3b3;border-top:none;height:0px;}
+.jr_home_btm p{text-align: center;margin:0px;color: #e9801a;padding-top: 5px;}
+.jr_your_booking{width:100%;}
+.jr_request_confirm{width:100%;padding-bottom: 15px;border-bottom:1px solid #dcdcdc;padding-top: 10px;}
+.jr_request_left{width:20%;float: left;text-align:center;}
+.jr_request_left img{ width: 30px;margin:0 auto;padding-top: 20px;}
+.jr_request_right{width:80%;float: right;border-left:1px solid #dcdcdc;padding-left: 15px;}
+.jr_request_right h5{color: #699ab8;margin:0px;padding: 0px;font-size: 18px;}
+.jr_request_right p{color: #949494;margin:0px;padding: 0px;    padding-top: 10px;font-size: 12px;padding-bottom: 3px;}
+.jr_request_right h6{color: #464646;margin:0px;padding: 0px;font-size:15px;}
+.jr_time_schedule p{color: #f16730;padding:0px;margin:0px;font-weight: 400;}
+.jr_summary{width:100%;}
+.jr_summary h6{font-size: 13px;padding-top: 5px;padding-bottom: 5px;}
+.jr_summary_details{width:100%;}
+.jr_summary_details h5{font-size:16px;padding-bottom: 15px;}
+.jr_summary_details h5 span img{height:13px;margin-left:15px;}
+.jr_summary_details p{font-size: 14px;padding-bottom:5px;padding-top: 5px;}
+.jr_summary_msg{width:100%;background:url("../assets/img/jr_summary_msg.png") !important;background-repeat: no-repeat !important;color: #3c83a9;    font-size: 16px;padding-left: 30px;    background-size: 20px !important;}
+.jr_login_wrapper{width:100%;padding-top: 35px;}
+.jr_logo{width:100%;text-align: center;}
+.jr_logo img{width: 100px;}
+.jr_login_detail{width:100%;padding-top: 20px;text-align: center;}
+.jr_login_detail h5{color: #fff;text-align: center;margin:0px;font-weight: 300;font-size: 20px;}
+.jr_login_detail h4{color: #fff;text-align: center;margin:0px;font-weight: 600;padding: 0px;font-size: 25px;padding-bottom: 10px;padding-top:0px;}
+.jr_login_detail p{color: #fff;text-align: center;margin:0px;font-size: 14px;font-weight: 300;}
+.jr_login_detail hr{border-color: #fff !important;margin-top: 30px;margin-bottom: 50px;}
+.jr_login_input{height:35px;border:1px solid #1379a1;border-radius:20px;width:100%;background: transparent;padding-left:20px;padding-right: 15px;margin-bottom: 15px;color: #fff;}
+.jr_login_input::-webkit-input-placeholder {color:#fff;}
+.jr_login_input::-moz-placeholder {color:#fff;}
+.jr_login_input:-ms-input-placeholder {color:#fff;}
+.jr_login_input:-moz-placeholder {color:#fff;}
+.jr_btm_btn1 {height: 40px;border-radius:50%;background: #1379a1;color: #fff;font-family: 'Roboto', sans-serif;transition: width 2s;width: 40px;margin: 0 auto;text-align: center;font-size: 15px;padding: 10px;  border: none;text-transform: capitalize;}
+.jr_btm_btn2 {height: 40px;border-radius:50%;background: #f05e5a;color: #fff;font-family: 'Roboto', sans-serif;transition: width 2s;width: 40px;margin: 0 auto;text-align: center;font-size: 15px;padding: 10px;  border: none;text-transform: capitalize;}
+.jr_btm_btn1 img {width: 8px;}
+.jr_btm_btn2 img {width: 8px;}
+.jr_login_input1{height:35px;border:1px solid #f16823;border-radius:20px;width:100%;background: transparent;padding-left:20px;padding-right: 15px;margin-bottom: 15px;color: #fff;}
+.jr_login_input1::-webkit-input-placeholder {color:#fff;}
+.jr_login_input1::-moz-placeholder {color:#fff;}
+.jr_login_input1:-ms-input-placeholder {color:#fff;}
+.jr_login_input1:-moz-placeholder {color:#fff;}
+.jr_passcode{padding-bottom: 50px;}
+.jr_passcode ul{margin:0px;padding: 0px;width:100%;text-align: center;}
+.jr_passcode ul li{display: inline-block;width:50px;height:50px;border-radius:50%;text-align: center;    margin: 5px;}
+.jr_passcode_select{width:100%;height:100%;border-radius:50%;border:1px solid #fff;background: transparent;color: #fff; -webkit-appearance: none;-moz-appearance: none;text-align: center;    font-size: 16px;padding-left: 18px;}
+.jr_passcode_select option{color: #fff;text-align: center;}
+.jr_passcode_select:focus{width:100%;height:100%;border-radius:50%;border:1px solid #f16823;}
+.jr_passcode_select option:focus{color:#f16823;width:100%;text-align: center !important;}
+.jr_submit_signup{height: 35px;  border-radius: 20px;  border: none;background: linear-gradient(to right, #f16823, #ef519d);text-transform: capitalize !important;font-size: 14px;font-weight: 400;  line-height: 5px;padding-left: 25px;padding-right:25px;margin:0 auto;margin-bottom: 15px;}
+.jr_pick_drop{width:100%;height:100%;}
+.jr_map{width:100%;height:60%;background:url("../assets/img/jr_map_bg.png") !important;background-repeat: no-repeat;background-position: center;background-size: cover !important;}
+.jr_pick_drop_detail{width:100%;height:40%;box-shadow: 10px 10px 60px 15px #888888;padding: 10px;}
+.jr_up_arw{width:100%;text-align: center;}
+.jr_up_arw img{width: 20px;}
+.jr_pick_drop_detail ul{width:80%;margin:0px;padding:0px;margin: 0 auto;padding-top: 15px;padding-bottom: 15px;}
+.jr_pick_drop_detail ul li{width:100%;margin:0px;padding:0px;list-style: none;width:100%;padding-bottom: 7px;padding-top: 7px;}
+.jr_pick_drop_detail ul li p{float: left;color: #777676;font-size:16px;margin:0px;padding-top: 5px;padding-left: 15px;}
+.jr_pick_drop_detail ul hr{width:100%;height:0px;margin-top:20px;border-bottom:1px solid #e7e7e7;border-top:none;height:0px;}
+.jr_pick_drop_detail h5{text-align: center;color: #777676;font-size: 20px;font-weight: 300;}
+.jr_pick_drop_detail  hr{width:40px;border:2px solid #ff7200;border-radius:20px;height:0px;margin:0 auto;}
+.jr_loc_no{float: left;width:30px;height:30px;background:url("../assets/img/jr_loc1.png") !important;font-size:12px;background-repeat: no-repeat !important;background-position:center !important;color: #fff;text-align: center;background-size: 25px !important;padding-top:7px;}
+.jr_other_place{border:1px solid #2078a2;color: #2078a2;height:35px;padding-left: 20px;padding-right: 20px;border-radius:20px;background: transparent;}
+.jr_loc_no1 .jr_radio_id {float: right;position: relative;top: 4px;}
+
+/*CHAT*/
+
+.jr_chat_div{}
+.jr_chat_div ul{margin:0px;padding:0px;}
+.jr_chat_div ul li{list-style: none;width:100%;padding-top: 10px;padding-bottom: 10px;}
+.jr_chat_div .jr_sender{}
+.jr_chat_div .jr_receiver{}
+.jr_search_profile{}
+.chat_i{width:20px;height:20px;position: absolute;background-position: center !important;background-size:30px;background-repeat: no-repeat !important;}
+.jr_sender .chat_i{left:-9px;top:3px;background:url("../assets/img/jr_chat_left.png") !important;    background-repeat: no-repeat !important;}
+.jr_receiver .chat_i{right:-9px;top:3px;background:url("../assets/img/jr_chat_right.png") !important;    background-repeat: no-repeat !important;    background-size: 20px !important;}
+.jr_chat_detail{ padding-top: 8px;}
+.jr_message{border-radius:20px;color: #fff;padding:8px;position:relative;}
+.jr_chat_top{padding-bottom: 10px;}
+.jr_chat_top strong{color: #585858;font-weight: 500;font-size: 13px;}
+.jr_chat_top span{color: #8a8a8a;font-weight: 400;font-size: 13px;}
+
+.jr_chat_detail .jr_chat_top{margin:0px;}
+.jr_chat_detail .jr_chat_top strong{color: #585858;}
+.jr_chat_detail .jr_chat_top span{color: #8a8a8a;}
+
+.jr_sender .jr_search_profile{float: left;}
+.jr_receiver .jr_search_profile{float: right;}
+.jr_sender .jr_chat_detail{float: left;padding-left: 20px;}
+.jr_receiver .jr_chat_detail{float: right;padding-right:20px;}
+.jr_sender .jr_message{background: #2077a3;padding-left: 15px;}
+.jr_receiver .jr_message{background: #166086;text-align: right;padding-right: 15px;}
+.jr_sender .jr_chat_detail .jr_chat_top{text-align: left;}
+.jr_receiver .jr_chat_detail .jr_chat_top{text-align: right;}
+.jr_sender .jr_chat_detail .jr_chat_top strong{float: left;margin-right:20px;}
+.jr_sender .jr_chat_detail .jr_chat_top span{float: left;}
+.jr_receiver .jr_chat_detail .jr_chat_top strong{float: right;margin-left:20px;}
+.jr_receiver .jr_chat_detail .jr_chat_top span{float: right;}
+
+.jr_driver_profile{background:#f0f0f0;    padding: 10px;}
+.jr_driver_profile .jr_search_profile_detail{}
+.jr_driver_profile .jr_search_profile_detail h6{font-size: 16px;}
+.jr_driver_profile .jr_search_profile_detail h6 span{float: right;font-size: 12px;position: relative;top: 3px;}
+.jr_driver_profile .jr_home_offer_photo{border:1px solid #2078a2;}
+.jr_avia{width:100%;}
+.jr_avia .left{float: left;}
+.jr_avia .right{float:left;}
+.jr_avia img{width:15px;    position: relative;top: 4px;margin-right: 10px;}
+.jr_approve_btn_bay{width:100%;}
+.jr_approve_btn{width:49%;float: left;height:35px;border-radius:20px;background: #49a11e;color: #fff;font-size: 16px;text-transform: capitalize;}
+.jr_decline_btn{width:49%;float: right;height:35px;border-radius:20px;background: #515151;color: #fff;font-size: 16px;text-transform: capitalize;}
+.jr_edit_btn{width:49%;float: left;height:35px;border-radius:20px;background:transparent;color: #f7941d;font-size: 16px;border:1px solid #f7941d;text-transform: capitalize;}
+.jr_delete_btn{width:49%;float: right;height:35px;border-radius:20px;background:transparent;color: #d52a2a;font-size: 16px;border:1px solid #d52a2a;text-transform: capitalize;}
+.jr_p{color: #717171 !important;text-align: left !important;font-size: 16px;font-weight: 400 !important;}
+}
diff --git a/src/pages/ridedetail/ridedetail.ts b/src/pages/ridedetail/ridedetail.ts
new file mode 100644
index 0000000..807f5f9
--- /dev/null
+++ b/src/pages/ridedetail/ridedetail.ts
@@ -0,0 +1,88 @@
+import { Component, NgZone } from '@angular/core';
+import { IonicPage, NavController, NavParams, Platform } from 'ionic-angular';
+import { dataService } from "../../providers/common.service";
+import { Myservice } from "../../providers/myservice";
+import { Storage } from "@ionic/storage";
+import { user } from "../../models/mymodel";
+
+declare var google;
+@IonicPage()
+@Component({
+  selector: 'page-ridedetail',
+  templateUrl: 'ridedetail.html',
+})
+export class RidedetailPage {
+  book: any;
+  geocoder: any;
+  loc = { from: '', to: '', fromAd: '', toAd: '' }
+  local: user
+  public unregisterBackButtonAction: any;
+
+  constructor(public navCtrl: NavController, public navParams: NavParams, private data: dataService, private zone: NgZone, private myservice: Myservice, private storage: Storage, public platform: Platform) {
+  }
+
+  ionViewDidEnter() {
+    // this.myservice.show_loader()
+    this.initializeBackButtonCustomHandler();
+    this.storage.get('user_data').then(data => {
+      if (data) {
+        this.local = data
+        this.book = this.data.getbookingData()
+        console.log(this.book)
+        var bdata = { 'book_date': this.book.date, 'drop_area': this.book.dropArea, 'pickup_area': this.book.pickArea, 'taxi_type': this.book.carDetails.car_type, 'amount': '', 'km': '', 'promocode': this.book.promocode, 'token': this.local.token, 'userid': this.local.id, 'type':'now' }
+        this.myservice.load_post(bdata, 'book_cab').subscribe(response => {
+          this.myservice.hide_loader()
+          if (response.status == 'success') {
+            this.myservice.load_post({},'checkBookingStatus')
+          }
+          else {
+            this.myservice.show_alert('Failed', 'Please try again')
+            this.navCtrl.pop()
+          }
+        })
+
+        this.geocoder = new google.maps.Geocoder();
+        for (let i = 0; i < 2; i++) {
+          if (i == 0) {
+            var lat = this.book.pickLat
+            var lng = this.book.pickLng
+          }
+          else {
+            var lat = this.book.dropLat
+            var lng = this.book.dropLng
+          }
+          var latlng = new google.maps.LatLng(lat, lng);
+          var This = this;
+          This.geocoder.geocode({ 'latLng': latlng }, function (results, status) {
+            if (status == google.maps.GeocoderStatus.OK) {
+              if (results[0]) {
+                if (i == 0) {
+                  This.loc.from = results[0].address_components[0].short_name
+                  This.loc.fromAd = results[0].formatted_address
+                }
+                else {
+                  This.loc.to = results[0].address_components[0].short_name
+                  This.loc.toAd = results[0].formatted_address
+                  This.zone.run(() => { });
+                }
+              }
+            }
+            else {
+              console.log("Geocoder failed due to: " + status);
+            }
+          });
+        }
+      }
+    })
+  }
+
+  public initializeBackButtonCustomHandler(): void {
+    this.unregisterBackButtonAction = this.platform.registerBackButtonAction(() => {
+      // this.customHandleBackButton();
+    }, 10);
+  }
+
+  ionViewWillLeave() {
+    this.unregisterBackButtonAction && this.unregisterBackButtonAction();
+  }
+}
diff --git a/src/providers/myservice.ts b/src/providers/myservice.ts
index 8c94898..cf44d1e 100644
--- a/src/providers/myservice.ts
+++ b/src/providers/myservice.ts
@@ -47,9 +47,6 @@ export class Myservice {
     post_data.secret_key = 'My_key';
     post_data = JSON.stringify(post_data);
     this.post_url = this.webservice_url + fn_name;
-    // let headers = new Headers();
-    // headers.append('X-API-KEY', 'key_test');
-    // let options = new RequestOptions({ headers });
     return this.http.post(`${this.post_url}`, `${post_data}`).map(res => res.json());
   }