From ff0210edd4a77750ef41381ccdaadc99cd54b9f5 Mon Sep 17 00:00:00 2001 From: Tom Fox <13188249+TomWFox@users.noreply.github.com> Date: Thu, 21 Nov 2019 21:54:30 +0000 Subject: [PATCH 1/6] remove info about parse.com compatibility (#686) --- _includes/parse-server/getting-started.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/_includes/parse-server/getting-started.md b/_includes/parse-server/getting-started.md index 7a9bf092c..cc957d7e2 100644 --- a/_includes/parse-server/getting-started.md +++ b/_includes/parse-server/getting-started.md @@ -14,10 +14,6 @@ Parse Server is an open source version of the Parse backend that can be deployed * Python 2.x (For Windows users, 2.7.1 is the required version) * For deployment, an infrastructure provider like Heroku or AWS -**Compatibility with hosted Parse** - -There are a few areas where Parse Server does not provide compatibility with the Parse hosted backend. If you're migrating a hosted Parse.com app to Parse Server, please take some time to carefully read through the list of [compatibility issues](#compatibility-with-parsecom). - The fastest and easiest way to get started is to run MongoDB and Parse Server locally. Use the bootstrap script to set up Parse Server in the current directory. ```bash From 1857b2cab50bceeca6fe870353a8c18e163d679d Mon Sep 17 00:00:00 2001 From: Diamond Lewis Date: Mon, 2 Dec 2019 16:43:06 -0600 Subject: [PATCH 2/6] Fix User Subclass Documentation (#690) --- _includes/js/objects.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_includes/js/objects.md b/_includes/js/objects.md index b24d8b358..95a8cc058 100644 --- a/_includes/js/objects.md +++ b/_includes/js/objects.md @@ -101,7 +101,7 @@ class CustomUser extends Parse.User { return 5; } } -Parse.Object.registerSubclass('CustomUser', CustomUser); +Parse.Object.registerSubclass('_User', CustomUser); ``` In addition to queries, `logIn` and `signUp` will return the subclass `CustomUser`. From 5a685ad1ab8ad6031f3d966604f961ec23cafd40 Mon Sep 17 00:00:00 2001 From: Augusto Amaral Pereira Date: Tue, 3 Dec 2019 05:54:26 -0300 Subject: [PATCH 3/6] Update config.md (#689) * Update config.md * Update _includes/rest/config.md Co-Authored-By: Tom Fox <13188249+TomWFox@users.noreply.github.com> * update based on sugestion Co-Authored-By: Tom Fox <13188249+TomWFox@users.noreply.github.com> --- _includes/rest/config.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/_includes/rest/config.md b/_includes/rest/config.md index 17bd17ade..931745995 100644 --- a/_includes/rest/config.md +++ b/_includes/rest/config.md @@ -37,7 +37,7 @@ The response body is a JSON object containing all the configuration parameters i } ``` -You can also update the config by sending a `PUT` request to config URL. Here is a simple example that will update the `Parse.Config`: +You can also update the config by sending a `PUT` request to config URL. Here is a simple example that will update the `Parse.Config` (requires `masterKey`):

 curl -X PUT \
@@ -70,3 +70,5 @@ The response body is a JSON object containing a simple boolean value in the `res
   "result": true
 }
 ```
+
+If you want to make any changes to configs without sending the `masterkey`, you will need to create a Cloud Function that makes those changes.

From f8045bdae4e2304640002843db0092690a188732 Mon Sep 17 00:00:00 2001
From: Jeff Gu Kang 
Date: Wed, 18 Dec 2019 11:33:53 +0900
Subject: [PATCH 4/6] Update live-query.md (#696)

`subscribe()` => `await subscribe()`

```javascript
let query = new Parse.Query('People');
query.equalTo('name', 'Mengyan');
let subscription = await query.subscribe();
```
---
 _includes/parse-server/live-query.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/_includes/parse-server/live-query.md b/_includes/parse-server/live-query.md
index 2c3ea8237..f1cd0c977 100644
--- a/_includes/parse-server/live-query.md
+++ b/_includes/parse-server/live-query.md
@@ -39,7 +39,7 @@ We provide JavaScript, Android and iOS LiveQuery Clients for now. Lets use the J
 ```javascript
 let query = new Parse.Query('People');
 query.equalTo('name', 'Mengyan');
-let subscription = query.subscribe();
+let subscription = await query.subscribe();
 ```
 
 After you get the `subscription`, you can use it to receive the updates of the related `Parse.Object`. For example, if someone creates a `People` object whose `name` field is `Mengyan`, then you can get the `People` object like this:

From 7819c45c0f147f9dfb07a4a78b4b511783455f83 Mon Sep 17 00:00:00 2001
From: Arturo Ortega 
Date: Tue, 24 Dec 2019 08:53:49 -0600
Subject: [PATCH 5/6] Encrypting Current User and Local Storage (#695)

* Encrypting Current User and Local Storage

* Update based in the js-sdk Pull requests #1036

* Encrypting Current User reminder

* secure-ls correction and typo fixed

* Update _includes/js/users.md drafting

Co-Authored-By: Tom Fox <13188249+TomWFox@users.noreply.github.com>

* Update _includes/js/users.md drafting

Co-Authored-By: Tom Fox <13188249+TomWFox@users.noreply.github.com>

* Update _includes/js/users.md drafting

Co-Authored-By: Tom Fox <13188249+TomWFox@users.noreply.github.com>

* Update _includes/js/users.md drafting

Co-Authored-By: Tom Fox <13188249+TomWFox@users.noreply.github.com>

* Update _includes/js/users.md drafting

Co-Authored-By: Tom Fox <13188249+TomWFox@users.noreply.github.com>

Co-authored-by: Tom Fox <13188249+TomWFox@users.noreply.github.com>
---
 Gemfile.lock                    |   5 +
 _includes/js/local-datastore.md |  23 +
 _includes/js/users.md           |  16 +
 package-lock.json               | 794 ++++++++++++++++----------------
 package.json                    |   2 +-
 5 files changed, 443 insertions(+), 397 deletions(-)

diff --git a/Gemfile.lock b/Gemfile.lock
index 25a6dda30..aa2fed7c5 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -24,10 +24,12 @@ GEM
     ethon (0.11.0)
       ffi (>= 1.3.0)
     eventmachine (1.2.7)
+    eventmachine (1.2.7-x64-mingw32)
     execjs (2.7.0)
     faraday (0.15.4)
       multipart-post (>= 1.2, < 3)
     ffi (1.9.25)
+    ffi (1.9.25-x64-mingw32)
     forwardable-extended (2.6.0)
     gemoji (3.0.0)
     github-pages (193)
@@ -207,6 +209,8 @@ GEM
     multipart-post (2.0.0)
     nokogiri (1.8.5)
       mini_portile2 (~> 2.3.0)
+    nokogiri (1.8.5-x64-mingw32)
+      mini_portile2 (~> 2.3.0)
     octokit (4.13.0)
       sawyer (~> 0.8.0, >= 0.5.3)
     pathutil (0.16.2)
@@ -240,6 +244,7 @@ GEM
 
 PLATFORMS
   ruby
+  x64-mingw32
 
 DEPENDENCIES
   github-pages
diff --git a/_includes/js/local-datastore.md b/_includes/js/local-datastore.md
index b25834cb7..2dc5e2fa6 100644
--- a/_includes/js/local-datastore.md
+++ b/_includes/js/local-datastore.md
@@ -4,6 +4,29 @@ The Parse JS SDK (Version 2.2.0+) provides a local datastore which can be used t
 
 There are a couple of side effects of enabling the local datastore that you should be aware of. When enabled, there will only be one instance of any given `Parse.Object`. For example, imagine you have an instance of the `"GameScore"` class with an `objectId` of `"xWMyZ4YEGZ"`, and then you issue a `Parse.Query` for all instances of `"GameScore"` with that `objectId`. The result will be the same instance of the object you already have in memory.
 
+Also if you don't want to show the data in the local storage you can use [secure-ls](https://github.com/softvar/secure-ls) to Encrypt it.
+
+```javascript
+import SecureLS from 'secure-ls';
+const ls = new SecureLS({ isCompression: false });
+
+Parse.enableLocalDatastore();
+Parse.setLocalDatastoreController({
+  fromPinWithName: name => ls.get(name),
+  pinWithName: (name, objects) => ls.set(name, JSON.stringify(objects)),
+  unPinWithName: name => ls.remove(name),
+  getAllContents: () => {
+    let data = {};
+    ls.getAllKeys().forEach((key) => {
+      const value = ls.get(key).data;
+      data[key] = value.includes('{') ? JSON.parse(value) : value;
+    })
+    return data;
+  },
+  clear: () => ls.removeAll()
+});
+```
+
 ## Pinning
 
 You can store a `Parse.Object` in the local datastore by pinning it. Pinning a `Parse.Object` is recursive, just like saving, so any objects that are pointed to by the one you are pinning will also be pinned. When an object is pinned, every time you update it by fetching or saving new data, the copy in the local datastore will be updated automatically. You don't need to worry about it at all.
diff --git a/_includes/js/users.md b/_includes/js/users.md
index db6c35dab..114cc9e6b 100644
--- a/_includes/js/users.md
+++ b/_includes/js/users.md
@@ -136,6 +136,22 @@ The `Parse.User` obtained from `Parse.User.current()` will always be authenticat
 
 If you need to check if a `Parse.User` is authenticated, you can invoke the `authenticated` method. You do not need to check `authenticated` with `Parse.User` objects that are obtained via an authenticated method.
 
+## Encrypting Current User
+
+Often you may want to be more careful with user information stored in the browser, if this is the case you can encrypt the current user object:
+
+```javascript
+
+Parse.enableEncryptedUser();
+Parse.secret = 'my Secrey Key';
+
+```
+*   It's important to remember that this function will not work if `Parse.secret` is not set.
+*   Also note that this only works in the browser.
+
+Now the record in Local Storage looks like a random string and only can be read using `Parse.User.current()`
+You can check if this feature is enabled with the function `Parse.isEncryptedUserEnabled()`.
+
 ## Security For Other Objects
 
 The same security model that applies to the `Parse.User` can be applied to other objects. For any object, you can specify which users are allowed to read the object, and which users are allowed to modify an object. To support this type of security, each object has an [access control list](http://en.wikipedia.org/wiki/Access_control_list), implemented by the `Parse.ACL` class.
diff --git a/package-lock.json b/package-lock.json
index a3216d4b3..a036d2a3a 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -288,12 +288,6 @@
       "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=",
       "dev": true
     },
-    "ansi-escapes": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz",
-      "integrity": "sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw==",
-      "dev": true
-    },
     "ansi-regex": {
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
@@ -2201,9 +2195,9 @@
       }
     },
     "camelcase": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
-      "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=",
+      "version": "5.3.1",
+      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+      "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
       "dev": true
     },
     "chalk": {
@@ -2219,12 +2213,6 @@
         "supports-color": "^2.0.0"
       }
     },
-    "chardet": {
-      "version": "0.5.0",
-      "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.5.0.tgz",
-      "integrity": "sha512-9ZTaoBaePSCFvNlNGrsyI8ZVACP2svUtq0DkM7t4K2ClAa96sqOIRjAzDTc8zXzFt1cZR46rRzLTiHFSJ+Qw0g==",
-      "dev": true
-    },
     "chokidar": {
       "version": "2.0.4",
       "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz",
@@ -2300,55 +2288,34 @@
         }
       }
     },
-    "cli-cursor": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
-      "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=",
-      "dev": true,
-      "requires": {
-        "restore-cursor": "^2.0.0"
-      }
-    },
-    "cli-width": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz",
-      "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=",
-      "dev": true
-    },
     "cliui": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz",
-      "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==",
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz",
+      "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==",
       "dev": true,
       "requires": {
-        "string-width": "^2.1.1",
-        "strip-ansi": "^4.0.0",
-        "wrap-ansi": "^2.0.0"
+        "string-width": "^3.1.0",
+        "strip-ansi": "^5.2.0",
+        "wrap-ansi": "^5.1.0"
       },
       "dependencies": {
         "ansi-regex": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
-          "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
+          "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
           "dev": true
         },
         "strip-ansi": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
-          "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+          "version": "5.2.0",
+          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
+          "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
           "dev": true,
           "requires": {
-            "ansi-regex": "^3.0.0"
+            "ansi-regex": "^4.1.0"
           }
         }
       }
     },
-    "code-point-at": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
-      "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
-      "dev": true
-    },
     "collection-visit": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
@@ -2360,18 +2327,18 @@
       }
     },
     "color-convert": {
-      "version": "1.9.2",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.2.tgz",
-      "integrity": "sha512-3NUJZdhMhcdPn8vJ9v2UQJoH0qqoGUkYTgFEPZaPjEtwmmKUfNV46zZmgB2M5M4DCEQHMaCfWHCxiBflLm04Tg==",
+      "version": "1.9.3",
+      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+      "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
       "dev": true,
       "requires": {
-        "color-name": "1.1.1"
+        "color-name": "1.1.3"
       }
     },
     "color-name": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.1.tgz",
-      "integrity": "sha1-SxQVMEz1ACjqgWQ2Q72C6gWANok=",
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+      "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
       "dev": true
     },
     "commander": {
@@ -2565,13 +2532,10 @@
       }
     },
     "decamelize": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-2.0.0.tgz",
-      "integrity": "sha512-Ikpp5scV3MSYxY39ymh45ZLEecsTdv/Xj2CaQfI8RLMuwi7XvjX9H/fhraiSuU+C5w5NTDu4ZU72xNiZnurBPg==",
-      "dev": true,
-      "requires": {
-        "xregexp": "4.0.0"
-      }
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+      "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
+      "dev": true
     },
     "decode-uri-component": {
       "version": "0.2.0",
@@ -2630,6 +2594,12 @@
         "minimalistic-assert": "^1.0.0"
       }
     },
+    "detect-file": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz",
+      "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=",
+      "dev": true
+    },
     "detect-indent": {
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz",
@@ -2683,6 +2653,12 @@
         "minimalistic-crypto-utils": "^1.0.0"
       }
     },
+    "emoji-regex": {
+      "version": "7.0.3",
+      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
+      "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
+      "dev": true
+    },
     "emojis-list": {
       "version": "2.1.0",
       "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
@@ -2787,13 +2763,13 @@
       }
     },
     "execa": {
-      "version": "0.7.0",
-      "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz",
-      "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=",
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
+      "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
       "dev": true,
       "requires": {
-        "cross-spawn": "^5.0.1",
-        "get-stream": "^3.0.0",
+        "cross-spawn": "^6.0.0",
+        "get-stream": "^4.0.0",
         "is-stream": "^1.1.0",
         "npm-run-path": "^2.0.0",
         "p-finally": "^1.0.0",
@@ -2801,15 +2777,23 @@
         "strip-eof": "^1.0.0"
       },
       "dependencies": {
-        "cross-spawn": {
-          "version": "5.1.0",
-          "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
-          "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
+        "get-stream": {
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
+          "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
           "dev": true,
           "requires": {
-            "lru-cache": "^4.0.1",
-            "shebang-command": "^1.2.0",
-            "which": "^1.2.9"
+            "pump": "^3.0.0"
+          }
+        },
+        "pump": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
+          "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
+          "dev": true,
+          "requires": {
+            "end-of-stream": "^1.1.0",
+            "once": "^1.3.1"
           }
         }
       }
@@ -2849,6 +2833,15 @@
         }
       }
     },
+    "expand-tilde": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
+      "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=",
+      "dev": true,
+      "requires": {
+        "homedir-polyfill": "^1.0.1"
+      }
+    },
     "extend-shallow": {
       "version": "3.0.2",
       "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
@@ -2870,17 +2863,6 @@
         }
       }
     },
-    "external-editor": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.0.1.tgz",
-      "integrity": "sha512-e1neqvSt5pSwQcFnYc6yfGuJD2Q4336cdbHs5VeUO0zTkqPbrHMyw2q1r47fpfLWbvIG8H8A6YO3sck7upTV6Q==",
-      "dev": true,
-      "requires": {
-        "chardet": "^0.5.0",
-        "iconv-lite": "^0.4.22",
-        "tmp": "^0.0.33"
-      }
-    },
     "extglob": {
       "version": "2.0.4",
       "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
@@ -2958,15 +2940,6 @@
       "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
       "dev": true
     },
-    "figures": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
-      "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=",
-      "dev": true,
-      "requires": {
-        "escape-string-regexp": "^1.0.5"
-      }
-    },
     "fill-range": {
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
@@ -3010,6 +2983,18 @@
         "locate-path": "^2.0.0"
       }
     },
+    "findup-sync": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz",
+      "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==",
+      "dev": true,
+      "requires": {
+        "detect-file": "^1.0.0",
+        "is-glob": "^4.0.0",
+        "micromatch": "^3.0.4",
+        "resolve-dir": "^1.0.1"
+      }
+    },
     "flush-write-stream": {
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.3.tgz",
@@ -3083,8 +3068,7 @@
         "ansi-regex": {
           "version": "2.1.1",
           "bundled": true,
-          "dev": true,
-          "optional": true
+          "dev": true
         },
         "aproba": {
           "version": "1.2.0",
@@ -3105,14 +3089,12 @@
         "balanced-match": {
           "version": "1.0.0",
           "bundled": true,
-          "dev": true,
-          "optional": true
+          "dev": true
         },
         "brace-expansion": {
           "version": "1.1.11",
           "bundled": true,
           "dev": true,
-          "optional": true,
           "requires": {
             "balanced-match": "^1.0.0",
             "concat-map": "0.0.1"
@@ -3127,20 +3109,17 @@
         "code-point-at": {
           "version": "1.1.0",
           "bundled": true,
-          "dev": true,
-          "optional": true
+          "dev": true
         },
         "concat-map": {
           "version": "0.0.1",
           "bundled": true,
-          "dev": true,
-          "optional": true
+          "dev": true
         },
         "console-control-strings": {
           "version": "1.1.0",
           "bundled": true,
-          "dev": true,
-          "optional": true
+          "dev": true
         },
         "core-util-is": {
           "version": "1.0.2",
@@ -3257,8 +3236,7 @@
         "inherits": {
           "version": "2.0.3",
           "bundled": true,
-          "dev": true,
-          "optional": true
+          "dev": true
         },
         "ini": {
           "version": "1.3.5",
@@ -3270,7 +3248,6 @@
           "version": "1.0.0",
           "bundled": true,
           "dev": true,
-          "optional": true,
           "requires": {
             "number-is-nan": "^1.0.0"
           }
@@ -3285,7 +3262,6 @@
           "version": "3.0.4",
           "bundled": true,
           "dev": true,
-          "optional": true,
           "requires": {
             "brace-expansion": "^1.1.7"
           }
@@ -3293,14 +3269,12 @@
         "minimist": {
           "version": "0.0.8",
           "bundled": true,
-          "dev": true,
-          "optional": true
+          "dev": true
         },
         "minipass": {
           "version": "2.2.4",
           "bundled": true,
           "dev": true,
-          "optional": true,
           "requires": {
             "safe-buffer": "^5.1.1",
             "yallist": "^3.0.0"
@@ -3319,7 +3293,6 @@
           "version": "0.5.1",
           "bundled": true,
           "dev": true,
-          "optional": true,
           "requires": {
             "minimist": "0.0.8"
           }
@@ -3400,8 +3373,7 @@
         "number-is-nan": {
           "version": "1.0.1",
           "bundled": true,
-          "dev": true,
-          "optional": true
+          "dev": true
         },
         "object-assign": {
           "version": "4.1.1",
@@ -3413,7 +3385,6 @@
           "version": "1.4.0",
           "bundled": true,
           "dev": true,
-          "optional": true,
           "requires": {
             "wrappy": "1"
           }
@@ -3499,8 +3470,7 @@
         "safe-buffer": {
           "version": "5.1.1",
           "bundled": true,
-          "dev": true,
-          "optional": true
+          "dev": true
         },
         "safer-buffer": {
           "version": "2.1.2",
@@ -3536,7 +3506,6 @@
           "version": "1.0.2",
           "bundled": true,
           "dev": true,
-          "optional": true,
           "requires": {
             "code-point-at": "^1.0.0",
             "is-fullwidth-code-point": "^1.0.0",
@@ -3556,7 +3525,6 @@
           "version": "3.0.1",
           "bundled": true,
           "dev": true,
-          "optional": true,
           "requires": {
             "ansi-regex": "^2.0.0"
           }
@@ -3600,21 +3568,19 @@
         "wrappy": {
           "version": "1.0.2",
           "bundled": true,
-          "dev": true,
-          "optional": true
+          "dev": true
         },
         "yallist": {
           "version": "3.0.2",
           "bundled": true,
-          "dev": true,
-          "optional": true
+          "dev": true
         }
       }
     },
     "get-caller-file": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz",
-      "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==",
+      "version": "2.0.5",
+      "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+      "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
       "dev": true
     },
     "get-stdin": {
@@ -3670,11 +3636,40 @@
         }
       }
     },
-    "global-modules-path": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/global-modules-path/-/global-modules-path-2.3.0.tgz",
-      "integrity": "sha512-HchvMJNYh9dGSCy8pOQ2O8u/hoXaL+0XhnrwH0RyLiSXMMTl9W3N6KUU73+JFOg5PGjtzl6VZzUQsnrpm7Szag==",
-      "dev": true
+    "global-modules": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz",
+      "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==",
+      "dev": true,
+      "requires": {
+        "global-prefix": "^3.0.0"
+      },
+      "dependencies": {
+        "global-prefix": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz",
+          "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==",
+          "dev": true,
+          "requires": {
+            "ini": "^1.3.5",
+            "kind-of": "^6.0.2",
+            "which": "^1.3.1"
+          }
+        }
+      }
+    },
+    "global-prefix": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz",
+      "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=",
+      "dev": true,
+      "requires": {
+        "expand-tilde": "^2.0.2",
+        "homedir-polyfill": "^1.0.1",
+        "ini": "^1.3.4",
+        "is-windows": "^1.0.1",
+        "which": "^1.2.14"
+      }
     },
     "globals": {
       "version": "9.18.0",
@@ -3776,6 +3771,15 @@
         "os-tmpdir": "^1.0.1"
       }
     },
+    "homedir-polyfill": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz",
+      "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==",
+      "dev": true,
+      "requires": {
+        "parse-passwd": "^1.0.0"
+      }
+    },
     "hosted-git-info": {
       "version": "2.7.1",
       "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz",
@@ -3892,15 +3896,6 @@
         }
       }
     },
-    "iconv-lite": {
-      "version": "0.4.23",
-      "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz",
-      "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==",
-      "dev": true,
-      "requires": {
-        "safer-buffer": ">= 2.1.2 < 3"
-      }
-    },
     "ieee754": {
       "version": "1.1.12",
       "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz",
@@ -3914,13 +3909,67 @@
       "dev": true
     },
     "import-local": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/import-local/-/import-local-1.0.0.tgz",
-      "integrity": "sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ==",
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz",
+      "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==",
       "dev": true,
       "requires": {
-        "pkg-dir": "^2.0.0",
+        "pkg-dir": "^3.0.0",
         "resolve-cwd": "^2.0.0"
+      },
+      "dependencies": {
+        "find-up": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
+          "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
+          "dev": true,
+          "requires": {
+            "locate-path": "^3.0.0"
+          }
+        },
+        "locate-path": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
+          "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
+          "dev": true,
+          "requires": {
+            "p-locate": "^3.0.0",
+            "path-exists": "^3.0.0"
+          }
+        },
+        "p-limit": {
+          "version": "2.2.1",
+          "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz",
+          "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==",
+          "dev": true,
+          "requires": {
+            "p-try": "^2.0.0"
+          }
+        },
+        "p-locate": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
+          "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
+          "dev": true,
+          "requires": {
+            "p-limit": "^2.0.0"
+          }
+        },
+        "p-try": {
+          "version": "2.2.0",
+          "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
+          "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
+          "dev": true
+        },
+        "pkg-dir": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
+          "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==",
+          "dev": true,
+          "requires": {
+            "find-up": "^3.0.0"
+          }
+        }
       }
     },
     "imurmurhash": {
@@ -3951,77 +4000,16 @@
       "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
       "dev": true
     },
-    "inquirer": {
-      "version": "6.1.0",
-      "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.1.0.tgz",
-      "integrity": "sha512-f9K2MMx/G/AVmJSaZg2a+GVLRRmTdlGLbwxsibNd6yNTxXujqxPypjCnxnC0y4+Wb/rNY5KyKuq06AO5jrE+7w==",
-      "dev": true,
-      "requires": {
-        "ansi-escapes": "^3.0.0",
-        "chalk": "^2.0.0",
-        "cli-cursor": "^2.1.0",
-        "cli-width": "^2.0.0",
-        "external-editor": "^3.0.0",
-        "figures": "^2.0.0",
-        "lodash": "^4.3.0",
-        "mute-stream": "0.0.7",
-        "run-async": "^2.2.0",
-        "rxjs": "^6.1.0",
-        "string-width": "^2.1.0",
-        "strip-ansi": "^4.0.0",
-        "through": "^2.3.6"
-      },
-      "dependencies": {
-        "ansi-regex": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
-          "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
-          "dev": true
-        },
-        "ansi-styles": {
-          "version": "3.2.1",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
-          "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
-          "dev": true,
-          "requires": {
-            "color-convert": "^1.9.0"
-          }
-        },
-        "chalk": {
-          "version": "2.4.1",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
-          "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^3.2.1",
-            "escape-string-regexp": "^1.0.5",
-            "supports-color": "^5.3.0"
-          }
-        },
-        "strip-ansi": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
-          "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
-          "dev": true,
-          "requires": {
-            "ansi-regex": "^3.0.0"
-          }
-        },
-        "supports-color": {
-          "version": "5.4.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
-          "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^3.0.0"
-          }
-        }
-      }
+    "ini": {
+      "version": "1.3.5",
+      "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
+      "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==",
+      "dev": true
     },
     "interpret": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz",
-      "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=",
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz",
+      "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==",
       "dev": true
     },
     "invariant": {
@@ -4034,9 +4022,9 @@
       }
     },
     "invert-kv": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
-      "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=",
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz",
+      "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==",
       "dev": true
     },
     "is-accessor-descriptor": {
@@ -4208,12 +4196,6 @@
         "isobject": "^3.0.1"
       }
     },
-    "is-promise": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
-      "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=",
-      "dev": true
-    },
     "is-stream": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
@@ -4296,12 +4278,12 @@
       "dev": true
     },
     "lcid": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
-      "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz",
+      "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==",
       "dev": true,
       "requires": {
-        "invert-kv": "^1.0.0"
+        "invert-kv": "^2.0.0"
       }
     },
     "leb": {
@@ -4389,6 +4371,15 @@
       "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==",
       "dev": true
     },
+    "map-age-cleaner": {
+      "version": "0.1.3",
+      "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz",
+      "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==",
+      "dev": true,
+      "requires": {
+        "p-defer": "^1.0.0"
+      }
+    },
     "map-cache": {
       "version": "0.2.2",
       "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
@@ -4415,12 +4406,14 @@
       }
     },
     "mem": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz",
-      "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=",
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz",
+      "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==",
       "dev": true,
       "requires": {
-        "mimic-fn": "^1.0.0"
+        "map-age-cleaner": "^0.1.1",
+        "mimic-fn": "^2.0.0",
+        "p-is-promise": "^2.0.0"
       }
     },
     "memory-fs": {
@@ -4465,9 +4458,9 @@
       }
     },
     "mimic-fn": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
-      "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==",
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
+      "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
       "dev": true
     },
     "minimalistic-assert": {
@@ -4565,12 +4558,6 @@
       "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
       "dev": true
     },
-    "mute-stream": {
-      "version": "0.0.7",
-      "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz",
-      "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=",
-      "dev": true
-    },
     "nan": {
       "version": "2.10.0",
       "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz",
@@ -4604,9 +4591,9 @@
       "dev": true
     },
     "nice-try": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.4.tgz",
-      "integrity": "sha512-2NpiFHqC87y/zFke0fC0spBXL3bBsoh/p5H1EFhshxjCR5+0g2d6BiXbUFz9v1sAcxsk2htp2eQnNIci2dIYcA==",
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
+      "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
       "dev": true
     },
     "node-libs-browser": {
@@ -4742,15 +4729,6 @@
         "wrappy": "1"
       }
     },
-    "onetime": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
-      "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=",
-      "dev": true,
-      "requires": {
-        "mimic-fn": "^1.0.0"
-      }
-    },
     "os-browserify": {
       "version": "0.3.0",
       "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
@@ -4764,14 +4742,14 @@
       "dev": true
     },
     "os-locale": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz",
-      "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==",
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz",
+      "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==",
       "dev": true,
       "requires": {
-        "execa": "^0.7.0",
-        "lcid": "^1.0.0",
-        "mem": "^1.1.0"
+        "execa": "^1.0.0",
+        "lcid": "^2.0.0",
+        "mem": "^4.0.0"
       }
     },
     "os-tmpdir": {
@@ -4780,12 +4758,24 @@
       "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
       "dev": true
     },
+    "p-defer": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz",
+      "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=",
+      "dev": true
+    },
     "p-finally": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
       "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
       "dev": true
     },
+    "p-is-promise": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz",
+      "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==",
+      "dev": true
+    },
     "p-limit": {
       "version": "1.3.0",
       "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
@@ -4850,6 +4840,12 @@
         "json-parse-better-errors": "^1.0.1"
       }
     },
+    "parse-passwd": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz",
+      "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=",
+      "dev": true
+    },
     "pascalcase": {
       "version": "0.1.1",
       "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
@@ -5175,9 +5171,9 @@
       "dev": true
     },
     "require-main-filename": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
-      "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=",
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
+      "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
       "dev": true
     },
     "resolve-cwd": {
@@ -5189,6 +5185,29 @@
         "resolve-from": "^3.0.0"
       }
     },
+    "resolve-dir": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz",
+      "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=",
+      "dev": true,
+      "requires": {
+        "expand-tilde": "^2.0.0",
+        "global-modules": "^1.0.0"
+      },
+      "dependencies": {
+        "global-modules": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz",
+          "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==",
+          "dev": true,
+          "requires": {
+            "global-prefix": "^1.0.1",
+            "is-windows": "^1.0.1",
+            "resolve-dir": "^1.0.0"
+          }
+        }
+      }
+    },
     "resolve-from": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
@@ -5201,16 +5220,6 @@
       "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
       "dev": true
     },
-    "restore-cursor": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
-      "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=",
-      "dev": true,
-      "requires": {
-        "onetime": "^2.0.0",
-        "signal-exit": "^3.0.2"
-      }
-    },
     "ret": {
       "version": "0.1.15",
       "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
@@ -5236,15 +5245,6 @@
         "inherits": "^2.0.1"
       }
     },
-    "run-async": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
-      "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=",
-      "dev": true,
-      "requires": {
-        "is-promise": "^2.1.0"
-      }
-    },
     "run-node": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/run-node/-/run-node-1.0.0.tgz",
@@ -5260,15 +5260,6 @@
         "aproba": "^1.1.1"
       }
     },
-    "rxjs": {
-      "version": "6.2.2",
-      "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.2.2.tgz",
-      "integrity": "sha512-0MI8+mkKAXZUF9vMrEoPnaoHkfzBPP4IGwUYRJhIRJF6/w3uByO1e91bEHn8zd43RdkTMKiooYKmwz7RH6zfOQ==",
-      "dev": true,
-      "requires": {
-        "tslib": "^1.9.0"
-      }
-    },
     "safe-buffer": {
       "version": "5.1.2",
       "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
@@ -5284,12 +5275,6 @@
         "ret": "~0.1.10"
       }
     },
-    "safer-buffer": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
-      "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
-      "dev": true
-    },
     "schema-utils": {
       "version": "0.4.7",
       "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz",
@@ -5660,28 +5645,29 @@
       "dev": true
     },
     "string-width": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
-      "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
+      "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
       "dev": true,
       "requires": {
+        "emoji-regex": "^7.0.1",
         "is-fullwidth-code-point": "^2.0.0",
-        "strip-ansi": "^4.0.0"
+        "strip-ansi": "^5.1.0"
       },
       "dependencies": {
         "ansi-regex": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
-          "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
+          "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
           "dev": true
         },
         "strip-ansi": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
-          "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+          "version": "5.2.0",
+          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
+          "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
           "dev": true,
           "requires": {
-            "ansi-regex": "^3.0.0"
+            "ansi-regex": "^4.1.0"
           }
         }
       }
@@ -5722,12 +5708,6 @@
       "integrity": "sha512-dQRhbNQkRnaqauC7WqSJ21EEksgT0fYZX2lqXzGkpo8JNig9zGZTYoMGvyI2nWmXlE2VSVXVDu7wLVGu/mQEsg==",
       "dev": true
     },
-    "through": {
-      "version": "2.3.8",
-      "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
-      "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
-      "dev": true
-    },
     "through2": {
       "version": "2.0.3",
       "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
@@ -5747,15 +5727,6 @@
         "setimmediate": "^1.0.4"
       }
     },
-    "tmp": {
-      "version": "0.0.33",
-      "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
-      "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
-      "dev": true,
-      "requires": {
-        "os-tmpdir": "~1.0.2"
-      }
-    },
     "to-arraybuffer": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
@@ -6035,9 +6006,9 @@
       "dev": true
     },
     "v8-compile-cache": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.0.2.tgz",
-      "integrity": "sha512-1wFuMUIM16MDJRCrpbpuEPTUGmM5QMUg0cr3KFwra2XgOgFcPGDQHDh3CszSCD2Zewc/dh/pamNEW8CbfDebUw==",
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.0.3.tgz",
+      "integrity": "sha512-CNmdbwQMBjwr9Gsmohvm0pbL954tJrNzf6gWL3K+QMQf00PF7ERGrEiLgjuU3mKreLC2MeGhUsNV9ybTbLgd3w==",
       "dev": true
     },
     "validate-npm-package-license": {
@@ -6117,22 +6088,22 @@
       }
     },
     "webpack-cli": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.1.0.tgz",
-      "integrity": "sha512-p5NeKDtYwjZozUWq6kGNs9w+Gtw/CPvyuXjXn2HMdz8Tie+krjEg8oAtonvIyITZdvpF7XG9xDHwscLr2c+ugQ==",
-      "dev": true,
-      "requires": {
-        "chalk": "^2.4.1",
-        "cross-spawn": "^6.0.5",
-        "enhanced-resolve": "^4.0.0",
-        "global-modules-path": "^2.1.0",
-        "import-local": "^1.0.0",
-        "inquirer": "^6.0.0",
-        "interpret": "^1.1.0",
-        "loader-utils": "^1.1.0",
-        "supports-color": "^5.4.0",
-        "v8-compile-cache": "^2.0.0",
-        "yargs": "^12.0.1"
+      "version": "3.3.10",
+      "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.10.tgz",
+      "integrity": "sha512-u1dgND9+MXaEt74sJR4PR7qkPxXUSQ0RXYq8x1L6Jg1MYVEmGPrH6Ah6C4arD4r0J1P5HKjRqpab36k0eIzPqg==",
+      "dev": true,
+      "requires": {
+        "chalk": "2.4.2",
+        "cross-spawn": "6.0.5",
+        "enhanced-resolve": "4.1.0",
+        "findup-sync": "3.0.0",
+        "global-modules": "2.0.0",
+        "import-local": "2.0.0",
+        "interpret": "1.2.0",
+        "loader-utils": "1.2.3",
+        "supports-color": "6.1.0",
+        "v8-compile-cache": "2.0.3",
+        "yargs": "13.2.4"
       },
       "dependencies": {
         "ansi-styles": {
@@ -6144,32 +6115,64 @@
             "color-convert": "^1.9.0"
           }
         },
+        "big.js": {
+          "version": "5.2.2",
+          "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
+          "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
+          "dev": true
+        },
         "chalk": {
-          "version": "2.4.1",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
-          "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
+          "version": "2.4.2",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+          "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
           "dev": true,
           "requires": {
             "ansi-styles": "^3.2.1",
             "escape-string-regexp": "^1.0.5",
             "supports-color": "^5.3.0"
+          },
+          "dependencies": {
+            "supports-color": {
+              "version": "5.5.0",
+              "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+              "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+              "dev": true,
+              "requires": {
+                "has-flag": "^3.0.0"
+              }
+            }
+          }
+        },
+        "json5": {
+          "version": "1.0.1",
+          "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
+          "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
+          "dev": true,
+          "requires": {
+            "minimist": "^1.2.0"
           }
         },
         "loader-utils": {
-          "version": "1.1.0",
-          "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz",
-          "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=",
+          "version": "1.2.3",
+          "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz",
+          "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==",
           "dev": true,
           "requires": {
-            "big.js": "^3.1.3",
+            "big.js": "^5.2.2",
             "emojis-list": "^2.0.0",
-            "json5": "^0.5.0"
+            "json5": "^1.0.1"
           }
         },
+        "minimist": {
+          "version": "1.2.0",
+          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+          "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+          "dev": true
+        },
         "supports-color": {
-          "version": "5.4.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
-          "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
+          "version": "6.1.0",
+          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
+          "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
           "dev": true,
           "requires": {
             "has-flag": "^3.0.0"
@@ -6220,33 +6223,38 @@
       }
     },
     "wrap-ansi": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
-      "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
+      "version": "5.1.0",
+      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz",
+      "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==",
       "dev": true,
       "requires": {
-        "string-width": "^1.0.1",
-        "strip-ansi": "^3.0.1"
+        "ansi-styles": "^3.2.0",
+        "string-width": "^3.0.0",
+        "strip-ansi": "^5.0.0"
       },
       "dependencies": {
-        "is-fullwidth-code-point": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
-          "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+        "ansi-regex": {
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
+          "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
+          "dev": true
+        },
+        "ansi-styles": {
+          "version": "3.2.1",
+          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+          "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
           "dev": true,
           "requires": {
-            "number-is-nan": "^1.0.0"
+            "color-convert": "^1.9.0"
           }
         },
-        "string-width": {
-          "version": "1.0.2",
-          "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
-          "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+        "strip-ansi": {
+          "version": "5.2.0",
+          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
+          "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
           "dev": true,
           "requires": {
-            "code-point-at": "^1.0.0",
-            "is-fullwidth-code-point": "^1.0.0",
-            "strip-ansi": "^3.0.0"
+            "ansi-regex": "^4.1.0"
           }
         }
       }
@@ -6257,12 +6265,6 @@
       "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
       "dev": true
     },
-    "xregexp": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-4.0.0.tgz",
-      "integrity": "sha512-PHyM+sQouu7xspQQwELlGwwd05mXUFqwFYfqPO0cC7x4fxyHnnuetmQr6CjJiafIDoH4MogHb9dOoJzR/Y4rFg==",
-      "dev": true
-    },
     "xtend": {
       "version": "4.0.1",
       "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
@@ -6282,23 +6284,22 @@
       "dev": true
     },
     "yargs": {
-      "version": "12.0.1",
-      "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.1.tgz",
-      "integrity": "sha512-B0vRAp1hRX4jgIOWFtjfNjd9OA9RWYZ6tqGA9/I/IrTMsxmKvtWy+ersM+jzpQqbC3YfLzeABPdeTgcJ9eu1qQ==",
+      "version": "13.2.4",
+      "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.2.4.tgz",
+      "integrity": "sha512-HG/DWAJa1PAnHT9JAhNa8AbAv3FPaiLzioSjCcmuXXhP8MlpHO5vwls4g4j6n30Z74GVQj8Xa62dWVx1QCGklg==",
       "dev": true,
       "requires": {
-        "cliui": "^4.0.0",
-        "decamelize": "^2.0.0",
+        "cliui": "^5.0.0",
         "find-up": "^3.0.0",
-        "get-caller-file": "^1.0.1",
-        "os-locale": "^2.0.0",
+        "get-caller-file": "^2.0.1",
+        "os-locale": "^3.1.0",
         "require-directory": "^2.1.1",
-        "require-main-filename": "^1.0.1",
+        "require-main-filename": "^2.0.0",
         "set-blocking": "^2.0.0",
-        "string-width": "^2.0.0",
+        "string-width": "^3.0.0",
         "which-module": "^2.0.0",
-        "y18n": "^3.2.1 || ^4.0.0",
-        "yargs-parser": "^10.1.0"
+        "y18n": "^4.0.0",
+        "yargs-parser": "^13.1.0"
       },
       "dependencies": {
         "find-up": {
@@ -6321,9 +6322,9 @@
           }
         },
         "p-limit": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.0.0.tgz",
-          "integrity": "sha512-fl5s52lI5ahKCernzzIyAP0QAZbGIovtVHGwpcu1Jr/EpzLVDI2myISHwGqK7m8uQFugVWSrbxH7XnhGtvEc+A==",
+          "version": "2.2.1",
+          "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz",
+          "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==",
           "dev": true,
           "requires": {
             "p-try": "^2.0.0"
@@ -6339,20 +6340,21 @@
           }
         },
         "p-try": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz",
-          "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==",
+          "version": "2.2.0",
+          "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
+          "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
           "dev": true
         }
       }
     },
     "yargs-parser": {
-      "version": "10.1.0",
-      "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz",
-      "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==",
+      "version": "13.1.1",
+      "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz",
+      "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==",
       "dev": true,
       "requires": {
-        "camelcase": "^4.1.0"
+        "camelcase": "^5.0.0",
+        "decamelize": "^1.2.0"
       }
     }
   }
diff --git a/package.json b/package.json
index bb73f3e1a..86cafaa1f 100644
--- a/package.json
+++ b/package.json
@@ -30,7 +30,7 @@
     "babel-preset-react": "^6.5.0",
     "husky": "^1.0.0-rc.13",
     "webpack": "~4.12.1",
-    "webpack-cli": "^3.1.0"
+    "webpack-cli": "^3.3.10"
   },
   "dependencies": {
     "jquery": "3.4.1",

From cc489df4a3d8544a52148c079ecaee3d1762108d Mon Sep 17 00:00:00 2001
From: Alann Maulana 
Date: Thu, 9 Jan 2020 16:58:18 +0700
Subject: [PATCH 6/6] Adding microsoft oauth doc (#698)

---
 _includes/parse-server/third-party-auth.md | 18 ++++++++++++++++++
 assets/js/bundle.js                        | 15 ++-------------
 2 files changed, 20 insertions(+), 13 deletions(-)

diff --git a/_includes/parse-server/third-party-auth.md b/_includes/parse-server/third-party-auth.md
index b3b3a0ab0..eedac8a88 100644
--- a/_includes/parse-server/third-party-auth.md
+++ b/_includes/parse-server/third-party-auth.md
@@ -19,6 +19,7 @@ Parse Server supports 3rd party authentication with
 * vKontakte
 * WeChat
 * Weibo
+* Microsoft Graph
 
 Configuration options for these 3rd-party modules is done with the `auth` option passed to Parse Server:
 
@@ -293,6 +294,22 @@ Learn more about [PhantAuth](https://www.phantauth.net/).
 }
 ```
 
+### Microsoft Graph `authData`
+
+```js
+{
+  "microsoft": {
+    "id": "user's microsoft id (string)", // required
+    "access_token": "an authorized microsoft graph access token for the user", // required
+    "mail": "user's microsoft email (string)"
+  }
+}
+```
+
+Learn more about [Microsoft Graph Auth Overview](https://docs.microsoft.com/en-us/graph/auth/?view=graph-rest-1.0).
+
+To [get access on behalf of a user](https://docs.microsoft.com/en-us/graph/auth-v2-user?view=graph-rest-1.0).
+
 ## Custom authentication
 
 It is possible to leverage the OAuth support with any 3rd party authentication that you bring in.
@@ -317,3 +334,4 @@ For more information about custom auth please see the examples:
 - [Facebook OAuth](https://github.com/parse-community/parse-server/blob/master/src/Adapters/Auth/facebook.js)
 - [Twitter OAuth](https://github.com/parse-community/parse-server/blob/master/src/Adapters/Auth/twitter.js)
 - [Instagram OAuth](https://github.com/parse-community/parse-server/blob/master/src/Adapters/Auth/instagram.js)
+- [Microsoft Graph OAuth](https://github.com/parse-community/parse-server/blob/master/src/Adapters/Auth/microsoft.js)
diff --git a/assets/js/bundle.js b/assets/js/bundle.js
index 43b7b23ab..3e3e2d442 100644
--- a/assets/js/bundle.js
+++ b/assets/js/bundle.js
@@ -1,4 +1,4 @@
-!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=110)}([function(e,t,n){(function(r){var o,i;o=[n(17),n(2),n(108),n(22),n(65),n(64),n(36),n(23),n(63),n(37),n(62),n(107),n(9),n(1),n(16),n(61),n(14)],void 0===(i=function(e,t,n,r,o,i,a,s,u,c,l,f,p,d,h,v,g){"use strict";var m=function(e,t){return new m.fn.init(e,t)},y=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function x(e){var t=!!e&&"length"in e&&e.length,n=g(e);return!d(e)&&!h(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}return m.fn=m.prototype={jquery:"3.4.1",constructor:m,length:0,toArray:function(){return r.call(this)},get:function(e){return null==e?r.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=m.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return m.each(this,e)},map:function(e){return this.pushStack(m.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(r.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n)[^>]*|#([\w-]+))$/,a=e.fn.init=function(a,s,u){var c,l;if(!a)return this;if(u=u||o,"string"==typeof a){if(!(c="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:i.exec(a))||!c[1]&&s)return!s||s.jquery?(s||u).find(a):this.constructor(s).find(a);if(c[1]){if(s=s instanceof e?s[0]:s,e.merge(this,e.parseHTML(c[1],s&&s.nodeType?s.ownerDocument||s:t,!0)),r.test(c[1])&&e.isPlainObject(s))for(c in s)n(this[c])?this[c](s[c]):this.attr(c,s[c]);return this}return(l=t.getElementById(c[2]))&&(this[0]=l,this.length=1),this}return a.nodeType?(this[0]=a,this.length=1,this):n(a)?void 0!==u.ready?u.ready(a):a(e):e.makeArray(a,this)};return a.prototype=e.fn,o=e(t),a}.apply(t,r))||(e.exports=o)},function(e,t,n){var r,o;r=[n(50)],void 0===(o=function(e){"use strict";return new e}.apply(t,r))||(e.exports=o)},function(e,t,n){var r;void 0===(r=function(){"use strict";return/[^\x20\t\r\n\f]+/g}.call(t,n,t,e))||(e.exports=r)},function(e,t,n){var r;void 0===(r=function(){"use strict";return function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}}.call(t,n,t,e))||(e.exports=r)},function(e,t,n){var r,o;r=[n(0),n(14),n(1)],void 0===(o=function(e,t,n){"use strict";var r=function(o,i,a,s,u,c,l){var f=0,p=o.length,d=null==a;if("object"===t(a))for(f in u=!0,a)r(o,i,f,a[f],!0,c,l);else if(void 0!==s&&(u=!0,n(s)||(l=!0),d&&(l?(i.call(o,s),i=null):(d=i,i=function(t,n,r){return d.call(e(t),r)})),i))for(;f0&&(T=window.setTimeout(function(){P.abort("timeout")},j.timeout));try{S=!1,x.send(I,R)}catch(e){if(S)throw e;R(-1,e)}}else R(-1,"No Transport");function R(t,n,r,o){var i,a,s,u,c,l=n;S||(S=!0,T&&window.clearTimeout(T),x=void 0,w=o||"",P.readyState=t>0?4:0,i=t>=200&&t<300||304===t,r&&(u=function(e,t,n){for(var r,o,i,a,s=e.contents,u=e.dataTypes;"*"===u[0];)u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(o in s)if(s[o]&&s[o].test(r)){u.unshift(o);break}if(u[0]in n)i=u[0];else{for(o in n){if(!u[0]||e.converters[o+" "+u[0]]){i=o;break}a||(a=o)}i=i||a}if(i)return i!==u[0]&&u.unshift(i),n[i]}(j,P,r)),u=function(e,t,n,r){var o,i,a,s,u,c={},l=e.dataTypes.slice();if(l[1])for(a in e.converters)c[a.toLowerCase()]=e.converters[a];for(i=l.shift();i;)if(e.responseFields[i]&&(n[e.responseFields[i]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=i,i=l.shift())if("*"===i)i=u;else if("*"!==u&&u!==i){if(!(a=c[u+" "+i]||c["* "+i]))for(o in c)if((s=o.split(" "))[1]===i&&(a=c[u+" "+s[0]]||c["* "+s[0]])){!0===a?a=c[o]:!0!==c[o]&&(i=s[0],l.unshift(s[1]));break}if(!0!==a)if(a&&e.throws)t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+i}}}return{state:"success",data:t}}(j,u,P,i),i?(j.ifModified&&((c=P.getResponseHeader("Last-Modified"))&&(e.lastModified[b]=c),(c=P.getResponseHeader("etag"))&&(e.etag[b]=c)),204===t||"HEAD"===j.type?l="nocontent":304===t?l="notmodified":(l=u.state,a=u.data,i=!(s=u.error))):(s=l,!t&&l||(l="error",t<0&&(t=0))),P.status=t,P.statusText=(n||l)+"",i?O.resolveWith(D,[a,l,P]):O.rejectWith(D,[P,l,s]),P.statusCode(q),q=void 0,E&&L.trigger(i?"ajaxSuccess":"ajaxError",[P,j,i?a:s]),_.fireWith(D,[P,l]),E&&(L.trigger("ajaxComplete",[P,j]),--e.active||e.event.trigger("ajaxStop")))}return P},getJSON:function(t,n,r){return e.get(t,n,r,"json")},getScript:function(t,n){return e.get(t,void 0,n,"script")}}),e.each(["get","post"],function(t,r){e[r]=function(t,o,i,a){return n(o)&&(a=a||i,i=o,o=void 0),e.ajax(e.extend({url:t,type:r,dataType:a,data:o,success:i},e.isPlainObject(t)&&t))}}),e}.apply(t,r))||(e.exports=o)},function(e,t,n){var r,o;r=[n(0),n(2),n(20),n(1),n(6),n(27),n(22),n(5),n(7),n(4),n(3)],void 0===(o=function(e,t,n,r,o,i,a,s,u){"use strict";var c=/^key/,l=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,f=/^([^.]*)(?:\.(.+)|)/;function p(){return!0}function d(){return!1}function h(e,n){return e===function(){try{return t.activeElement}catch(e){}}()==("focus"===n)}function v(t,n,r,o,i,a){var s,u;if("object"==typeof n){for(u in"string"!=typeof r&&(o=o||r,r=void 0),n)v(t,u,r,o,n[u],a);return t}if(null==o&&null==i?(i=r,o=r=void 0):null==i&&("string"==typeof r?(i=o,o=void 0):(i=o,o=r,r=void 0)),!1===i)i=d;else if(!i)return t;return 1===a&&(s=i,(i=function(t){return e().off(t),s.apply(this,arguments)}).guid=s.guid||(s.guid=e.guid++)),t.each(function(){e.event.add(this,n,i,o,r)})}function g(t,n,r){r?(s.set(t,n,!1),e.event.add(t,n,{namespace:!1,handler:function(t){var o,i,u=s.get(this,n);if(1&t.isTrigger&&this[n]){if(u.length)(e.event.special[n]||{}).delegateType&&t.stopPropagation();else if(u=a.call(arguments),s.set(this,n,u),o=r(this,n),this[n](),u!==(i=s.get(this,n))||o?s.set(this,n,!1):i={},u!==i)return t.stopImmediatePropagation(),t.preventDefault(),i.value}else u.length&&(s.set(this,n,{value:e.event.trigger(e.extend(u[0],e.Event.prototype),u.slice(1),this)}),t.stopImmediatePropagation())}})):void 0===s.get(t,n)&&e.event.add(t,n,p)}return e.event={global:{},add:function(t,r,i,a,u){var c,l,p,d,h,v,g,m,y,x,b,w=s.get(t);if(w)for(i.handler&&(i=(c=i).handler,u=c.selector),u&&e.find.matchesSelector(n,u),i.guid||(i.guid=e.guid++),(d=w.events)||(d=w.events={}),(l=w.handle)||(l=w.handle=function(n){return void 0!==e&&e.event.triggered!==n.type?e.event.dispatch.apply(t,arguments):void 0}),h=(r=(r||"").match(o)||[""]).length;h--;)y=b=(p=f.exec(r[h])||[])[1],x=(p[2]||"").split(".").sort(),y&&(g=e.event.special[y]||{},y=(u?g.delegateType:g.bindType)||y,g=e.event.special[y]||{},v=e.extend({type:y,origType:b,data:a,handler:i,guid:i.guid,selector:u,needsContext:u&&e.expr.match.needsContext.test(u),namespace:x.join(".")},c),(m=d[y])||((m=d[y]=[]).delegateCount=0,g.setup&&!1!==g.setup.call(t,a,x,l)||t.addEventListener&&t.addEventListener(y,l)),g.add&&(g.add.call(t,v),v.handler.guid||(v.handler.guid=i.guid)),u?m.splice(m.delegateCount++,0,v):m.push(v),e.event.global[y]=!0)},remove:function(t,n,r,i,a){var u,c,l,p,d,h,v,g,m,y,x,b=s.hasData(t)&&s.get(t);if(b&&(p=b.events)){for(d=(n=(n||"").match(o)||[""]).length;d--;)if(m=x=(l=f.exec(n[d])||[])[1],y=(l[2]||"").split(".").sort(),m){for(v=e.event.special[m]||{},g=p[m=(i?v.delegateType:v.bindType)||m]||[],l=l[2]&&new RegExp("(^|\\.)"+y.join("\\.(?:.*\\.|)")+"(\\.|$)"),c=u=g.length;u--;)h=g[u],!a&&x!==h.origType||r&&r.guid!==h.guid||l&&!l.test(h.namespace)||i&&i!==h.selector&&("**"!==i||!h.selector)||(g.splice(u,1),h.selector&&g.delegateCount--,v.remove&&v.remove.call(t,h));c&&!g.length&&(v.teardown&&!1!==v.teardown.call(t,y,b.handle)||e.removeEvent(t,m,b.handle),delete p[m])}else for(m in p)e.event.remove(t,m+n[d],r,i,!0);e.isEmptyObject(p)&&s.remove(t,"handle events")}},dispatch:function(t){var n,r,o,i,a,u,c=e.event.fix(t),l=new Array(arguments.length),f=(s.get(this,"events")||{})[c.type]||[],p=e.event.special[c.type]||{};for(l[0]=c,n=1;n=1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==t.type||!0!==l.disabled)){for(a=[],s={},r=0;r-1:e.find(i,this,null,[l]).length),s[i]&&a.push(o);a.length&&u.push({elem:l,handlers:a})}return l=this,c-1:1===r.nodeType&&e.find.matchesSelector(r,t))){s.push(r);break}return this.pushStack(s.length>1?e.uniqueSort(s):s)},index:function(n){return n?"string"==typeof n?t.call(e(n),this[0]):t.call(this,n.jquery?n[0]:n):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(t,n){return this.pushStack(e.uniqueSort(e.merge(this.get(),e(t,n))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),e.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return n(e,"parentNode")},parentsUntil:function(e,t,r){return n(e,"parentNode",r)},next:function(e){return u(e,"nextSibling")},prev:function(e){return u(e,"previousSibling")},nextAll:function(e){return n(e,"nextSibling")},prevAll:function(e){return n(e,"previousSibling")},nextUntil:function(e,t,r){return n(e,"nextSibling",r)},prevUntil:function(e,t,r){return n(e,"previousSibling",r)},siblings:function(e){return r((e.parentNode||{}).firstChild,e)},children:function(e){return r(e.firstChild)},contents:function(t){return void 0!==t.contentDocument?t.contentDocument:(i(t,"template")&&(t=t.content||t),e.merge([],t.childNodes))}},function(t,n){e.fn[t]=function(r,o){var i=e.map(this,n,r);return"Until"!==t.slice(-5)&&(o=r),o&&"string"==typeof o&&(i=e.filter(o,i)),this.length>1&&(s[t]||e.uniqueSort(i),a.test(t)&&i.reverse()),this.pushStack(i)}}),e}.apply(t,r))||(e.exports=o)},function(e,t,n){var r,o;r=[n(0),n(1),n(22),n(31)],void 0===(o=function(e,t,n){"use strict";function r(e){return e}function o(e){throw e}function i(e,n,r,o){var i;try{e&&t(i=e.promise)?i.call(e).done(n).fail(r):e&&t(i=e.then)?i.call(e,n,r):n.apply(void 0,[e].slice(o))}catch(e){r.apply(void 0,[e])}}return e.extend({Deferred:function(n){var i=[["notify","progress",e.Callbacks("memory"),e.Callbacks("memory"),2],["resolve","done",e.Callbacks("once memory"),e.Callbacks("once memory"),0,"resolved"],["reject","fail",e.Callbacks("once memory"),e.Callbacks("once memory"),1,"rejected"]],a="pending",s={state:function(){return a},always:function(){return u.done(arguments).fail(arguments),this},catch:function(e){return s.then(null,e)},pipe:function(){var n=arguments;return e.Deferred(function(r){e.each(i,function(e,o){var i=t(n[o[4]])&&n[o[4]];u[o[1]](function(){var e=i&&i.apply(this,arguments);e&&t(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[o[0]+"With"](this,i?[e]:arguments)})}),n=null}).promise()},then:function(n,a,s){var u=0;function c(n,i,a,s){return function(){var l=this,f=arguments,p=function(){var e,p;if(!(n=u&&(a!==o&&(l=void 0,f=[t]),i.rejectWith(l,f))}};n?d():(e.Deferred.getStackHook&&(d.stackTrace=e.Deferred.getStackHook()),window.setTimeout(d))}}return e.Deferred(function(e){i[0][3].add(c(0,e,t(s)?s:r,e.notifyWith)),i[1][3].add(c(0,e,t(n)?n:r)),i[2][3].add(c(0,e,t(a)?a:o))}).promise()},promise:function(t){return null!=t?e.extend(t,s):s}},u={};return e.each(i,function(e,t){var n=t[2],r=t[5];s[t[1]]=n.add,r&&n.add(function(){a=r},i[3-e][2].disable,i[3-e][3].disable,i[0][2].lock,i[0][3].lock),n.add(t[3].fire),u[t[0]]=function(){return u[t[0]+"With"](this===u?void 0:this,arguments),this},u[t[0]+"With"]=n.fireWith}),s.promise(u),n&&n.call(u,u),u},when:function(r){var o=arguments.length,a=o,s=Array(a),u=n.call(arguments),c=e.Deferred(),l=function(e){return function(t){s[e]=this,u[e]=arguments.length>1?n.call(arguments):t,--o||c.resolveWith(s,u)}};if(o<=1&&(i(r,c.done(l(a)).resolve,c.reject,!o),"pending"===c.state()||t(u[a]&&u[a].then)))return c.then();for(;a--;)i(u[a],l(a),c.reject);return c.promise()}}),e}.apply(t,r))||(e.exports=o)},function(e,t,n){var r,o;r=[n(23),n(63)],void 0===(o=function(e,t){"use strict";return function(n){return null==n?n+"":"object"==typeof n||"function"==typeof n?e[t.call(n)]||"object":typeof n}}.apply(t,r))||(e.exports=o)},function(e,t,n){var r;void 0===(r=function(){"use strict";var e=/^-ms-/,t=/-([a-z])/g;function n(e,t){return t.toUpperCase()}return function(r){return r.replace(e,"ms-").replace(t,n)}}.apply(t,[]))||(e.exports=r)},function(e,t,n){var r;void 0===(r=function(){"use strict";return function(e){return null!=e&&e===e.window}}.call(t,n,t,e))||(e.exports=r)},function(e,t,n){var r;void 0===(r=function(){"use strict";return[]}.call(t,n,t,e))||(e.exports=r)},function(e,t,n){var r,o;r=[n(0),n(8),n(15),n(32),n(34),n(35),n(59),n(58),n(66),n(57),n(56),n(33),n(55),n(4),n(51),n(3)],void 0===(o=function(e,t,n,r,o,i,a,s,u,c,l,f,p){"use strict";var d=/^(none|table(?!-c[ea]).+)/,h=/^--/,v={position:"absolute",visibility:"hidden",display:"block"},g={letterSpacing:"0",fontWeight:"400"};function m(e,t,n){var o=r.exec(t);return o?Math.max(0,o[2]-(n||0))+(o[3]||"px"):t}function y(t,n,r,o,a,s){var u="width"===n?1:0,c=0,l=0;if(r===(o?"border":"content"))return 0;for(;u<4;u+=2)"margin"===r&&(l+=e.css(t,r+i[u],!0,a)),o?("content"===r&&(l-=e.css(t,"padding"+i[u],!0,a)),"margin"!==r&&(l-=e.css(t,"border"+i[u]+"Width",!0,a))):(l+=e.css(t,"padding"+i[u],!0,a),"padding"!==r?l+=e.css(t,"border"+i[u]+"Width",!0,a):c+=e.css(t,"border"+i[u]+"Width",!0,a));return!o&&s>=0&&(l+=Math.max(0,Math.ceil(t["offset"+n[0].toUpperCase()+n.slice(1)]-s-l-c-.5))||0),l}function x(t,n,r){var i=a(t),s=(!f.boxSizingReliable()||r)&&"border-box"===e.css(t,"boxSizing",!1,i),c=s,l=u(t,n,i),p="offset"+n[0].toUpperCase()+n.slice(1);if(o.test(l)){if(!r)return l;l="auto"}return(!f.boxSizingReliable()&&s||"auto"===l||!parseFloat(l)&&"inline"===e.css(t,"display",!1,i))&&t.getClientRects().length&&(s="border-box"===e.css(t,"boxSizing",!1,i),(c=p in t)&&(l=t[p])),(l=parseFloat(l)||0)+y(t,n,r||(s?"border":"content"),c,i,l)+"px"}return e.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=u(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(t,o,i,a){if(t&&3!==t.nodeType&&8!==t.nodeType&&t.style){var s,u,l,d=n(o),v=h.test(o),g=t.style;if(v||(o=p(d)),l=e.cssHooks[o]||e.cssHooks[d],void 0===i)return l&&"get"in l&&void 0!==(s=l.get(t,!1,a))?s:g[o];"string"===(u=typeof i)&&(s=r.exec(i))&&s[1]&&(i=c(t,o,s),u="number"),null!=i&&i==i&&("number"!==u||v||(i+=s&&s[3]||(e.cssNumber[d]?"":"px")),f.clearCloneStyle||""!==i||0!==o.indexOf("background")||(g[o]="inherit"),l&&"set"in l&&void 0===(i=l.set(t,i,a))||(v?g.setProperty(o,i):g[o]=i))}},css:function(t,r,o,i){var a,s,c,l=n(r);return h.test(r)||(r=p(l)),(c=e.cssHooks[r]||e.cssHooks[l])&&"get"in c&&(a=c.get(t,!0,o)),void 0===a&&(a=u(t,r,i)),"normal"===a&&r in g&&(a=g[r]),""===o||o?(s=parseFloat(a),!0===o||isFinite(s)?s||0:a):a}}),e.each(["height","width"],function(t,n){e.cssHooks[n]={get:function(t,r,o){if(r)return!d.test(e.css(t,"display"))||t.getClientRects().length&&t.getBoundingClientRect().width?x(t,n,o):s(t,v,function(){return x(t,n,o)})},set:function(t,o,i){var s,u=a(t),c=!f.scrollboxSize()&&"absolute"===u.position,l=(c||i)&&"border-box"===e.css(t,"boxSizing",!1,u),p=i?y(t,n,i,l,u):0;return l&&c&&(p-=Math.ceil(t["offset"+n[0].toUpperCase()+n.slice(1)]-parseFloat(u[n])-y(t,n,"border",!1,u)-.5)),p&&(s=r.exec(o))&&"px"!==(s[3]||"px")&&(t.style[n]=o,o=e.css(t,n)),m(0,o,p)}}}),e.cssHooks.marginLeft=l(f.reliableMarginLeft,function(e,t){if(t)return(parseFloat(u(e,"marginLeft"))||e.getBoundingClientRect().left-s(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),e.each({margin:"",padding:"",border:"Width"},function(t,n){e.cssHooks[t+n]={expand:function(e){for(var r=0,o={},a="string"==typeof e?e.split(" "):[e];r<4;r++)o[t+i[r]+n]=a[r]||a[r-2]||a[0];return o}},"margin"!==t&&(e.cssHooks[t+n].set=m)}),e.fn.extend({css:function(n,r){return t(this,function(t,n,r){var o,i,s={},u=0;if(Array.isArray(n)){for(o=a(t),i=n.length;u1)}}),e}.apply(t,r))||(e.exports=o)},function(e,t,n){var r,o;r=[n(0),n(21),n(65),n(1),n(64),n(27),n(8),n(46),n(45),n(44),n(43),n(42),n(47),n(96),n(5),n(49),n(30),n(61),n(7),n(4),n(12),n(3),n(11)],void 0===(o=function(e,t,n,r,o,i,a,s,u,c,l,f,p,d,h,v,g,m,y){"use strict";var x=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,b=/\s*$/g;function T(t,n){return y(t,"table")&&y(11!==n.nodeType?n:n.firstChild,"tr")&&e(t).children("tbody")[0]||t}function k(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function S(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function E(t,n){var r,o,i,a,s,u,c,l;if(1===n.nodeType){if(h.hasData(t)&&(a=h.access(t),s=h.set(n,a),l=a.events))for(i in delete s.handle,s.events={},l)for(r=0,o=l[i].length;r1&&"string"==typeof E&&!d.checkClone&&w.test(E))return t.each(function(e){var n=t.eq(e);N&&(o[0]=E.call(this,e,n.html())),A(n,o,i,a)});if(b&&(c=(s=p(o,t[0].ownerDocument,!1,t,a)).firstChild,1===s.childNodes.length&&(s=c),c||a)){for(v=(f=e.map(l(s,"script"),k)).length;x")},clone:function(n,r,o){var i,a,s,u,c=n.cloneNode(!0),p=t(n);if(!(d.noCloneChecked||1!==n.nodeType&&11!==n.nodeType||e.isXMLDoc(n)))for(u=l(c),i=0,a=(s=l(n)).length;i0&&f(u,!p&&l(n,"script")),c},cleanData:function(t){for(var n,r,o,i=e.event.special,a=0;void 0!==(r=t[a]);a++)if(g(r)){if(n=r[h.expando]){if(n.events)for(o in n.events)i[o]?e.event.remove(r,o):e.removeEvent(r,o,n.handle);r[h.expando]=void 0}r[v.expando]&&(r[v.expando]=void 0)}}}),e.fn.extend({detach:function(e){return j(this,e,!0)},remove:function(e){return j(this,e)},text:function(t){return a(this,function(t){return void 0===t?e.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=t)})},null,t,arguments.length)},append:function(){return A(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||T(this,e).appendChild(e)})},prepend:function(){return A(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=T(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return A(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return A(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var t,n=0;null!=(t=this[n]);n++)1===t.nodeType&&(e.cleanData(l(t,!1)),t.textContent="");return this},clone:function(t,n){return t=null!=t&&t,n=null==n?t:n,this.map(function(){return e.clone(this,t,n)})},html:function(t){return a(this,function(t){var n=this[0]||{},r=0,o=this.length;if(void 0===t&&1===n.nodeType)return n.innerHTML;if("string"==typeof t&&!b.test(t)&&!c[(s.exec(t)||["",""])[1].toLowerCase()]){t=e.htmlPrefilter(t);try{for(;r-1&&(C=(T=C.split(".")).shift(),T.sort()),m=C.indexOf(":")<0&&"on"+C,(c=c[e.expando]?c:new e.Event(C,"object"==typeof c&&c)).isTrigger=p?2:3,c.namespace=T.join("."),c.rnamespace=c.namespace?new RegExp("(^|\\.)"+T.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,c.result=void 0,c.target||(c.target=f),l=null==l?[c]:e.makeArray(l,[c]),x=e.event.special[C]||{},p||!x.trigger||!1!==x.trigger.apply(f,l))){if(!p&&!x.noBubble&&!a(f)){for(g=x.delegateType||C,s.test(g+C)||(h=h.parentNode);h;h=h.parentNode)w.push(h),v=h;v===(f.ownerDocument||t)&&w.push(v.defaultView||v.parentWindow||window)}for(d=0;(h=w[d++])&&!c.isPropagationStopped();)b=h,c.type=d>1?g:x.bindType||C,(y=(n.get(h,"events")||{})[c.type]&&n.get(h,"handle"))&&y.apply(h,l),(y=m&&h[m])&&y.apply&&r(h)&&(c.result=y.apply(h,l),!1===c.result&&c.preventDefault());return c.type=C,p||c.isDefaultPrevented()||x._default&&!1!==x._default.apply(w.pop(),l)||!r(f)||m&&i(f[C])&&!a(f)&&((v=f[m])&&(f[m]=null),e.event.triggered=C,c.isPropagationStopped()&&b.addEventListener(C,u),f[C](),c.isPropagationStopped()&&b.removeEventListener(C,u),e.event.triggered=void 0,v&&(f[m]=v)),c.result}},simulate:function(t,n,r){var o=e.extend(new e.Event,r,{type:t,isSimulated:!0});e.event.trigger(o,null,n)}}),e.fn.extend({trigger:function(t,n){return this.each(function(){e.event.trigger(t,n,this)})},triggerHandler:function(t,n){var r=this[0];if(r)return e.event.trigger(t,n,r,!0)}}),e}.apply(t,r))||(e.exports=o)},function(e,t,n){var r,o;r=[n(6)],void 0===(o=function(e){"use strict";return function(t){return(t.match(e)||[]).join(" ")}}.apply(t,r))||(e.exports=o)},function(e,t,n){var r,o;r=[n(2),n(9)],void 0===(o=function(e,t){"use strict";return function(){var n=e.createElement("input"),r=e.createElement("select").appendChild(e.createElement("option"));n.type="checkbox",t.checkOn=""!==n.value,t.optSelected=r.selected,(n=e.createElement("input")).value="t",n.type="radio",t.radioValue="t"===n.value}(),t}.apply(t,r))||(e.exports=o)},function(e,t,n){var r;void 0===(r=function(){"use strict";return/^(?:checkbox|radio)$/i}.call(t,n,t,e))||(e.exports=r)},function(e,t,n){var r,o;r=[n(0),n(15),n(2),n(1),n(32),n(6),n(35),n(48),n(58),n(57),n(5),n(97),n(4),n(29),n(13),n(12),n(19),n(18),n(95)],void 0===(o=function(e,t,n,r,o,i,a,s,u,c,l,f){"use strict";var p,d,h=/^(?:toggle|show|hide)$/,v=/queueHooks$/;function g(){d&&(!1===n.hidden&&window.requestAnimationFrame?window.requestAnimationFrame(g):window.setTimeout(g,e.fx.interval),e.fx.tick())}function m(){return window.setTimeout(function(){p=void 0}),p=Date.now()}function y(e,t){var n,r=0,o={height:e};for(t=t?1:0;r<4;r+=2-t)o["margin"+(n=a[r])]=o["padding"+n]=e;return t&&(o.opacity=o.width=e),o}function x(e,t,n){for(var r,o=(b.tweeners[t]||[]).concat(b.tweeners["*"]),i=0,a=o.length;i-1;)c.splice(r,1),r<=f&&f--}),this},has:function(t){return t?e.inArray(t,c)>-1:c.length>0},empty:function(){return c&&(c=[]),this},disable:function(){return u=l=[],c=a="",this},disabled:function(){return!c},lock:function(){return u=l=[],a||i||(c=a=""),this},locked:function(){return!!u},fireWith:function(e,t){return u||(t=[e,(t=t||[]).slice?t.slice():t],l.push(t),i||p()),this},fire:function(){return d.fireWith(this,arguments),this},fired:function(){return!!s}};return d},e}.apply(t,r))||(e.exports=o)},function(e,t,n){var r,o;r=[n(60)],void 0===(o=function(e){"use strict";return new RegExp("^(?:([+-])=|)("+e+")([a-z%]*)$","i")}.apply(t,r))||(e.exports=o)},function(e,t,n){var r,o;r=[n(0),n(2),n(20),n(9)],void 0===(o=function(e,t,n,r){"use strict";return function(){function o(){if(p){f.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",p.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",n.appendChild(f).appendChild(p);var e=window.getComputedStyle(p);a="1%"!==e.top,l=12===i(e.marginLeft),p.style.right="60%",c=36===i(e.right),s=36===i(e.width),p.style.position="absolute",u=12===i(p.offsetWidth/3),n.removeChild(f),p=null}}function i(e){return Math.round(parseFloat(e))}var a,s,u,c,l,f=t.createElement("div"),p=t.createElement("div");p.style&&(p.style.backgroundClip="content-box",p.cloneNode(!0).style.backgroundClip="",r.clearCloneStyle="content-box"===p.style.backgroundClip,e.extend(r,{boxSizingReliable:function(){return o(),s},pixelBoxStyles:function(){return o(),c},pixelPosition:function(){return o(),a},reliableMarginLeft:function(){return o(),l},scrollboxSize:function(){return o(),u}}))}(),r}.apply(t,r))||(e.exports=o)},function(e,t,n){var r,o;r=[n(60)],void 0===(o=function(e){"use strict";return new RegExp("^("+e+")(?!px)[a-z%]+$","i")}.apply(t,r))||(e.exports=o)},function(e,t,n){var r;void 0===(r=function(){"use strict";return["Top","Right","Bottom","Left"]}.call(t,n,t,e))||(e.exports=r)},function(e,t,n){var r,o;r=[n(17)],void 0===(o=function(e){"use strict";return e.indexOf}.apply(t,r))||(e.exports=o)},function(e,t,n){var r,o;r=[n(23)],void 0===(o=function(e){"use strict";return e.hasOwnProperty}.apply(t,r))||(e.exports=o)},function(e,t,n){var r,o;r=[n(0),n(14),n(27),n(1),n(4),n(12),n(41)],void 0===(o=function(e,t,n,r){"use strict";var o=/\[\]$/,i=/\r?\n/g,a=/^(?:submit|button|image|reset|file)$/i,s=/^(?:input|select|textarea|keygen)/i;function u(n,r,i,a){var s;if(Array.isArray(r))e.each(r,function(e,t){i||o.test(n)?a(n,t):u(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,i,a)});else if(i||"object"!==t(r))a(n,r);else for(s in r)u(n+"["+s+"]",r[s],i,a)}return e.param=function(t,n){var o,i=[],a=function(e,t){var n=r(t)?t():t;i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==t)return"";if(Array.isArray(t)||t.jquery&&!e.isPlainObject(t))e.each(t,function(){a(this.name,this.value)});else for(o in t)u(o,t[o],n,a);return i.join("&")},e.fn.extend({serialize:function(){return e.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var t=e.prop(this,"elements");return t?e.makeArray(t):this}).filter(function(){var t=this.type;return this.name&&!e(this).is(":disabled")&&s.test(this.nodeName)&&!a.test(t)&&(this.checked||!n.test(t))}).map(function(t,n){var r=e(this).val();return null==r?null:Array.isArray(r)?e.map(r,function(e){return{name:n.name,value:e.replace(i,"\r\n")}}):{name:n.name,value:r.replace(i,"\r\n")}}).get()}}),e}.apply(t,r))||(e.exports=o)},function(e,t,n){var r;void 0===(r=function(){"use strict";return Date.now()}.call(t,n,t,e))||(e.exports=r)},function(e,t,n){var r;void 0===(r=function(){"use strict";return/\?/}.call(t,n,t,e))||(e.exports=r)},function(e,t,n){var r,o;r=[n(0),n(8),n(26),n(3)],void 0===(o=function(e,t,n){"use strict";var r=/^(?:input|select|textarea|button)$/i,o=/^(?:a|area)$/i;e.fn.extend({prop:function(n,r){return t(this,e.prop,n,r,arguments.length>1)},removeProp:function(t){return this.each(function(){delete this[e.propFix[t]||t]})}}),e.extend({prop:function(t,n,r){var o,i,a=t.nodeType;if(3!==a&&8!==a&&2!==a)return 1===a&&e.isXMLDoc(t)||(n=e.propFix[n]||n,i=e.propHooks[n]),void 0!==r?i&&"set"in i&&void 0!==(o=i.set(t,r,n))?o:t[n]=r:i&&"get"in i&&null!==(o=i.get(t,n))?o:t[n]},propHooks:{tabIndex:{get:function(t){var n=e.find.attr(t,"tabindex");return n?parseInt(n,10):r.test(t.nodeName)||o.test(t.nodeName)&&t.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),n.optSelected||(e.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),e.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){e.propFix[this.toLowerCase()]=this})}.apply(t,r))||(e.exports=o)},function(e,t,n){var r,o;r=[n(5)],void 0===(o=function(e){"use strict";return function(t,n){for(var r=0,o=t.length;r",""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};return e.optgroup=e.option,e.tbody=e.tfoot=e.colgroup=e.caption=e.thead,e.th=e.td,e}.call(t,n,t,e))||(e.exports=r)},function(e,t,n){var r;void 0===(r=function(){"use strict";return/^$|^module$|\/(?:java|ecma)script/i}.call(t,n,t,e))||(e.exports=r)},function(e,t,n){var r;void 0===(r=function(){"use strict";return/<([a-z][^\/\0>\x20\t\r\n\f]*)/i}.call(t,n,t,e))||(e.exports=r)},function(e,t,n){var r,o;r=[n(0),n(14),n(21),n(46),n(45),n(44),n(43),n(42)],void 0===(o=function(e,t,n,r,o,i,a,s){"use strict";var u=/<|&#?\w+;/;return function(c,l,f,p,d){for(var h,v,g,m,y,x,b=l.createDocumentFragment(),w=[],C=0,T=c.length;C-1)d&&d.push(h);else if(y=n(h),v=a(b.appendChild(h),"script"),y&&s(v),f)for(x=0;h=v[x++];)o.test(h.type||"")&&f.push(h);return b}}.apply(t,r))||(e.exports=o)},function(e,t,n){var r,o;r=[n(0),n(21)],void 0===(o=function(e,t){"use strict";return function(n,r){return"none"===(n=r||n).style.display||""===n.style.display&&t(n)&&"none"===e.css(n,"display")}}.apply(t,r))||(e.exports=o)},function(e,t,n){var r,o;r=[n(50)],void 0===(o=function(e){"use strict";return new e}.apply(t,r))||(e.exports=o)},function(e,t,n){var r,o;r=[n(0),n(15),n(6),n(30)],void 0===(o=function(e,t,n,r){"use strict";function o(){this.expando=e.expando+o.uid++}return o.uid=1,o.prototype={cache:function(e){var t=e[this.expando];return t||(t={},r(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,n,r){var o,i=this.cache(e);if("string"==typeof n)i[t(n)]=r;else for(o in n)i[t(o)]=n[o];return i},get:function(e,n){return void 0===n?this.cache(e):e[this.expando]&&e[this.expando][t(n)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(r,o){var i,a=r[this.expando];if(void 0!==a){if(void 0!==o){i=(o=Array.isArray(o)?o.map(t):(o=t(o))in a?[o]:o.match(n)||[]).length;for(;i--;)delete a[o[i]]}(void 0===o||e.isEmptyObject(a))&&(r.nodeType?r[this.expando]=void 0:delete r[this.expando])}},hasData:function(t){var n=t[this.expando];return void 0!==n&&!e.isEmptyObject(n)}},o}.apply(t,r))||(e.exports=o)},function(e,t,n){var r,o;r=[n(0),n(2),n(103),n(13)],void 0===(o=function(e,t){"use strict";var n=e.Deferred();function r(){t.removeEventListener("DOMContentLoaded",r),window.removeEventListener("load",r),e.ready()}e.fn.ready=function(t){return n.then(t).catch(function(t){e.readyException(t)}),this},e.extend({isReady:!1,readyWait:1,ready:function(r){(!0===r?--e.readyWait:e.isReady)||(e.isReady=!0,!0!==r&&--e.readyWait>0||n.resolveWith(t,[e]))}}),e.ready.then=n.then,"complete"===t.readyState||"loading"!==t.readyState&&!t.documentElement.doScroll?window.setTimeout(e.ready):(t.addEventListener("DOMContentLoaded",r),window.addEventListener("load",r))}.apply(t,r))||(e.exports=o)},function(e,t,n){var r,o;r=[n(0),n(3)],void 0===(o=function(e){"use strict";return e.expr.match.needsContext}.apply(t,r))||(e.exports=o)},function(e,t,n){var r,o;r=[n(0),n(36),n(1),n(52),n(3)],void 0===(o=function(e,t,n,r){"use strict";function o(r,o,i){return n(o)?e.grep(r,function(e,t){return!!o.call(e,t,e)!==i}):o.nodeType?e.grep(r,function(e){return e===o!==i}):"string"!=typeof o?e.grep(r,function(e){return t.call(o,e)>-1!==i}):e.filter(o,r,i)}e.filter=function(t,n,r){var o=n[0];return r&&(t=":not("+t+")"),1===n.length&&1===o.nodeType?e.find.matchesSelector(o,t)?[o]:[]:e.find.matches(t,e.grep(n,function(e){return 1===e.nodeType}))},e.fn.extend({find:function(t){var n,r,o=this.length,i=this;if("string"!=typeof t)return this.pushStack(e(t).filter(function(){for(n=0;n1?e.uniqueSort(r):r},filter:function(e){return this.pushStack(o(this,e||[],!1))},not:function(e){return this.pushStack(o(this,e||[],!0))},is:function(t){return!!o(this,"string"==typeof t&&r.test(t)?e(t):t||[],!1).length}})}.apply(t,r))||(e.exports=o)},function(e,t,n){var r;void 0===(r=function(){"use strict";return/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i}.call(t,n,t,e))||(e.exports=r)},function(e,t,n){var r,o;r=[n(2),n(0)],void 0===(o=function(e,t){"use strict";var n=["Webkit","Moz","ms"],r=e.createElement("div").style,o={};return function(e){var i=t.cssProps[e]||o[e];return i||(e in r?e:o[e]=function(e){for(var t=e[0].toUpperCase()+e.slice(1),o=n.length;o--;)if((e=n[o]+t)in r)return e}(e)||e)}}.apply(t,r))||(e.exports=o)},function(e,t,n){var r;void 0===(r=function(){"use strict";return function(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}}.call(t,n,t,e))||(e.exports=r)},function(e,t,n){var r,o;r=[n(0),n(32)],void 0===(o=function(e,t){"use strict";return function(n,r,o,i){var a,s,u=20,c=i?function(){return i.cur()}:function(){return e.css(n,r,"")},l=c(),f=o&&o[3]||(e.cssNumber[r]?"":"px"),p=n.nodeType&&(e.cssNumber[r]||"px"!==f&&+l)&&t.exec(e.css(n,r));if(p&&p[3]!==f){for(l/=2,f=f||p[3],p=+l||1;u--;)e.style(n,r,p+f),(1-s)*(1-(s=c()/l||.5))<=0&&(u=0),p/=s;p*=2,e.style(n,r,p+f),o=o||[]}return o&&(p=+p||+l||0,a=o[1]?p+(o[1]+1)*o[2]:+o[2],i&&(i.unit=f,i.start=p,i.end=a)),a}}.apply(t,r))||(e.exports=o)},function(e,t,n){var r;void 0===(r=function(){"use strict";return function(e,t,n,r){var o,i,a={};for(i in t)a[i]=e.style[i],e.style[i]=t[i];for(i in o=n.apply(e,r||[]),t)e.style[i]=a[i];return o}}.call(t,n,t,e))||(e.exports=r)},function(e,t,n){var r;void 0===(r=function(){"use strict";return function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=window),t.getComputedStyle(e)}}.call(t,n,t,e))||(e.exports=r)},function(e,t,n){var r;void 0===(r=function(){"use strict";return/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source}.call(t,n,t,e))||(e.exports=r)},function(e,t,n){var r,o;r=[n(2)],void 0===(o=function(e){"use strict";var t={type:!0,src:!0,nonce:!0,noModule:!0};return function(n,r,o){var i,a,s=(o=o||e).createElement("script");if(s.text=n,r)for(i in t)(a=r[i]||r.getAttribute&&r.getAttribute(i))&&s.setAttribute(i,a);o.head.appendChild(s).parentNode.removeChild(s)}}.apply(t,r))||(e.exports=o)},function(e,t,n){var r,o;r=[n(37)],void 0===(o=function(e){"use strict";return e.toString}.apply(t,r))||(e.exports=o)},function(e,t,n){var r,o;r=[n(23)],void 0===(o=function(e){"use strict";return e.toString}.apply(t,r))||(e.exports=o)},function(e,t,n){var r,o;r=[n(17)],void 0===(o=function(e){"use strict";return e.push}.apply(t,r))||(e.exports=o)},function(e,t,n){var r,o;r=[n(17)],void 0===(o=function(e){"use strict";return e.concat}.apply(t,r))||(e.exports=o)},function(e,t,n){var r,o;r=[n(0),n(21),n(104),n(34),n(59),n(33)],void 0===(o=function(e,t,n,r,o,i){"use strict";return function(a,s,u){var c,l,f,p,d=a.style;return(u=u||o(a))&&(""!==(p=u.getPropertyValue(s)||u[s])||t(a)||(p=e.style(a,s)),!i.pixelBoxStyles()&&r.test(p)&&n.test(s)&&(c=d.width,l=d.minWidth,f=d.maxWidth,d.minWidth=d.maxWidth=d.width=p,p=u.width,d.width=c,d.minWidth=l,d.maxWidth=f)),void 0!==p?p+"":p}}.apply(t,r))||(e.exports=o)},function(e,t,n){var r,o;r=[n(0),n(3),n(12),n(31),n(13),n(100),n(51),n(99),n(29),n(98),n(94),n(11),n(90),n(19),n(88),n(85),n(18),n(84),n(38),n(10),n(83),n(82),n(81),n(80),n(77),n(28),n(76),n(75),n(74),n(73),n(71),n(70)],void 0===(o=function(e){"use strict";return e}.apply(t,r))||(e.exports=o)},function(e,t,n){"use strict";var r=function(e,t,n,r){var o;if(o=r?document.createElementNS("http://www.w3.org/2000/svg",e):document.createElement(e),n){Array.isArray(n)||(n=[n]);for(var i=0;i6&&n<10)return(0|(t=e/1e6))===t||0===Math.round(e%1e6/1e5)?(0|t)+"M":(0|t)+"."+Math.round(e%1e6/1e5)+"M";if(n>5)return(0|(t=e/1e3))===t||0===Math.round(e%1e3/100)?(0|t)+"K":(0|t)+"."+Math.round(e%1e3/100)+"K";if(n>3){var r=e%1e3|0;return r<10?r="00"+r:r<100&&(r="0"+r),(e/1e3|0)+","+r}return(0|e)+""},Animate:{show:function(e,t){"undefined"===t&&(t=0),e.style.display="block",e.style.opacity=0,setTimeout(function(){e.style.opacity=1},t)},hide:function(e,t){window.getComputedStyle(e).opacity>0&&(void 0===t&&(t=500),e.style.opacity=0,setTimeout(function(){e.style.display="none"},t))}},ComponentProto:{attach:function(e){return this.node?(e.appendChild(this.node),this):null},remove:function(){return this.node&&this.node.parentNode?(this.node.parentNode.removeChild(this.node),this):null}}};e.exports=o},function(e,t,n){"use strict";var r,o,i,a,s,u=window,c={},l=function(){},f=function(e,t){if(function(e){return null===e.offsetParent}(e))return!1;var n=e.getBoundingClientRect();return n.right>=t.l&&n.bottom>=t.t&&n.left<=t.r&&n.top<=t.b},p=function(){!a&&o||(clearTimeout(o),o=setTimeout(function(){c.render(),o=null},i))};c.init=function(e){var t=(e=e||{}).offset||0,n=e.offsetVertical||t,o=e.offsetHorizontal||t,f=function(e,t){return parseInt(e||t,10)};r={t:f(e.offsetTop,n),b:f(e.offsetBottom,n),l:f(e.offsetLeft,o),r:f(e.offsetRight,o)},i=f(e.throttle,250),a=!1!==e.debounce,s=!!e.unload,l=e.callback||l,c.render(),document.addEventListener?(u.addEventListener("scroll",p,!1),u.addEventListener("load",p,!1)):(u.attachEvent("onscroll",p),u.attachEvent("onload",p))},c.render=function(e){for(var t,n,o=(e||document).querySelectorAll("[data-echo], [data-echo-background]"),i=o.length,a={l:0-r.l,t:0-r.t,b:(u.innerHeight||document.documentElement.clientHeight)+r.b,r:(u.innerWidth||document.documentElement.clientWidth)+r.r},p=0;p0?this.on(n,null,e,t):this.trigger(n)}}),e.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}})}.apply(t,r))||(e.exports=o)},function(e,t,n){var r,o;r=[n(0),n(7),n(15),n(14),n(1),n(16),n(22),n(72)],void 0===(o=function(e,t,n,r,o,i,a){"use strict";e.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),e.proxy=function(t,n){var r,i,s;if("string"==typeof n&&(r=t[n],n=t,t=r),o(t))return i=a.call(arguments,2),(s=function(){return t.apply(n||this,i.concat(a.call(arguments)))}).guid=t.guid=t.guid||e.guid++,s},e.holdReady=function(t){t?e.readyWait++:e.ready(!0)},e.isArray=Array.isArray,e.parseJSON=JSON.parse,e.nodeName=t,e.isFunction=o,e.isWindow=i,e.camelCase=n,e.type=r,e.now=Date.now,e.isNumeric=function(t){var n=e.type(t);return("number"===n||"string"===n)&&!isNaN(t-parseFloat(t))}}.apply(t,r))||(e.exports=o)},function(e,t,n){var r,o;r=[n(0),n(8),n(16),n(18)],void 0===(o=function(e,t,n){"use strict";return e.each({Height:"height",Width:"width"},function(r,o){e.each({padding:"inner"+r,content:o,"":"outer"+r},function(i,a){e.fn[a]=function(s,u){var c=arguments.length&&(i||"boolean"!=typeof s),l=i||(!0===s||!0===u?"margin":"border");return t(this,function(t,o,i){var s;return n(t)?0===a.indexOf("outer")?t["inner"+r]:t.document.documentElement["client"+r]:9===t.nodeType?(s=t.documentElement,Math.max(t.body["scroll"+r],s["scroll"+r],t.body["offset"+r],s["offset"+r],s["client"+r])):void 0===i?e.css(t,o,l):e.style(t,o,i,l)},o,c?s:void 0,c)}})}),e}.apply(t,r))||(e.exports=o)},function(e,t,n){var r,o;r=[n(0),n(8),n(2),n(20),n(1),n(34),n(66),n(56),n(33),n(16),n(4),n(18),n(3)],void 0===(o=function(e,t,n,r,o,i,a,s,u,c){"use strict";return e.offset={setOffset:function(t,n,r){var i,a,s,u,c,l,f=e.css(t,"position"),p=e(t),d={};"static"===f&&(t.style.position="relative"),c=p.offset(),s=e.css(t,"top"),l=e.css(t,"left"),("absolute"===f||"fixed"===f)&&(s+l).indexOf("auto")>-1?(u=(i=p.position()).top,a=i.left):(u=parseFloat(s)||0,a=parseFloat(l)||0),o(n)&&(n=n.call(t,r,e.extend({},c))),null!=n.top&&(d.top=n.top-c.top+u),null!=n.left&&(d.left=n.left-c.left+a),"using"in n?n.using.call(t,d):p.css(d)}},e.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(n){e.offset.setOffset(this,t,n)});var n,r,o=this[0];return o?o.getClientRects().length?(n=o.getBoundingClientRect(),r=o.ownerDocument.defaultView,{top:n.top+r.pageYOffset,left:n.left+r.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var t,n,r,o=this[0],i={top:0,left:0};if("fixed"===e.css(o,"position"))n=o.getBoundingClientRect();else{for(n=this.offset(),r=o.ownerDocument,t=o.offsetParent||r.documentElement;t&&(t===r.body||t===r.documentElement)&&"static"===e.css(t,"position");)t=t.parentNode;t&&t!==o&&1===t.nodeType&&((i=e(t).offset()).top+=e.css(t,"borderTopWidth",!0),i.left+=e.css(t,"borderLeftWidth",!0))}return{top:n.top-i.top-e.css(o,"marginTop",!0),left:n.left-i.left-e.css(o,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var t=this.offsetParent;t&&"static"===e.css(t,"position");)t=t.offsetParent;return t||r})}}),e.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(n,r){var o="pageYOffset"===r;e.fn[n]=function(e){return t(this,function(e,t,n){var i;if(c(e)?i=e:9===e.nodeType&&(i=e.defaultView),void 0===n)return i?i[r]:e[t];i?i.scrollTo(o?i.pageXOffset:n,o?n:i.pageYOffset):e[t]=n},n,e,arguments.length)}}),e.each(["top","left"],function(t,n){e.cssHooks[n]=s(u.pixelPosition,function(t,r){if(r)return r=a(t,n),i.test(r)?e(t).position()[n]+"px":r})}),e}.apply(t,r))||(e.exports=o)},function(e,t,n){var r,o;r=[n(0),n(3),n(28)],void 0===(o=function(e){"use strict";e.expr.pseudos.animated=function(t){return e.grep(e.timers,function(e){return t===e.elem}).length}}.apply(t,r))||(e.exports=o)},function(e,t,n){var r,o;r=[n(0),n(11)],void 0===(o=function(e){"use strict";e.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(t,n){e.fn[n]=function(e){return this.on(n,e)}})}.apply(t,r))||(e.exports=o)},function(e,t,n){var r,o;r=[n(2),n(9)],void 0===(o=function(e,t){"use strict";return t.createHTMLDocument=function(){var t=e.implementation.createHTMLDocument("").body;return t.innerHTML="
",2===t.childNodes.length}(),t}.apply(t,r))||(e.exports=o)},function(e,t,n){var r,o;r=[n(0),n(2),n(54),n(47),n(78)],void 0===(o=function(e,t,n,r,o){"use strict";return e.parseHTML=function(i,a,s){return"string"!=typeof i?[]:("boolean"==typeof a&&(s=a,a=!1),a||(o.createHTMLDocument?((u=(a=t.implementation.createHTMLDocument("")).createElement("base")).href=t.location.href,a.head.appendChild(u)):a=t),c=n.exec(i),l=!s&&[],c?[a.createElement(c[1])]:(c=r([i],a,l),l&&l.length&&e(l).remove(),e.merge([],c.childNodes)));var u,c,l},e.parseHTML}.apply(t,r))||(e.exports=o)},function(e,t,n){var r,o;r=[n(0),n(25),n(1),n(79),n(10),n(12),n(19),n(3)],void 0===(o=function(e,t,n){"use strict";e.fn.load=function(r,o,i){var a,s,u,c=this,l=r.indexOf(" ");return l>-1&&(a=t(r.slice(l)),r=r.slice(0,l)),n(o)?(i=o,o=void 0):o&&"object"==typeof o&&(s="POST"),c.length>0&&e.ajax({url:r,type:s||"GET",dataType:"html",data:o}).done(function(t){u=arguments,c.html(a?e("
").append(e.parseHTML(t)).find(a):t)}).always(i&&function(e,t){c.each(function(){i.apply(this,u||[e.responseText,t,e])})}),this}}.apply(t,r))||(e.exports=o)},function(e,t,n){var r,o;r=[n(0),n(1),n(39),n(40),n(10)],void 0===(o=function(e,t,n,r){"use strict";var o=[],i=/(=)\?(?=&|$)|\?\?/;e.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var t=o.pop()||e.expando+"_"+n++;return this[t]=!0,t}}),e.ajaxPrefilter("json jsonp",function(n,a,s){var u,c,l,f=!1!==n.jsonp&&(i.test(n.url)?"url":"string"==typeof n.data&&0===(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&i.test(n.data)&&"data");if(f||"jsonp"===n.dataTypes[0])return u=n.jsonpCallback=t(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,f?n[f]=n[f].replace(i,"$1"+u):!1!==n.jsonp&&(n.url+=(r.test(n.url)?"&":"?")+n.jsonp+"="+u),n.converters["script json"]=function(){return l||e.error(u+" was not called"),l[0]},n.dataTypes[0]="json",c=window[u],window[u]=function(){l=arguments},s.always(function(){void 0===c?e(window).removeProp(u):window[u]=c,n[u]&&(n.jsonpCallback=a.jsonpCallback,o.push(u)),l&&t(c)&&c(l[0]),l=c=void 0}),"script"})}.apply(t,r))||(e.exports=o)},function(e,t,n){var r,o;r=[n(0),n(2),n(10)],void 0===(o=function(e,t){"use strict";e.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),e.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(t){return e.globalEval(t),t}}}),e.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),e.ajaxTransport("script",function(n){var r,o;if(n.crossDomain||n.scriptAttrs)return{send:function(i,a){r=e("